diff --git a/it_IT.ISO8859-15/articles/committers-guide/Makefile b/it_IT.ISO8859-15/articles/committers-guide/Makefile
index e27d23c4ce..cb904444bb 100644
--- a/it_IT.ISO8859-15/articles/committers-guide/Makefile
+++ b/it_IT.ISO8859-15/articles/committers-guide/Makefile
@@ -1,29 +1,19 @@
#
# $FreeBSD$
#
-# Crea la Nuova Guida per i Committer di FreeBSD
-#
+# Articolo: Guida del Committer
MAINTAINER=ale@FreeBSD.org
DOC?= article
FORMATS?= html
+WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
-WITH_ARTICLE_TOC?= YES
-
-#
-# SRCS lista i singoli files SGML che compongono il documento. Modifiche
-# a qualunque di questi files obbligano la ricreazione
-#
-
-# Contenuto SGML
-SRCS= article.sgml
+SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
-
diff --git a/it_IT.ISO8859-15/articles/committers-guide/article.sgml b/it_IT.ISO8859-15/articles/committers-guide/article.sgml
index d6185aed7e..6d2962e5bd 100644
--- a/it_IT.ISO8859-15/articles/committers-guide/article.sgml
+++ b/it_IT.ISO8859-15/articles/committers-guide/article.sgml
@@ -1,1698 +1,1763 @@
%man;
%freebsd;
%authors;
%teams;
%it-trademarks;
%trademarks;
%mailing-lists;
%translators;
]>
Guida del Committer
The FreeBSD Italian Documentation Project
$FreeBSD$
1999
2000
2001
2002
2003
2004
The FreeBSD Italian Documentation Project
&tm-attrib.freebsd;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
Questo documento fornisce informazioni per la comunità dei
committer di FreeBSD. Tutti i nuovi committer dovrebbero leggere
questo documento prima di iniziare, e i committer già esistenti
sono fortemente incoraggiati a riguardarselo di tanto in tanto.
&trans.it.alex;
Dettagli Amministrativi
Host con il Repository
Principale
ncvs.FreeBSD.org
Metodi di Accesso
&man.ssh.1;, solo protocollo 2
CVSROOT Principale
ncvs.FreeBSD.org : /home/ncvs
(guarda anche la ).
&a.cvs; Principali
&a.peter; e &a.markm;, così come &a.joe; per i
ports/
Mailing List
&a.developers;, &a.committers;
(Entrambe sono liste private; gli archivi possono essere trovati
in /home/mail/developers-archive
e /home/mail/committers-archive
sul cluster di FreeBSD.org .)
Report mensili del Core Team
/home/core/public/monthly-report
sul cluster di FreeBSD.org .
Tag CVS Degni di Nota
RELENG_4 (4.X-STABLE),
HEAD (-CURRENT)
È richiesto l'uso di &man.ssh.1; o &man.telnet.1; con
- Kerberos 5 per connettersi agli host del progetto e solo &man.ssh.1;,
- protocollo 2 ha il permesso di collegarsi all'host con il repository.
+ Kerberos 5 per connettersi agli host del progetto. Per &man.ssh.1;
+ è permesso solo il protocollo 2.
Questi sono generalmente più sicuri che un semplice &man.telnet.1;
o &man.rlogin.1; visto che la negoziazione delle credenziali
avverrà sempre in modo cifrato.
Tutto il traffico è cifrato di default
con &man.ssh.1;. Insieme a programmi di utilità come
&man.ssh-agent.1; e &man.scp.1;, anch'essi disponibili, &man.ssh.1;
è di gran lunga più conveniente. Se non sai nulla di
&man.ssh.1;, guarda la .
Tipi di Bit di Commit
Il repository CVS di FreeBSD ha un numero di componenti che, se
combinati, supportano i sorgenti di base del sistema operativo, la
documentazione, l'infrastruttura dei port delle applicazioni di terze
parti, e vari programmi di utilità. Quando vengono assegnati i bit
di commit di FreeBSD, vengono specificate le aree dell'albero dove il bit
può essere usato. Solitamente, le aree associate a un bit
corrispondono a quelle di chi ha autorizzato l'assegnamento del bit di
commit. Ulteriori aree di autorità possono essere aggiunte in
seguito: se occorrerà, il committer dovrà seguire le
normali procedure di allocazione del bit di commit per quell'area
dell'albero, chiedendo l'approvazione all'entità appropriata e
possibilmente prendendo un mentore per quell'area per un po' di
tempo.
Tipo di Committer
Responsabile
Componenti dell'Albero
src
core@
src/, doc/ soggetta ad appropriata revisione
doc
doceng@
doc/, www/, documentazione src/
ports
portmgr@
ports/
I bit di commit assegnati prima dello sviluppo della nozione di aree
di autorità possono essere usati in molte parti dell'albero.
Tuttavia, il buon senso dice che un committer che non ha mai lavorato
precedentemente in un'area dell'albero chieda una revisione del proprio
lavoro prima di effettuare il commit, chieda l'approvazione del
responsabile appropriato, e/o lavori d'accordo con un mentore. Dato che
le regole sulla manutenzione del codice differiscono a seconda dell'area
dell'albero, questo è per il bene del committer che lavora in
un'area poco familiare tanto quanto per gli altri che lavorano
sull'albero.
I committer sono incoraggiati a chiedere la revisione del proprio
lavoro come parte del normale processo di sviluppo, indifferentemente
dall'area dell'albero in cui stanno lavorando.
Operazioni sul CVS
Si assume che tu abbia già familiarità con le operazioni
di base di CVS.
I &a.cvs; sono i proprietari
del repository CVS e sono
responsabili delle sue modifiche dirette allo scopo di ripulire o
sistemare dei gravi abusi di CVS da parte di un committer.
Nel caso dovessi causare qualche problema al repository,
diciamo una errata operazione di cvs import o
cvs tag , invia un messaggio ai &a.cvs; (o chiama uno di
loro) ed esponi il problema ad uno di loro. Gli unici che hanno il
permesso di manipolare direttamente i bit del repository sono i
repomeister
. Per questo non ci sono shell di login
disponibili sulle macchine del repository, tranne che per i
repomeister.
L'albero CVS è attualmente diviso in quattro repository
differenti, ovvero doc , ports ,
projects e src . Questi vengono
ricomposti sotto un unico CVSROOT quando vengono
distribuiti tramite CVSup per la convenienza
dei nostri utenti.
Nota che il modulo www che contiene i sorgenti
del sito web di FreeBSD
è contenuto all'interno del repository
doc .
I repository CVS sono ospitati sulle macchine repository.
Attualmente, ognuno dei repository elencati qui sopra risiede sulla stessa
macchina fisica, ncvs.FreeBSD.org , ma
per permettere la possibilità di averne ognuno su una macchina
diversa in futuro, ci sono diversi nomi di host che i committer
dovrebbero utilizzare. Inoltre, ogni repository risiede in una
directory differente. La seguente tabella racchiude la situazione.
Repository CVS, Host e Directory di &os;
Repository
Host
Directory
doc
dcvs.FreeBSD.org
/home/dcvs
ports
pcvs.FreeBSD.org
/home/pcvs
projects
projcvs.FreeBSD.org
/home/projcvs
src
ncvs.FreeBSD.org
/home/ncvs
Le operazioni sul CVS sono fatte da remoto impostando la variabile di
ambiente CVSROOT a ncvs.FreeBSD.org : /home/ncvs
e la variabile CVS_RSH a ssh , e
quindi effettuando le appropriate operazioni di check-out/check-in.
Molti committer definiscono degli alias che si espandono nella corretta
invocazione di cvs per il repository
appropriato. Per esempio, un utente di &man.tcsh.1; può aggiungere
le seguenti righe al suo .cshrc per questo
scopo:
- alias dcvs env CVS_RSH=ssh cvs -d user @dcvs.freebsd.org:/home/dcvs
-alias pcvs env CVS_RSH=ssh cvs -d user @pcvs.freebsd.org:/home/pcvs
-alias projcvs env CVS_RSH=ssh cvs -d user @projcvs.freebsd.org:/home/projcvs
-alias scvs env CVS_RSH=ssh cvs -d user @ncvs.freebsd.org:/home/ncvs
+ alias dcvs env CVS_RSH=ssh cvs -d user @dcvs.FreeBSD.org:/home/dcvs
+alias pcvs env CVS_RSH=ssh cvs -d user @pcvs.FreeBSD.org:/home/pcvs
+alias projcvs env CVS_RSH=ssh cvs -d user @projcvs.FreeBSD.org:/home/projcvs
+alias scvs env CVS_RSH=ssh cvs -d user @ncvs.FreeBSD.org:/home/ncvs
In questo modo è possibile fare tutte le operazioni di
CVS localmente ed usare X cvs
commit per effettuare il commit sull'albero CVS ufficiale.
Se desideri aggiungere qualcosa di totalmente nuovo (ad esempio dei
sorgenti in contrib, ecc.), deve essere usato cvs
import . Guarda come riferimento la pagina man di &man.cvs.1;
per l'utilizzo.
Per favore non usare cvs
checkout o update con la macchina con il
repository ufficiale impostata come CVS Root per tenere aggiornato il
tuo albero dei sorgenti. CVS da remoto non è ottimizzato per la
distribuzione via rete e richiede un grande sovraccarico di lavoro e di
amministrazione sul lato server. Utilizza il nostro metodo di
distribuzione avanzato cvsup per ottenere i bit del
repository, ed esegui solamente l'operazione di
commit sull'host con il repository.
Forniamo un'estesa rete di mirror cvsup per questo scopo, così
come diamo accesso al cvsup-master se hai veramente
bisogno di essere aggiornato alle ultime modifiche.
Il cvsup-master ha la potenza necessaria a gestire
questa cosa, il repository principale no. &a.kuriyama; è a capo
del cvsup-master .
Se devi usare le operazioni add e
delete di CVS come se fosse un'operazione &man.mv.1;,
allora va effettuata una copia nel repository piuttosto che usare
add e delete di CVS. In una
copia nel repository, un CVS Meister
copierà il/i file nei loro nuovi nomi e/o locazioni e ti
avviserà ad operazione avvenuta. Lo scopo di una copia del
repository è di preservare la cronologia dei cambiamenti del file,
o i log. Noi del FreeBSD Project diamo molta importanza alla cronologia
dei cambiamenti che CVS fornisce al progetto.
Informazioni di riferimento, tutorial, e FAQ su CVS possono
essere trovate su: .
Anche le informazioni contenute nei capitoli di Karl Fogel
da Open Source Development with CVS
sono molto
utili.
&a.des; ha fornito inoltre il seguente mini manuale
su
CVS.
Effettua il check out di un modulo con il comando
co o checkout .
&prompt.user; cvs checkout shazam
Questo estrae una copia del modulo shazam . Se
non c'è alcun modulo shazam nel file dei
moduli, cercherà allora una directory di primo livello chiamata
shazam .
Opzioni utili con cvs checkout
-P
Non crea le directory vuote
-l
Estrae solo un livello, non le sottodirectory
-rver
Estrai la versione, il ramo, o il tag
ver
-Ddata
Estrai i sorgenti com'erano in data
data
Esempi pratici su FreeBSD:
Estrai il modulo miscfs , che
corrisponde a src/sys/miscfs :
&prompt.user; cvs co miscfs
Ora hai una directory chiamata miscfs
con le sottodirectory CVS ,
deadfs , devfs , e
così via. Una di queste (linprocfs )
è vuota.
Estrai gli stessi file, ma con il percorso completo:
&prompt.user; cvs co src/sys/miscfs
Ora hai una directory chiamata src ,
con le sottodirectory CVS e
sys . La directory
src/sys ha le
sottodirectory CVS e
miscfs , ecc.
Estrai gli stessi file, ma elimina le directory vuote:
&prompt.user; cvs co -P miscfs
Ora hai una directory chiamata miscfs
con le sottodirectory CVS ,
deadfs , devfs ... ma nota
che non c'è nessuna sottodirectory
linprocfs , perché non contiene alcun
file.
Estrai la directory miscfs , ma nessuna
delle sue sottodirectory:
&prompt.user; cvs co -l miscfs
Ora hai una a directory chiamata miscfs
con solo una sottodirectory chiamata
CVS .
Estrai il modulo miscfs com'è nel
ramo 4.X:
&prompt.user; cvs co -rRELENG_4 miscfs
Puoi modificare i sorgenti ed effettuare il commit su questo
ramo.
Estrai il modulo miscfs com'era nella
3.4-RELEASE.
&prompt.user; cvs co -rRELENG_3_4_0_RELEASE miscfs
Non potrai effettuare il commit delle modifiche, visto che
RELENG_3_4_0_RELEASE corrisponde ad un
preciso istante di tempo, non a un ramo.
Estrai il modulo miscfs com'era il 15
gennaio 2000.
&prompt.user; cvs co -D'01/15/2000' miscfs
Non potrai effettuare modifiche.
Estrai il modulo miscfs com'era una
settimana fa.
&prompt.user; cvs co -D'last week' miscfs
Non potrai effettuare modifiche.
Tieni presente che cvs salva i metadati in sottodirectory chiamate
CVS .
Gli argomenti di -D e -r
sono fissi, che vuol dire che cvs se li ricorderà in seguito,
ad esempio quando farai un cvs update .
Controlla lo stato dei file estratti con il comando
status .
&prompt.user; cvs status shazam
Questo visualizza lo stato del file shazam o
di ogni file nella directory shazam . Per ogni
file, lo stato è uno fra:
Up-to-date
Il file à aggiornato e non è stato
modificato.
Needs Patch
Il file non è stato modificato, ma c'è una
nuova versione nel repository.
Locally Modified
Il file è aggiornato, ma è stato
modificato.
Needs Merge
Il file è stato modificato, e c'è una nuova
versione nel repository.
File had conflicts on merge
Ci sono stati conflitti l'ultima volta che il file
è stato aggiornato, e non sono ancora stati
risolti.
Vedrai anche la versione e la data locale, il numero dell'ultima
versione appropriata (ultima appropriata
perché
se hai una data, un tag o un ramo fissati, può non essere
l'ultima versione), e i tag, le date o le opzioni applicate.
Dopo avere estratto qualcosa, puoi aggiornarlo con il comando
update .
&prompt.user; cvs update shazam
Questo aggiorna il file shazam o il contenuto
della directory shazam all'ultima versione sul
ramo che hai estratto. Se hai estratto un preciso instante di
tempo
, non fa nulla a meno che i tag non siano stati
spostati nel repository o qualche altra strana cosa sia in
corso.
Opzioni utili, in aggiunta a quelle elencate sopra, con
checkout :
-d
Estrae ogni directory aggiuntiva mancante.
-A
Scarica l'ultima versione del ramo principale.
-jver
Altre magie (guarda sotto).
Se hai estratto un modulo con -r o
-D , l'esecuzione di cvs update
con un argomento differente di -r o
-D o con -A selezionerà un
nuovo ramo, una nuova versione o una nuova data.
L'opzione -A elimina tutti i tag, le date o le
versioni fissate mentre -r e -D ne
impostano di nuove.
Teoricamente, specificando HEAD come argomento
di -r avrai lo stesso risultato di
-A , ma è solo in teoria.
L'opzione -d è utile se:
qualcuno ha aggiunto delle sottodirectory al modulo che hai
estratto dopo averlo estratto.
hai estratto con -l , e dopo cambi idea e
vuoi estrarre anche le sottodirectory.
hai cancellato delle sottodirectory e vuoi estrarle
nuovamente.
Osserva l'output di cvs update con
cura . La lettera all'inizio di ogni file indica cosa
è stato fatto su di esso:
U
Il file è stato aggiornato senza problemi.
P
Il file è stato aggiornato senza problemi (vedrai
questo solo quando lavorerai su un repository remoto).
M
Il file è stato modificato, ed è stato
fuso senza conflitti.
C
Il file è stato modificato, ed è stato
fuso con dei conflitti.
La fusione è ciò che avviene quando estrai una copia
di qualche codice sorgente, lo modifichi, quindi qualcun altro
effettua il commit di un'altra modifica, e tu esegui cvs
update . CVS nota che tu hai fatto dei cambiamenti locali, e
cerca di fondere le tue modifiche con quelle fatte tra la versione che
hai originariamente estratto e quella che stai aggiornando. Se i
cambiamenti sono a due parti separate del file, solitamente non ci
saranno problemi (sebbene il risultato possa non essere
sintatticamente o semanticamente corretto).
CVS stamperà una M davanti ad ogni file
modificato localmente anche se non c'è una nuova versione nel
repository, quindi cvs update è adatto
per avere un resoconto di quello che hai cambiato in locale.
Se appare una C , allora le tue modifiche sono
in conflitto con i cambiamenti presenti nel repository (le modifiche
sono sulle stesse righe, o righe vicine, o hai cambiato così
tanto il file locale che cvs non è in grado
di applicare le modifiche al repository). Dovrai allora andare a
modificare il file a mano e risolvere i conflitti; questi saranno
evidenziati da righe di simboli < ,
= e > . Per ogni conflitto,
ci sarà una linea di demarcazione formata da sette
< e il nome del file, seguita da una porzione di
quello che il tuo file locale conteneva, seguita da una riga di
separazione con sette = , seguita dalla porzione
corrispondente presente nella versione del repository, seguita da una
riga di separazione con sette > e il numero di
versione che stai aggiornando.
L'opzione -j è un po' voodoo. Aggiorna
il file locale alla versione specificata come se avessi usato
-r , ma non cambia il numero di versione o il ramo
registrato del file locale. Non è realmente utile tranne
quando usata due volte, nel qual caso fonderà le modifiche
tra le due versioni specificate nella copia su cui stai
lavorando.
Per esempio, supponiamo che ti abbia effettuato il commit di una
modifica a shazam/shazam.c in &os.current; e che
più tardi tu voglia effettuare l'MFC. Le modifiche che vuoi
fondere sono nella versione 1.15:
Estrai la versione &os.stable; del modulo
shazam :
&prompt.user; cvs co -rRELENG_4 shazam
Applica le modifiche tra la ver 1.14 e la 1.15:
&prompt.user; cvs update -j1.14 -j1.15 shazam/shazam.c
Quasi certamente avrai un conflitto a causa delle righe
$Id$ (o nel caso di FreeBSD, $FreeBSD$ ),
quindi dovrai modificare a mano il file per risolvere il conflitto
(rimuovi le righe di separazione e la seconda linea
$Id$ , lasciando la linea $Id$
originale intatta).
Guarda le differenze tra la versione locale e quella sul
repository con il comando diff .
&prompt.user; cvs diff shazam
mostra ogni modifica che hai fatto al file o al modulo
shazam .
Opzioni utili con cvs diff
-u
Utilizza il formato diff unificato.
-c
Utilizza il formato diff contestuale.
-N
Visualizza i file mancanti o aggiunti.
Vorrai sempre utilizzare -u , visto che le diff
unificate sono molto più semplici da leggere rispetto a quasi
tutti gli altri formati (in alcune circostanze, le diff contestuali
generate con l'opzione -c possono essere meglio, ma
sono molto più voluminose). Una diff unificata consiste di una
serie di parti. Ogni parte inizia con una riga con due caratteri
@ e specifica dove si trovano le differenze nel
file e su quante linee si estendono. Questa è seguita da un
certo numero di righe; alcune (precedute da uno spazio) fanno parte
del contesto; altre (precedute da un - ) sono quelle
eliminate e altre ancora (precedute da un + ) sono
quelle aggiunte.
Puoi anche effettuare una diff con una versione differente
rispetto a quella che hai estratto specificando la versione con
-r o -D come per il
checkout o l'update ,
o anche visualizzare le differenze tra due versioni arbitrarie
(indipendentemente da quella che hai localmente) specificando
due versioni con -r o
-D .
Guarda le righe di log con il comando
log .
&prompt.user; cvs log shazam
Se shazam è un file, questo
stamperà un'intestazione con le
informazioni sul file, come la locazione nel repository dove il file
è salvato, a quale versione è l'HEAD
per questo file, in quali rami si trova il file, e qualsiasi tag
valido per questo file. Quindi, per ogni versione del file, viene
stampato un messaggio di log. Questo include la data e l'ora del
commit, chi ha fatto il commit, quante righe sono state aggiunte e/o
tolte, e alla fine il messaggio di log che il committer ha scritto
quando ha inviato la modifica.
Se shazam è una directory, allora le
informazioni di log descritte sopra vengono stampate a turno per ogni
file presente nella directory. A meno che tu abbia dato l'opzione
-l a log , vengono stampati anche
i log per tutte le sottodirectory di shazam , in
maniera ricorsiva.
Usa il comando log per vedere la storia di uno
o più file, come è salvata nel repository CVS. Puoi
anche usarlo per vedere il messaggio di log di una versione specifica,
se aggiungi -rver al
comando log :
&prompt.user; cvs log -r1.2 shazam
Questo stamperà solamente il messaggio di log per la
versione 1.2 del file shazam
se è un file, oppure i messaggi di log per le versioni 1.2 di
ogni file sotto shazam se è una
directory.
Guarda chi ha fatto cosa con il comando
annotate . Questo comando visualizza ogni riga del
file o dei file specificati, insieme all'utente che ha modificato
più recentemente quella riga.
&prompt.user; cvs annotate shazam
Aggiungi nuovi file con il comando add .
Crea il file, usa cvs add su di esso, quindi
cvs commit .
In modo analogo, puoi aggiungere nuove directory creandole e poi
utilizzando cvs add su di esse. Nota che non
c'è bisogno di usare il commit sulle directory.
Rimuovi i file obsoleti con il comando
remove .
Rimuovi il file, quindi usa cvs rm su di esso,
ed infine cvs commit .
Effettua il commit con il comando commit o
checkin .
Opzioni utili con cvs commit
-f
Forza il commit di un file non modificato.
-mmsg
Specifica un messaggio di commit sulla riga di comando
anziché invocare un editor.
Usa l'opzione -f se ti accorgi che hai lasciato
fuori informazioni importanti dal messaggio di commit.
Buoni messaggi di commit sono importanti. Dicono agli altri
perché hai fatto le modifiche che hai fatto, non solo qui ed
ora, ma per mesi o anni quando qualcuno si chiederà
perché dei pezzi di codice all'apparenza illogici o
inefficienti sono entrati nel file sorgente. È inoltre un
aiuto inestimabile per decidere su quali modifiche va effettuato
l'MFC e su quali no.
I messaggi di commit devono essere chiari, concisi, e fornire
un ragionevole sommario per dare un'indicazione di cosa è stato
cambiato e perché.
I messaggi di commit devono fornire abbastanza informazioni
affinché una terza parte possa decidere se la modifica è
rilevante per lei e se debba leggere la modifica stessa.
Evita di effettuare il commit di più modifiche scollegate
in una volta sola. Questo rende difficile la fusione, e inoltre rende
più complicato determinare quale modifica è colpevole
se salta fuori un bug.
Evita di effettuare il commit di correzioni di stile o di
spaziatura insieme a correzioni di funzionalità. Questo rende
difficile la fusione, e inoltre rende più complicato capire
quali modifiche alle funzionalità sono state fatte. Nel caso
di file di documentazione, può rendere il lavoro dei gruppi
di traduzione più complicato, visto che diventa difficile per
loro determinare esattamente quali modifiche al contenuto vanno
tradotte.
Evita di effettuare il commit di cambiamenti a più file
con un unico messaggio generico o vago. Invece, effettua il commit
di un file alla volta (o di piccoli gruppi di file correlati) con un
messaggio di commit appropriato.
Prima di effettuare il commit, devi
sempre :
verificare su che ramo stai effettuando il commit, tramite
cvs status .
revisionare i tuoi cambiamenti, con
cvs diff
Inoltre, devi SEMPRE specificare esplicitamente sulla riga di
comando su quali file deve essere effettuato il commit, in modo da non
toccare incidentalmente altri file non voluti - cvs
commit senza argomenti effettuerà il commit di ogni
modifica nella directory corrente ed ogni sottodirectory.
Suggerimenti e trucchi aggiuntivi:
Puoi inserire le opzioni più comunemente usate nel tuo
~/.cvsrc , come in questo caso:
cvs -z3
diff -Nu
update -Pd
checkout -P
Questo esempio dice:
usa sempre il livello di compressione 3 quando si parla con un
server remoto. Questo è un salvavita quando si lavora su
una connessione lenta.
usa sempre le opzioni -N (visualizza i file
aggiunti o rimossi) e -u (formato diff unificato)
con &man.diff.1;.
usa sempre le opzioni -P (elimina le
directory vuote) e -d (estrai le nuove directory)
quando si effettua l'update.
usa sempre l'opzione -P (elimina le
directory vuote) quando si estrae.
Usa lo script cdiff di Eivind Eklund per
visualizzare le diff unificate. È un wrapper per &man.less.1;
che aggiunge i codici colore ANSI per far risaltare le intestazioni
delle sezioni, le righe rimosse e quelle aggiunte; il contesto rimane
invariato. Inoltre espande i tab correttamente (i tab spesso appaiono
errati nelle diff a causa del carattere aggiuntivo all'inizio di ogni
riga).
Semplicemente usalo al posto di &man.more.1; o
&man.less.1;:
&prompt.user; cvs diff -Nu shazam | cdiff
Alternativamente alcuni editor come &man.vim.1;
(editors/vim5 ) hanno il supporto
al colore e quando vengono usati con l'evidenziazione della sintassi
attiva evidenzieranno molti tipi di file, incluse le diff, le patch,
e i log CVS/RCS.
&prompt.user; echo "syn on" >> ~/.vimrc
&prompt.user; cvs diff -Nu shazam | vim -
&prompt.user; cvs log shazam | vim -
CVS è vecchio, arcano, complesso e buggato, e a volte
esibisce comportamenti non deterministici che qualcuno sostiene siano
la prova che CVS non sia niente di più di una manifestazione
Newtoniana di una entità ultradimensionale sensibile.
Non è umanamente possibile conoscere ogni dettaglio di CVS,
quindi non essere dispiaciuto di chiedere aiuto all'Intelligenza
Artificiale (&a.cvs;).
Non lasciare il comando cvs commit nella
modalità di inserimento del messaggio di commit per troppo
tempo (più di 2–3 minuti). Questo blocca la directory in
cui stai lavorando ed impedirà ad altri sviluppatori di
effettuare commit nella stessa directory. Se devi digitare un
messaggio di commit lungo, scrivilo prima di eseguire
cvs commit , e inseriscilo successivamente.
Convenzioni e Tradizioni
Come nuovo committer ci sono alcune cose che dovresti fare
all'inizio.
Aggiungere te stesso alla sezione Developers
della
Contributors List e
rimuovere te stesso dalla sezione Additional
Contributors
. Una volta fatto ciò, non dimenticarti
di aggiungere la tua entity di autore in
doc/en_US.ISO8859-1/share/sgml/authors.ent ;
usa le altre voci come esempio.
Questo è un compito relativamente semplice, ma rimane una
buona prima prova delle tue abilità con CVS.
Aggiungi una voce per te stesso in
www/en/news/news.xml . Guarda le altre voci che
assomigliano a A new committer
e segui il
formato.
Dovresti aggiungere la tua chiave PGP o GnuPG in
doc/share/pgpkeys (e se non ce l'hai, dovresti
creartene una).
&a.des; ha scritto uno script di shell per rendere questa
operazione molto semplice. Guarda il file README
per maggiori informazioni.
È importante avere una chiave PGP/GnuPG aggiornata nel
Manuale, visto che potrà essere richiesta per
l'identificazione del committer, ad esempio dai &a.admins; per
il recupero dell'account.
Alcune persone aggiungono una voce per se stessi in
ports/astro/xearth/files/freebsd.committers.markers .
Alcune persone aggiungono una voce per se stessi in
src/usr.bin/calendar/calendars/calendar.freebsd .
Presentati agli altri committer, altrimenti nessuno avrà
idea di chi tu sia o di cosa ti occupi. Non devi scrivere una
biografia completa, basta un paragrafo o due su chi sei e su quello
di cui hai intenzione di occuparti come committer di FreeBSD.
Invialo alla &a.developers; e sarai sulla strada giusta!
Loggati su hub.FreeBSD.org e crea un file
/var/forward/utente
(dove utente è il tuo nome utente)
contenente l'indirizzo e-mail dove vuoi che i messaggi indirizzati a
tuonomeutente @FreeBSD.org siano inoltrati.
Questo include tutti i messaggi di commit così come ogni altro
messaggio inviato alla &a.committers; e alla &a.developers;. Caselle
di posta veramente grandi che hanno preso residenza fissa su
hub spesso vengono accidentalmente
troncate senza preavviso, quindi inoltra o leggi i messaggi in modo da
non perderli.
+
+ A causa dell'intenso carico per la gestione dello SPAM che
+ arriva ai server di posta centrali che processano le mailing list, i
+ server front-end fanno alcuni controlli e non fanno passare alcuni
+ messaggi in base a questi controlli. Al momento l'unico controllo
+ attivo è la verifica sulla correttezza delle informazioni DNS
+ dell'host che si connette, ma questo potrebbe cambiare. Alcune
+ persone accusano questi controlli di respingere email valide. Se
+ vuoi disabilitare questi controlli per la tua email puoi creare
+ un file chiamato ~/.spam_lover nella tua
+ directory home su freefall.FreeBSD.org .
Se sei iscritto alla &a.cvsall;, probabilmente vorrai
disiscriverti per evitare di ricevere copie doppie dei messaggi di
commit e della loro evoluzione.
Tutti i nuovi committer hanno un mentore assegnato a loro per i primi
- mesi. Il tuo mentore è più o meno responsabile di
- spiegarti ogni cosa ti sia poco chiara ed è anche responsabile
- delle tue azioni durante questo periodo iniziale. Se fai un commit
- errato, imbarazzerai il tuo mentore e probabilmente dovresti passare
- almeno i primi commit a lui prima di agire direttamente sul
- repository.
-
- Tutti i commit dovrebbero andare su &os.current; prima di essere
+ mesi. Il tuo mentore è responsabile di insegnarti le regole e le
+ convenzioni del progetto e guidare i tuoi primi passi nella
+ comunità dei committer. È anche personalmente responsabile
+ delle tue azioni durante questo periodo iniziale. Fino a quando il tuo
+ mentore non decide (e lo annuncia con un commit forzato su
+ access ) che sei diventato pratico e pronto per
+ effettuare commit da solo, non dovresti effettuare commit senza aver
+ prima ottenuto la revisione e l'approvazione del tuo mentore, e dovresti
+ documentare l'approvazione con una riga Approved by:
+ nel messaggio di commit.
+
+ Tutti i commit src dovrebbero andare
+ su &os.current; prima di essere
fusi in &os.stable;. Nessuna nuova caratteristica importante o modifica
ad alto rischio dovrebbe essere fatta sul ramo &os.stable;.
+
+ Licenza Preferita per i Nuovi File
+
+ Attualmente il &os; Project suggerisce di usare il seguente testo
+ come schema di licenza preferito:
+
+Copyright © <Year> <Author>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+ Il progetto &os; scoraggia fortemente la cosiddetta clausola
+ pubblicitaria nel nuovo codice. A causa del grande numero di
+ contributi al progetto &os;, osservare questa clausola per molti
+ fornitori commerciali è diventato difficile. Se hai codice
+ nell'albero con la clausola pubblicitaria, pensa a rimuoverla.
+ In pratica, considera di usare la licenza qui sopra per il tuo
+ codice.
+
+ Il progetto &os; scoraggia completamente nuove licenze e variazioni
+ sulle licenze standard. Nuove licenze richiedono l'approvazione di
+ core@FreeBSD.org per risiedere nel repository principale.
+ Più licenze differenti vengono usate nell'albero, più
+ problemi possono essere causati a chi desidera utilizzare questo codice,
+ tipicamente da conseguenze non previste di una licenza strutturata
+ male.
+
+
Relazioni tra Sviluppatori
Se stai lavorando direttamente sul tuo codice o su codice che è
già stabilito essere di tua responsabilità, allora
c'è probabilmente poca necessità di confrontarsi con altri
committer prima di effettuare un commit. Se vedi un bug in un'area del
sistema che è chiaramente orfana (e ce n'è qualcuna di
queste aree, per nostra vergogna), agisci allo stesso modo. Se, tuttavia,
stai per modificare qualcosa che è chiaramente mantenuto
attivamente da qualcun'altro (ed è solo guardando la mailing list
cvs-committers che puoi veramente sapere cosa è
e cosa non è) allora invia le modifiche a lui, come avresti
fatto prima di diventare committer. Per i port, dovresti contattare il
MAINTAINER specificato nel
Makefile . Per altre parti del repository, se non sei
sicuro di chi possa essere il maintainer attivo, potrebbe essere utile
scorrere l'output di cvs log per vedere chi ha
effettuato delle modifiche in passato. &a.fenner; ha scritto un utile
script di shell che può aiutare a determinare chi sia il
maintainer attivo. Questo elenca ogni persona che ha effettuato commit
su un file specifico con il numero di commit che ha fatto. Può
essere trovato su freefall in
~fenner/bin/whodid . Se alle tue richieste non
corrisponde una risposta o se il committer in altro modo dimostra uno
scarso interesse nell'area oggetto della modifica, vai avanti ed effettua
il commit tu stesso.
Se non sei sicuro di un commit per qualunque motivo, fallo revisionare
da -hackers prima di effettuare il commit. Meglio
che sia criticato lì piuttosto che quando è parte del
repository CVS. Se ti capita di effettuare un commit che provoca
controversie, potresti voler considerare l'annullamento delle modifiche
finché il problema sia chiarito. Ricorda – con CVS possiamo
sempre tornare indietro.
Non mettere in dubbio le intenzioni di qualcuno che non è
d'accordo con te. Se vedono una soluzione differente dalla tua per un
problema, o anche un problema diverso, non è perché sono
stupidi, perché hanno una dubbia origine, o perché stanno
cercando di distruggere il tuo duro lavoro, la tua immagine personale, o
FreeBSD, ma semplicemente perché hanno una visione differente del
mondo. La diversità è una buona cosa.
Dissenti onestamente. Argomenta la tua posizione con i suoi meriti,
sii onesto sui difetti che può avere, e sii disponibile a guardare
le loro soluzioni, o anche le loro visioni del problema, con mente
aperta.
Accetta le correzioni. Possiamo tutti sbagliare. Se hai fatto un
errore, scusati e vai avanti con la tua vita. Non picchiarti, e
sicuramente non picchiare gli altri per il tuo sbaglio. Non sprecare
tempo imbarazzandoti o recriminando, risolvi solo il problema e vai
avanti.
Chiedi aiuto. Cerca (e dai) revisioni dagli altri. Uno delle cose
in cui dovrebbe eccellere il software open source è il numero di
occhi che lo scrutano; questo non è vero se nessuno
revisionerà il codice.
GNATS
Il FreeBSD Project utilizza GNATS per
gestire i bug e le richieste di cambiamenti. Assicurati di usare
edit-pr numero-pr su
freefall quando effettui il commit di una correzione o di
un suggerimento trovato in un PR GNATS per
chiuderlo. È inoltre considerato gentile se trovi il tempo di
chiudere ogni PR associato al tuo commit, se esistono. Puoi anche usare
&man.send-pr.1; tu stesso per proporre qualsiasi cambiamento che pensi
debba essere fatto, a seguito di una maggiore revisione da parte di altre
persone.
Puoi trovare di più su GNATS
su:
http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html
http://www.FreeBSD.org/support.html
&man.send-pr.1;
Puoi far girare una copia locale di GNATS, e poi integrare l'albero
GNATS di FreeBSD in esso tramite CVSup. In seguito puoi usare i comandi
GNATS localmente, o usare altre interfacce, come
tkgnats . Questo ti permette di interrogare il database
dei PR senza bisogno di essere connesso a Internet.
Utilizzo di un albero GNATS locale
Se non stai già scaricando l'albero GNATS, aggiungi questa
riga al tuo supfile , e riesegui &man.cvsup.1;.
Nota che siccome GNATS non è sotto
il controllo di CVS non ha tag, quindi se lo stai aggiungendo al tuo
supfile esistente deve apparire prima di ogni
voce tag=
dato che queste rimangono attive una volta
impostate.
gnats release=current prefix=/usr
Questo metterà l'albero GNATS di FreeBSD in
/usr/gnats . Puoi usare un file
refuse per controllare quali categorie ricevere.
Per esempio, per ricevere solo i PR docs , metti
questa riga in /usr/local/etc/cvsup/sup/refuse
Il percorso preciso dipende dall'impostazione
*default base nel tuo
supfile .
.
gnats/[a-ce-z]*
Il resto di questi esempi assume che tu abbia scaricato solo la
categoria docs . Modificali quando è
necessario, a seconda delle categorie che tieni in sincronia.
Installa il port GNATS da
ports/databases/gnats . Questo metterà le
varie directory GNATS sotto
$PREFIX/share/gnats .
Crea un symlink per le directory GNATS che aggiorni tramite CVSup
sotto la versione di GNATS che hai installato.
&prompt.root; cd /usr/local/share/gnats/gnats-db
&prompt.root; ln -s /usr/gnats/docs
Ripeti tante volte quanto necessario, a seconda di quante
categorie GNATS tieni in sincronia.
Aggiorna il file categories di GNATS con
queste categorie. Il file è
$PREFIX/share/gnats/gnats-db/gnats-adm/categories .
# Questa categoria è obbligatoria
pending:Categoria per i PR errati:gnats-admin:
#
# Categorie di FreeBSD
#
docs:Bug di Documentazione:freebsd-doc:
Esegui $PREFIX/libexec/gnats/gen-index per
ricreare l'indice GNATS. L'output deve essere reindirizzato su
$PREFIX/share/gnats/gnats-db/gnats-adm/index .
Puoi fare questo periodicamente da &man.cron.8;, o eseguire
&man.cvsup.1; da uno script di shell che fa anche questo.
&prompt.root; /usr/local/libexec/gnats/gen-index \
> /usr/local/share/gnats/gnats-db/gnats-adm/index
Verifica la configurazione interrogando il database dei PR.
Questo comando visualizza i PR docs aperti.
&prompt.root; query-pr -c docs -s open
Anche altre interfacce, come quella fornita dal port databases/tkgnats , dovrebbero funzionare
correttamente.
Prendi un PR e chiudilo.
Questa procedura funziona solo per permetterti di visualizzare ed
interrogare i PR localmente. Per modificarli o chiuderli dovrai ancora
loggarti su freefall e farlo da lì.
Chi è Chi
Oltre ai meister del repository, ci sono altri membri e team del
FreeBSD Project che probabilmente arriverai a conoscere nel tuo ruolo di
committer. Brevemente, e senza pretesa di elencarli tutti, questi
sono:
&a.jhb;
John è il manager dell'SMPng Project, e ha
autorità sulla progettazione architetturale e
sull'implementazione del passaggio a un sistema di threading e
locking del kernel a grana fine. È anche l'autore
dell'SMPng Architecture Document. Se stai lavorando sullo stesso
sistema, coordinati con John. Puoi imparare di più
sull'SMPng Project dalla sua home page:
&a.jake;, &a.tmm;
Jake e Thomas sono i maintainer del port sull'architettura
&sparc64;.
&a.doceng;
doceng è il gruppo responsabile dell'infrastruttura
per la realizzazione della documentazione, approva i nuovi committer
della documentazione, e assicura che il sito web di FreeBSD e la
documentazione sul sito FTP siano aggiornati rispetto all'albero
CVS. Non è un organo di risoluzione dei conflitti.
La maggior parte delle discussioni relative alla documentazione
prendono posto sulla &a.doc;. I committer interessati a contribuire
alla documentazione dovrebbero familiarizzare con il Documentation
Project Primer .
&a.ru;
Ruslan è Mister &man.mdoc.7;. Se stai scrivendo una
pagina man e hai bisogno di qualche suggerimento sulla struttura,
o sul linguaggio di markup, chiedi a Ruslan.
&a.bde;
Bruce è lo Style Police-Meister. Quando fai un commit
che poteva essere fatto meglio, Bruce sarà lì a
dirtelo. Ringrazia che qualcuno lo sia. Bruce conosce anche molto
bene gli standard applicabili a FreeBSD.
&a.gallatin;
&a.mjacob;
&a.dfr;
&a.obrien;
Questi sono gli sviluppatori e i supervisori primari della
piattaforma DEC Alpha AXP.
&a.dg;
David è il supervisore del sistema VM. Se hai in mente
una modifica al sistema VM, coordinala con David.
&a.dfr;
&a.marcel;
&a.peter;
&a.ps;
Questi sono i principali sviluppatori e supervisori della
piattaforma Intel IA-64, ufficialmente conosciuta come l'&itanium;
Processor Family (IPF).
&a.murray;
&a.steve;
&a.rwatson;
&a.jhb;
&a.bmah;
&a.scottl;
+ &a.kensmith;
+ &a.hrs;
Questi sono i membri del &a.re;. Questo team è
responsabile di decidere i tempi delle release e controllare il
processo di release. Durante i periodi di congelamento del
codice, gli ingegneri di release hanno l'autorità finale su
tutte le modifiche al sistema per quel ramo di cui si sta preparando
la release. Se c'è qualcosa che vuoi sia fuso da
&os.current; a &os.stable; (qualsiasi valore queste possano avere
in un dato momento), queste sono le persone con cui devi
parlare.
Bruce è anche l'autore della documentazione di
release (src/release/doc/* ). Se effettui il
commit di una modifica che pensi sia degna di menzione nelle note
di release, assicurati che Bruce lo sappia. Meglio ancora, inviagli
una patch con il tuo commento.
&a.benno;
Benno è il maintainer ufficiale del port per
&powerpc;.
&a.brian;
Maintainer ufficiale di
/usr/sbin/ppp .
&a.nectar;
Jacques è il FreeBSD
Security Officer e supervisiona il
&a.security-officer;.
&a.wollman;
Se hai bisogno di consigli sulle oscure parti interne delle reti
o non sei sicuro di qualche eventuale modifica al sottosistema di
rete che hai in mente, Garrett è qualcuno con cui parlare.
Garret è inoltre molto esperto sui vari standard applicabili
a FreeBSD.
&a.committers;
cvs-committers è l'entità che CVS usa per inviarti
tutti i messaggi di commit. Non devi mai
inviare email direttamente a questa lista. Puoi solamente
rispondere a questa lista quando i messaggi sono brevi e
direttamente correlati a un commit.
&a.developers;
Tutti i committer sono iscritti a -developers. Questa lista
è stata creata per essere un forum sulle questioni della
comunità
dei committer. Esempi sono le
votazioni per il Core, annunci, ecc. Questa lista
non è intesa come posto per la revisione
del codice o come rimpiazzo della &a.arch; o della &a.audit;.
Infatti usarla in questo modo urta il FreeBSD Project dato che
dà l'impressione di una lista privata dove vengono prese le
decisioni generali che influenzano tutta la comunità che usa
FreeBSD senza essere rese pubbliche
.
Ultimo, ma non per importanza mai e poi mai invia un
messaggio alla &a.developers; mettendo in CC:/BCC: un'altra lista
FreeBSD .
Mai e poi mai invia un messaggio su un'altra mailing list mettendo
in CC:/BCC: la &a.developers;. Fare questo può diminuire
enormemente i benefici di questa lista. Inoltre, non pubblicare o
inoltrare mai email inviate alla &a.developers;. L'atto di inviare
un messaggio alla &a.developers; anziché a una lista
pubblica significa che le informazioni contenute non sono ad uso
pubblico.
Guida Rapida a SSH
Se stai usando FreeBSD 4.0 o successivo, OpenSSH è incluso
nel sistema base. Se stai usando una release precedente, aggiorna
ed installa uno dei port di SSH. In generale, probabilmente vorrai
prendere OpenSSH dal port security/openssh . Potresti anche voler
estrarre l'ssh1 originale dal port security/ssh , ma sii certo di porre la
dovuta attenzione alla sua licenza. Nota che questi port non possono
essere installati contemporaneamente.
Se non vuoi digitare la tua password ogni volta che usi
&man.ssh.1;, e usi chiavi RSA o DSA per autenticarti,
&man.ssh-agent.1; è lì per la tua comodità.
Se vuoi usare &man.ssh-agent.1;, assicurati di eseguirlo prima di
utilizzare altre applicazioni. Gli utenti X, per esempio, solitamente
fanno questo dal loro file .xsession o
.xinitrc . Guarda &man.ssh-agent.1; per i
dettagli.
Genera un paio di chiavi con &man.ssh-keygen.1;. Le chiavi
finiranno nella tua directory
- $HOME /.ssh .
+ $HOME /.ssh/ .
Invia la tua chiave pubblica
- ($HOME /.ssh/identity.pub )
+ ($HOME /.ssh/id_dsa.pub o
+ $HOME /.ssh/id_rsa.pub )
alla persona che ti sta configurando come committer in modo che possa
- inserirla nel file authorized_keys nella tua
- home directory su freefall (ad esempio,
- $HOME /.ssh/authorized_keys ).
-
+ inserirla nel file
+ tualogin su
+ freefall .
Ora dovresti essere in grado di usare &man.ssh-add.1; per autenticarti
una volta a sessione. Ti verrà richiesta la pass phrase della tua
chiave privata, e quindi verrà salvata nel tuo agente di
autenticazione (&man.ssh-agent.1;). Se non vuoi più avere la tua
chiave salvata nell'agente, l'esecuzione di ssh-add -d
la rimuoverà.
Verifica facendo qualcosa come ssh freefall.FreeBSD.org ls
/usr .
Per maggiori informazioni, guarda security/openssh , &man.ssh.1;,
&man.ssh-add.1;, &man.ssh-agent.1;, &man.ssh-keygen.1;, e
&man.scp.1;.
Il Lungo Elenco di Regole dei Committer di FreeBSD
Traduzione in corso
Supporto per Diverse Architetture
Traduzione in corso
FAQ Specifiche sui Port
Traduzione in corso
Benefici del Lavoro
Sfortunatamente, non ci sono molti benefici derivanti dall'essere un
committer. Il riconoscimento di essere un progettista di software
competente è probabilmente l'unica cosa che sarà di tuo
vantaggio a lungo termine. Ciononostante, ci sono comunque alcuni
benefici:
Accesso diretto al cvsup-master
Come committer, puoi chiedere a &a.kuriyama; accesso diretto
a cvsup-master.FreeBSD.org ,
fornendo l'output della tua chiave pubblica tramite
cvpasswd
yourusername @FreeBSD.org
freefall.FreeBSD.org . Nota: devi specificare
freefall.FreeBSD.org sulla riga di comando si
cvpasswd anche se il server attuale è
cvsup-master . L'accesso al
cvsup-master non dovrebbe essere abusato visto che
è una macchina carica di lavoro.
Un abbonamento gratuito al set da 4 CD o DVD
FreeBSD Mall,
Inc. offre un abbonamento gratuito al set da 4 CD o DVD a
tutti i committer di FreeBSD. Le informazioni su come ottenere il
prodotto gratuitamente vengono spedite a
developers@FreeBSD.org dopo ogni release.
Domande Generali
Traduzione in corso
diff --git a/it_IT.ISO8859-15/articles/euro/Makefile b/it_IT.ISO8859-15/articles/euro/Makefile
index 886e21cc9d..336624a4d2 100644
--- a/it_IT.ISO8859-15/articles/euro/Makefile
+++ b/it_IT.ISO8859-15/articles/euro/Makefile
@@ -1,14 +1,16 @@
+#
# $FreeBSD$
+#
+# Articolo: Il simbolo dell'Euro su FreeBSD
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
-SRCS= article.sgml
+SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/it_IT.ISO8859-15/articles/explaining-bsd/Makefile b/it_IT.ISO8859-15/articles/explaining-bsd/Makefile
index 886e21cc9d..d18d6aadd7 100644
--- a/it_IT.ISO8859-15/articles/explaining-bsd/Makefile
+++ b/it_IT.ISO8859-15/articles/explaining-bsd/Makefile
@@ -1,14 +1,17 @@
+#
# $FreeBSD$
+#
+# Articolo: Panoramica su BSD
DOC?= article
FORMATS?= html
+WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
-SRCS= article.sgml
+SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/it_IT.ISO8859-15/articles/filtering-bridges/Makefile b/it_IT.ISO8859-15/articles/filtering-bridges/Makefile
index 886e21cc9d..4492f0d7f8 100644
--- a/it_IT.ISO8859-15/articles/filtering-bridges/Makefile
+++ b/it_IT.ISO8859-15/articles/filtering-bridges/Makefile
@@ -1,14 +1,16 @@
+#
# $FreeBSD$
+#
+# Articolo: Filtering Bridges
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
-SRCS= article.sgml
+SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml
index 059bc8adaf..96646d65e3 100644
--- a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml
+++ b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml
@@ -1,435 +1,443 @@
%man;
+
+%freebsd;
%it-trademarks;
%trademarks;
]>
Filtering Bridges
Alex
Dupre
ale@FreeBSD.org
$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.intel;
&tm-attrib.general;
Spesso è utile dividere una rete fisica (come una Ethernet)
in due segmenti separati, senza dover creare sottoreti e usare un router
per collegarli assieme. Il dispositivo che collega due reti insieme in
questo modo è chiamato bridge. Un sistema FreeBSD con due
interfacce di rete è sufficiente per raggiungere lo scopo.
Un bridge funziona individuando gli indirizzi del livello
MAC (indirizzi Ethernet) dei dispositivi collegati ad
ognuna delle sue interfacce di rete e inoltrando il traffico tra le due
reti solo se il mittente e il destinatario si trovano su segmenti
differenti. Sotto molti punti di vista un brigde è simile a uno
switch Ethernet con solo due porte.
Perché usare un filtering bridge?
Sempre più frequentemente, grazie all'abbassamento dei costi
delle connessioni a banda larga (xDSL) e a causa della riduzione del
numero di indirizzi IPv4 disponibili, molte società si ritrovano
collegate ad Internet 24 ore su 24 e con un numero esiguo (a volte nemmeno
una potenza di 2) di indirizzi IP. In situazioni come queste spesso
è desiderabile avere un firewall che regoli i permessi di ingresso
e uscita per il traffico da e verso Internet, ma una soluzione basata
sulle funzionalità di packet filtering dei router può non
essere applicabile, vuoi per problemi di suddivisione delle sottoreti,
vuoi perché il router è di proprietà del fornitore di
accesso (ISP ), vuoi perché il router non
supporta tali funzionalità. È in questi casi che l'utilizzo
di un filtering bridge diventa altamente consigliato.
Un firewall basato su bridge può essere configurato e inserito
direttamente tra il router xDSL e il vostro hub/switch Ethernet senza
alcun problema di assegnazione di indirizzi IP.
La traduzione italiana di firewall
è
muro anti incendio
, non
muro di fuoco
come molti pensano. Nel corso
dell'articolo, comunque, manterrò i termini tecnici nella loro
lingua originale in modo da non creare confusione o
ambiguità.
Metodi d'installazione
Aggiungere le funzionalità di bridge a una macchina FreeBSD non
è difficile. Dalla release 4.5 è possibile caricare tali
funzionalità come moduli anziché dover ricompilare il
kernel, semplificando di gran lunga la procedura. Nelle prossime
sottosezioni spiegherò entrambi i metodi di installazione.
Non seguite entrambe le istruzioni: le
procedure sono a esclusione . Scegliete
l'alternativa che meglio si adatta alle vostre esigenze e
capacità.
Prima di continuare è necessario assicurarsi di avere almeno
due schede di rete Ethernet che supportino la modalità promiscua
sia in ricezione che in trasmissione, difatti devono essere in grado di
inviare pacchetti Ethernet con qualunque indirizzo, non solo il loro.
Inoltre, per avere un buon rendimento, le schede dovrebbero essere di
tipo PCI bus mastering. Le scelte migliori sono ancora le Intel
ðerexpress; Pro seguite dalle &tm.3com; 3c9xx subito dopo. Per
comodità nella configurazione del firewall può essere
utile avere due schede di marche differenti (che usino drivers
differenti) in modo da distinguere chiaramente quale interfaccia sia
collegata al router e quale alla rete interna.
Configurazione del Kernel
Così avete deciso di utilizzare il più vecchio e
collaudato metodo di installazione. Per prima cosa bisogna
aggiungere le seguenti righe al file di configurazione del
kernel:
options BRIDGE
options IPFIREWALL
options IPFIREWALL_VERBOSE
La prima riga serve a compilare il supporto per il bridge, la
seconda il firewall e la terza le funzioni di logging del firewall.
Adesso è necessario compilare e installare il nuovo kernel.
Si possono trovare le istruzioni nella sezione
Building and Installing a Custom Kernel dell'handbook.
Caricamento dei Moduli
Se avete deciso di usare il nuovo e più semplice metodo di
installazione, l'unica cosa da fare è aggiungere la seguente riga
al file /boot/loader.conf :
bridge_load="YES"
In questo modo all'avvio della macchina verrà caricato
insieme al kernel anche il modulo bridge.ko . Non
è necessario invece aggiungere una riga per il modulo
ipfw.ko in quanto verrà caricato in
automatico dallo script /etc/rc.network dopo aver
seguito i passi della prossima sezione.
Preparativi finali
Prima di riavviare per caricare il nuovo kernel o i moduli richiesti
(a seconda del metodo che avete scelto in precedenza), bisogna effettuare
alcune modifiche al file /etc/rc.conf . La regola di
default del firewall è di rifiutare tutti i pacchetti IP. Per
iniziare attiviamo il firewall in modalità open ,
in modo da verificare il suo funzionamento senza alcun problema di
filtraggio pacchetti (nel caso stiate eseguendo questa procedura da
remoto, tale accorgimento vi consentirà di non rimanere
erroneamente tagliati fuori dalla rete).
Inserite queste linee nel file /etc/rc.conf :
firewall_enable="YES"
firewall_type="open"
firewall_quiet="YES"
firewall_logging="YES"
La prima riga serve ad attivare il firewall (e a caricare il modulo
ipfw.ko nel caso non fosse già compilato nel
kernel), la seconda a impostarlo in modalità
open (come descritto nel file
/etc/rc.firewall ), la terza a non
visualizzare il caricamento delle regole e la quarta ad abilitare il
supporto per il logging.
Per quanto riguarda la configurazione delle interfacce di rete, il
metodo più utilizzato è quello di assegnare un IP a solo una
delle schede di rete, ma il bridge funziona egualmente anche se entrambe o
nessuna delle interfacce ha IP settati. In quest'ultimo caso (IP-less) la
macchina bridge sarà ancora più nascosta in quanto
inaccessibile dalla rete: per configurarla occorrerà quindi entrare
da console o tramite una terza interfaccia di rete separata dal bridge. A
volte all'avvio della macchina qualche programma richiede di accedere alla
rete, per esempio per una risoluzione di dominio: in questo caso è
necessario assegnare un IP all'interfaccia esterna (quella collegata a
Internet, dove risiede il server DNS ), visto che il
bridge verrà attivato alla fine della procedura di avvio. Questo
vuol dire che l'interfaccia fxp0 (nel nostro
caso) deve essere menzionata nella sezione ifconfig del file
/etc/rc.conf , mentre la xl0
no. Assegnare IP a entrambe le schede di rete non ha molto senso, a meno
che durante la procedura di avvio non si debba accedere a servizi presenti
su entrambi i segmenti Ethernet.
C'è un'altra cosa importante da sapere. Quando si utilizza IP
sopra Ethernet ci sono due protocolli Ethernet in uso: uno è IP,
l'altro è ARP . ARP permette
la conversione dell'indirizzo IP di una macchina nel suo indirizzo
Ethernet (livello MAC ). Affinché due macchine
separate dal bridge riescano a comunicare tra loro è necessario che
il bridge lasci passare i pacchetti ARP . Tale
protocollo non fa parte del livello IP, visto che è presente solo
con IP sopra Ethernet. Il firewall di FreeBSD agisce esclusivamente sul
livello IP e quindi tutti i pacchetti non IP (compreso
ARP ) verranno inoltrati senza essere filtrati, anche se
il firewall è configurato per non lasciar passare nulla.
Ora è arrivato il momento di riavviare la macchina e usarla
come in precedenza: appariranno dei nuovi messaggi riguardo al bridge e al
firewall, ma il bridge non sarà attivato e il firewall, essendo in
modalità open , non impedirà nessuna
operazione.
Se ci dovessero essere dei problemi, è il caso di scoprire ora
da cosa derivino e risolverli prima di continuare.
Attivazione del Bridge
A questo punto, per attivare il bridge, bisogna eseguire i seguenti
comandi (avendo l'accortezza di sostituire i nomi delle due interfacce di
rete fxp0 e xl0 con i
propri):
- &prompt.root; sysctl net.link.ether.bridge_cfg=fxp0:0,xl0:0
-&prompt.root; sysctl net.link.ether.bridge_ipfw=1
-&prompt.root; sysctl net.link.ether.bridge=1
+ &prompt.root; sysctl net.link.ether.bridge.config=fxp0:0,xl0:0
+&prompt.root; sysctl net.link.ether.bridge.ipfw=1
+&prompt.root; sysctl net.link.ether.bridge.enable=1
La prima riga specifica tra quali interfacce va attivato il bridge,
la seconda abilita il firewall sul bridge ed infine la terza attiva il
bridge.
+
+ Se hai &os; 5.1-RELEASE o precedenti le variabili sysctl
+ sono chiamate in modo differente. Guarda &man.bridge.4; per i
+ dettagli.
+
+
A questo punto dovrebbe essere possibile inserire la macchina tra
due gruppi di host senza che venga compromessa qualsiasi
possibilità di comunicazione tra di loro. Se è così,
il prossimo passo è quello di aggiungere le parti
- net.link.ether.[blah] =[blah]
+ net.link.ether.bridge.[blah] =[blah]
di queste righe al file /etc/sysctl.conf , in modo che
vengano eseguite all'avvio della macchina.
Configurazione del Firewall
Ora è arrivato il momento di creare il proprio file con le
regole per il firewall, in modo da rendere sicura la rete interna.
Ci sono delle complicazioni nel fare questo, perché non tutte le
funzionalità del firewall sono disponibili sui pacchetti inoltrati
dal bridge. Inoltre, c'è una differenza tra i pacchetti che stanno
per essere inoltrati dal bridge e quelli indirizzati alla macchina locale.
In generale, i pacchetti che entrano nel bridge vengono processati dal
firewall solo una volta, non due come al solito; infatti vengono filtrati
solo in ingresso, quindi qualsiasi regola che usi out
oppure xmit non verrà mai eseguita. Personalmente
uso in via che è una sintassi più antica,
ma che ha un senso quando la si legge.
Un'altra limitazione è che si possono usare solo i comandi
pass e drop per i pacchetti filtrati
dal bridge. Cose avanzate come divert ,
forward o reject non sono disponibili.
Queste opzioni possono ancora essere usate, ma solo per il traffico da
e verso la macchina bridge stessa (sempre che le sia stato assegnato
un IP).
Nuovo in FreeBSD 4.0 è il concetto di stateful filtering.
Questo è un grande miglioramento per il traffico
UDP , che consiste tipicamente di una richiesta in
uscita, seguita a breve termine da una risposta con la stessa coppia di
indirizzi IP e numeri di porta (ma con mittente e destinatario invertiti,
ovviamente). Per i firewall che non supportano il mantenimento di stato,
non c'è modo di gestire questo breve scambio di dati come una
sessione unica. Ma con un firewall che può
ricordarsi
di un pacchetto UDP in
uscita e permette una risposta nei minuti successivi, gestire i
servizi UDP è semplice.
L'esempio seguente mostra come fare. La stessa cosa è
possibile farla con i pacchetti TCP . Questo
permette di evitare qualche tipo di attacco denial of service e altri
sporchi trucchi, ma tipicamente fa anche crescere velocemente la
tabella di stato.
Vediamo un esempio di configurazione. Bisogna notare che all'inizio
del file /etc/rc.firewall ci sono già delle
regole standard per l'interfaccia di loopback
lo0 , quindi non ce ne occuperemo più ora.
Le regole personalizzate andrebbero messe in un file a parte (per esempio
/etc/rc.firewall.local ) e caricate all'avvio
modificando la riga del file /etc/rc.conf dove era
stata definita la modalità open con:
firewall_type="/etc/rc.firewall.local"
Bisogna specificare il path completo
del file, altrimenti non verrà caricato con il rischio di
rimanere tagliati fuori dalla rete.
Per il nostro esempio immaginiamo di avere l'interfaccia
fxp0 collegata all'esterno (Internet) e la
xl0 verso l'interno (LAN ).
La macchina bridge ha assegnato l'IP
1.2.3.4
(è impossibile che il vostro ISP vi assegni un
indirizzo di classe A di questo tipo, ma per l'esempio va bene).
# Le connessioni di cui abbiamo mantenuto lo stato vengono fatte passare subito
add check-state
# Esclude le reti locali definite nell'RFC 1918
add drop all from 10.0.0.0/8 to any in via fxp0
add drop all from 172.16.0.0/12 to any in via fxp0
add drop all from 192.168.0.0/16 to any in via fxp0
# Permette alla macchina bridge di connettersi con chi vuole
# (se la macchina è IP-less non includere questi comandi)
add pass tcp from 1.2.3.4 to any setup keep-state
add pass udp from 1.2.3.4 to any keep-state
add pass ip from 1.2.3.4 to any
# Permette agli host della rete interna di connettersi con chi vogliono
add pass tcp from any to any in via xl0 setup keep-state
add pass udp from any to any in via xl0 keep-state
add pass ip from any to any in via xl0
# Sezione TCP
# Permette SSH
add pass tcp from any to any 22 in via fxp0 setup keep-state
# Permette SMTP solo verso il mail server
add pass tcp from any to relay 25 in via fxp0 setup keep-state
# Permette i trasferimenti di zona solo dal name server secondario [dns2.nic.it]
add pass tcp from 193.205.245.8 to ns 53 in via fxp0 setup keep-state
# Lascia passare i controlli ident:
# è meglio che aspettare che vadano in timeout
add pass tcp from any to any 113 in via fxp0 setup keep-state
# Permette connessioni nel range di "quarantena".
add pass tcp from any to any 49152-65535 in via fxp0 setup keep-state
# Sezione UDP
# Permette DNS solo verso il name server
add pass udp from any to ns 53 in via fxp0 keep-state
# Permette connessioni nel range di "quarantena".
add pass udp from any to any 49152-65535 in via fxp0 keep-state
# Sezione ICMP
# Abilita le funzioni di 'ping'
add pass icmp from any to any icmptypes 8 keep-state
# Permette il passaggio dei messaggi di errori del comando 'traceroute'
add pass icmp from any to any icmptypes 3
add pass icmp from any to any icmptypes 11
# Tutto il resto è sospetto
add drop log all from any to any
Coloro che hanno configurato un firewall in precedenza potrebbero aver
notato che manca qualcosa. In particolare, non ci sono regole contro lo
spoofing, difatti non abbiamo aggiunto:
add deny all from 1.2.3.4/8 to any in via fxp0
Ovvero, non far entrare dall'esterno pacchetti che affermano di venire
dalla rete interna. Questa è una cosa che solitamente viene fatta
per essere sicuri che qualcuno non provi a eludere il packet filter,
generando falsi pacchetti che sembrano venire dall'interno. Il problema
è che c'è almeno un host
sull'interfaccia esterna che non si può ignorare: il router.
Solitamente, però, gli ISP eseguono il controllo
anti-spoof sui loro router e quindi non ce ne dobbiamo preoccupare.
L'ultima riga sembra un duplicato della regola di default, ovvero non
far passare nulla che non sia stato specificatamente permesso. In
verità c'è una differenza: tutto il traffico sospetto
verrà loggato.
Ci sono due regole per permettere il traffico SMTP
e DNS verso il mail server e il name server, se ne
avete. Ovviamente l'intero set di regole deve essere personalizzato
per le proprie esigenze, questo non è altro che uno specifico
esempio (il formato delle regole è spiegato dettagliatamente nella
man page &man.ipfw.8;). Bisogna notare che, affinché
relay
e ns
siano interpretati correttamente, la risoluzione dei nomi deve funzionare
prima che il bridge sia attivato. Questo è un
chiaro esempio che dimostra l'importanza di settare l'IP sulla corretta
scheda di rete. In alternativa è possibile specificare
direttamente l'indirizzo IP anziché il nome host (cosa necessaria
se la macchina è IP-less).
Le persone che sono solite configurare un firewall probabilmente
avranno sempre usato una regola reset o
forward per i pacchetti
ident (porta 113 TCP ). Sfortunatamente, questa non
è una scelta applicabile con il bridge, quindi la cosa migliore
è lasciarli passare fino alla destinazione. Finché la
macchina di destinazione non ha un demone ident attivo, questa tecnica
è relativamente sicura. L'alternativa è proibire le
connessioni sulla porta 113, creando qualche problema con servizi tipo
IRC (le richieste ident devono andare in
timeout).
L'unica altra cosa un po' particolare che potete aver notato è
che c'è una regola per lasciar comunicare la macchina bridge e
un'altra per gli host della rete interna. Ricordate che questo è
dovuto al fatto che i due tipi di traffico prendono percorsi differenti
attraverso il kernel e di conseguenza anche dentro il packet filter. La
rete interna passerà attraverso il bridge, mentre la macchina
locale userà il normale stack IP per le connessioni. Perciò
due regole per gestire due casi differenti. Le regole in via
fxp0 funzionano in entrambi i casi.
In generale, se usate regole in via attraverso il
packet filter, dovrete fare un'eccezione per i pacchetti generati
localmente, in quanto non entrano tramite nessuna interfaccia.
Contributi
Alcune parti di questo articolo sono state prese, tradotte e
adattate da testi sui bridge, appartenenti alla documentazione di FreeBSD
in lingua inglese, a cura di Nick Sayer e Steve Peterson.
Un grosso ringraziamento va a Luigi Rizzo per l'implementazione
delle funzionalità di bridging in FreeBSD e per il tempo che mi ha
dedicato rispondendo ad alcune mie domande a riguardo.
diff --git a/it_IT.ISO8859-15/articles/multi-os/Makefile b/it_IT.ISO8859-15/articles/multi-os/Makefile
index 886e21cc9d..815b8072d9 100644
--- a/it_IT.ISO8859-15/articles/multi-os/Makefile
+++ b/it_IT.ISO8859-15/articles/multi-os/Makefile
@@ -1,14 +1,17 @@
+#
# $FreeBSD$
+#
+# Articolo: Installazione e Utilizzo di FreeBSD con altri Sistemi Operativi
DOC?= article
FORMATS?= html
+WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
-SRCS= article.sgml
+SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/it_IT.ISO8859-15/articles/new-users/Makefile b/it_IT.ISO8859-15/articles/new-users/Makefile
index 886e21cc9d..f54ed04419 100644
--- a/it_IT.ISO8859-15/articles/new-users/Makefile
+++ b/it_IT.ISO8859-15/articles/new-users/Makefile
@@ -1,14 +1,16 @@
+#
# $FreeBSD$
-
+#
+# Articolo: Per chi e' alle Prime Armi sia con FreeBSD che con Unix
+
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
-SRCS= article.sgml
+SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/it_IT.ISO8859-15/articles/vm-design/Makefile b/it_IT.ISO8859-15/articles/vm-design/Makefile
index e047371152..2780936f21 100644
--- a/it_IT.ISO8859-15/articles/vm-design/Makefile
+++ b/it_IT.ISO8859-15/articles/vm-design/Makefile
@@ -1,19 +1,22 @@
+#
# $FreeBSD$
+#
+# Articolo: Elementi di progettazione del sistema di VM di FreeBSD
DOC?= article
FORMATS?= html
+WITH_ARTICLE_TOC?= YES
-IMAGES_EN = fig1.eps
-IMAGES_EN+= fig2.eps
-IMAGES_EN+= fig3.eps
-IMAGES_EN+= fig4.eps
+SRCS= article.sgml
+IMAGES_EN = fig1.eps
+IMAGES_EN+= fig2.eps
+IMAGES_EN+= fig3.eps
+IMAGES_EN+= fig4.eps
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
-SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
-
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/it_IT.ISO8859-15/books/handbook/Makefile b/it_IT.ISO8859-15/books/handbook/Makefile
index bca164e183..84e6905ea5 100644
--- a/it_IT.ISO8859-15/books/handbook/Makefile
+++ b/it_IT.ISO8859-15/books/handbook/Makefile
@@ -1,244 +1,252 @@
#
# $FreeBSD$
#
# Crea il Manuale di FreeBSD.
#
# ------------------------------------------------------------------------
#
# Variabili specifiche del Manuale
#
# WITH_PGPKEYS La versione stampata del manuale riporta solo i
# fingerprints PGP di base. Se vuoi visualizzare
# le chiavi intere, allora setta questa variabile.
# Questa opzione non ha effetto sui formati HTML.
#
# Targets specifici del Manuale
#
# pgpkeyring Questo target leggerà il contenuto del file
# pgpkeys/chapter.sgml ad estrarrà tutte le chiavi
# pgp sullo standard output. Questo output può
# quindi essere rediretto su un file e distribuito
# come un keyring pubblico degli sviluppatori di
# FreeBSD che può essere facilmente importato in
# PGP/GPG.
#
# ------------------------------------------------------------------------
MAINTAINER= ale@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
WITH_GLOSSARY?=
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/desktop.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/xf86setup.scr
+IMAGES_EN+= mail/mutt1.scr
+IMAGES_EN+= mail/mutt2.scr
+IMAGES_EN+= mail/mutt3.scr
+IMAGES_EN+= mail/pine1.scr
+IMAGES_EN+= mail/pine2.scr
+IMAGES_EN+= mail/pine3.scr
+IMAGES_EN+= mail/pine4.scr
+IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
# Immagini dalla libreria per tutti i documenti
IMAGES_LIB = callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
#
# SRCS lista i singoli files SGML che compongono il documento. Modifiche
# a qualunque di questi files obbligano la ricreazione
#
# Contenuto SGML
SRCS = book.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= x11/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= colophon.sgml
# Entities
SRCS+= chapters.ent
SYMLINKS= ${DESTDIR} index.html handbook.html
# Attiva tutti i capitoli.
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
.if defined(WITH_GLOSSARY) && !empty(WITH_GLOSSARY)
SGMLFLAGS+= -i chap.freebsd-glossary
.endif
# XXX La creazione del Manuale attualmente sfora dei limiti interni,
# codificati in pdftex. Finché non dividiamo il Manuale, crea la versione
# PDF usando ps2pdf invece di pdftex.
PS2PDF?= ${PREFIX}/bin/ps2pdf
book.tex-pdf:
${TOUCH} book.tex-pdf
book.pdf: book.ps
${PS2PDF} book.ps book.pdf
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
#
# Variabili specifiche del Manuale
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
DOC_PREFIX?= ${.CURDIR}/../../..
.for p in ftp cvsup
SRCS+= mirrors.sgml.${p}.inc
CLEANFILES+= mirrors.sgml.${p}.inc
CLEANFILES+= mirrors.sgml.${p}.inc.tmp
.endfor
SRCS+= eresources.sgml.www.inc
CLEANFILES+= eresources.sgml.www.inc
CLEANFILES+= eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: ${XML_MIRRORS} ${XSL_MIRRORS}
${XSLTPROC} ${XSLTPROCOPTS} \
-o $@.tmp \
--param 'type' "'$p'" \
--param 'proto' "'$p'" \
--param 'target' "'handbook/mirrors/chapter.sgml'" \
${XSL_MIRRORS} ${XML_MIRRORS}
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,' \
< $@.tmp > $@ || (${RM} -f $@ && false)
${RM} -f $@.tmp
.endfor
eresources.sgml.www.inc: ${XML_MIRRORS} ${XSL_MIRRORS}
${XSLTPROC} ${XSLTPROCOPTS} \
-o $@.tmp \
--param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'" \
${XSL_MIRRORS} ${XML_MIRRORS}
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,' \
< $@.tmp > $@ || (${RM} -f $@ && false)
${RM} -f $@.tmp
diff --git a/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml b/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml
index 12d89fb777..b9a3cc3e67 100644
--- a/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml
@@ -1,608 +1,608 @@
Bibliografia
Sebbene le pagine man forniscano la documentazione di riferimento
definitiva per le singole parti del sistema operativo FreeBSD, sono famose
per non illustrare come mettere insieme i pezzi per far andare uniformemente
l'intero sistema operativo. Per questo, non esiste sostituto a un buon
libro sull'amministrazione di un sistema &unix; e a un buon manuale per gli
utenti.
Libri & Riviste Specifiche su FreeBSD
Libri & Riviste internazionali:
Using
FreeBSD (in cinese).
FreeBSD for PC 98'ers (in giapponese), pubblicato da SHUWA System
Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.
FreeBSD (in giapponese), pubblicato da CUTT. ISBN 4-906391-22-2
C3055 P2400E.
Complete
Introduction to FreeBSD (in giapponese), pubblicato da
Shoeisha Co., Ltd .
ISBN 4-88135-473-6 P3600E.
Personal
UNIX Starter Kit FreeBSD (in giapponese), pubblicato da
ASCII . ISBN
4-7561-1733-3 P3000E.
FreeBSD Handbook (traduzione giapponese), pubblicato da ASCII . ISBN 4-7561-1580-2
P3800E.
FreeBSD mit Methode (in tedesco), pubblicato da Computer und Literatur
Verlag /Vertrieb Hanser, 1998. ISBN 3-932311-31-0.
FreeBSD 4 -
Installieren, Konfigurieren, Administrieren (in tedesco),
pubblicato da Computer und Literatur
Verlag , 2001. ISBN 3-932311-88-4.
FreeBSD 5 -
Installieren, Konfigurieren, Administrieren (in tedesco),
pubblicato da Computer und Literatur
Verlag , 2003. ISBN 3-936546-06-1.
FreeBSD de
Luxe (in tedesco), pubblicato da Verlag Modere Industrie , 2003.
ISBN 3-8266-1343-0.
FreeBSD
Install and Utilization Manual (in giapponese), pubblicato
da Mainichi Communications
Inc. .
Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
Building Internet
Server with FreeBSD (in indonesiano), pubblicato
da Elex Media
Komputindo .
Libri & Riviste in lingua inglese:
Absolute BSD: The
Ultimate Guide to FreeBSD , pubblicato da No Starch Press , 2002.
ISBN 1886411743.
The Complete FreeBSD , pubblicato da O'Reilly , 2003. ISBN
0596005164.
The
FreeBSD Corporate Networker's Guide , pubblicato da
Addison-Wesley , 2000.
ISBN 0201704811.
FreeBSD: An
Open-Source Operating System for Your Personal Computer ,
pubblicato da The Bit Tree Press, 2001. ISBN 0971204500.
Teach Yourself FreeBSD in 24 Hours, pubblicato da Sams , 2002. ISBN
0672324245.
FreeBSD unleashed, pubblicato da Sams , 2002. ISBN
0672324563.
FreeBSD: The Complete Reference, pubblicato da McGrawHill , 2003.
ISBN 0072224096.
Guide per gli Utenti
Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Reference Manual . O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-075-9
Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Supplementary Documents . O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-076-7
UNIX in a Nutshell . O'Reilly &
Associates, Inc., 1990. ISBN 093717520X
Mui, Linda. What You Need To Know When You Can't Find
Your UNIX System Administrator . O'Reilly &
Associates, Inc., 1995. ISBN 1-56592-104-6
Ohio State
University ha scritto un Corso
Introduttivo a UNIX che è disponibile online in
formato HTML e PostScript.
Una traduzione in italiano
di questo documento è disponibile come parte del FreeBSD
Italian Documentation Project.
Jpman Project, Japan
FreeBSD Users Group . FreeBSD User's
Reference Manual (traduzione giapponese). Mainichi Communications
Inc. , 1998. ISBN 4-8399-0088-4 P3800E.
Edinburgh
University ha scritto una Guida Online per i nuovi
arrivati nell'ambiente UNIX.
Guide per gli Amministratori
Albitz, Paul e Liu, Cricket. DNS and
BIND , 4a Ed. O'Reilly & Associates, Inc., 2001.
ISBN 1-59600-158-4
Computer Systems Research Group, UC Berkeley. 4.4BSD
System Manager's Manual . O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-080-5
Costales, Brian, et al. Sendmail , 2a Ed.
O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0
Frisch, Æleen. Essential System
Administration , 2a Ed. O'Reilly & Associates,
Inc., 1995. ISBN 1-56592-127-5
Hunt, Craig. TCP/IP Network Administration ,
2a Ed. O'Reilly & Associates, Inc., 1997. ISBN
1-56592-322-7
Nemeth, Evi. UNIX System Administration
Handbook . 3a Ed. Prentice Hall, 2000. ISBN
0-13-020601-6
Stern, Hal Managing NFS and NIS O'Reilly
& Associates, Inc., 1991. ISBN 0-937175-75-7
Jpman Project, Japan
FreeBSD Users Group . FreeBSD System
Administrator's Manual (traduzione giapponese). Mainichi Communications
Inc. , 1998. ISBN 4-8399-0109-0 P3300E.
Dreyfus, Emmanuel. Cahiers
de l'Admin: BSD (in francese), Eyrolles, 2003. ISBN
2-212-11244-0
Guide per i Programmatori
Asente, Paul, Converse, Diana, e Swick, Ralph.
X Window System Toolkit . Digital Press,
1998. ISBN 1-55558-178-1
Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Reference Manual . O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-078-3
Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Supplementary Documents . O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-079-1
Harbison, Samuel P. e Steele, Guy L. Jr. C: A
Reference Manual . 4a ed. Prentice Hall, 1995.
ISBN 0-13-326224-3
Kernighan, Brian e Dennis M. Ritchie. The C
Programming Language. . PTR Prentice Hall, 1988.
ISBN 0-13-110362-9
Lehey, Greg. Porting UNIX Software .
O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7
Plauger, P. J. The Standard C Library .
Prentice Hall, 1992. ISBN 0-13-131509-9
Spinellis, Diomidis. Code
Reading: The Open Source Perspective .
Addison-Wesley, 2003. ISBN 0-201-79940-5
Stevens, W. Richard. Advanced Programming in the UNIX
Environment . Reading, Mass. : Addison-Wesley, 1992.
ISBN 0-201-56317-7
Stevens, W. Richard. UNIX Network
Programming . 2a Ed, PTR Prentice Hall, 1998. ISBN
0-13-490012-X
Wells, Bill. Writing Serial Drivers for UNIX
.
Dr. Dobb's Journal . 19(15), Dicembre 1994.
pp68-71, 97-99.
Architettura del Sistema Operativo
Andleigh, Prabhat K. UNIX System
Architecture . Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5
Jolitz, William. Porting UNIX to the 386
.
Dr. Dobb's Journal . Gennaio 1991-Luglio
1992.
Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels e
John Quarterman The Design and Implementation of the
4.3BSD UNIX Operating System . Reading, Mass. :
Addison-Wesley, 1989. ISBN 0-201-06196-1
Leffler, Samuel J., Marshall Kirk McKusick, The Design
and Implementation of the 4.3BSD UNIX Operating System: Answer
Book . Reading, Mass. : Addison-Wesley, 1991. ISBN
0-201-54629-9
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, e
John Quarterman. The Design and Implementation of the
4.4BSD Operating System . Reading, Mass. :
Addison-Wesley, 1996. ISBN 0-201-54979-4
(Il capitolo 2 di questo libro è disponibile online
come parte del FreeBSD Documentation Project, mentre il capitolo 9
è consultabile qui .)
Stevens, W. Richard. TCP/IP Illustrated, Volume 1:
The Protocols . Reading, Mass. : Addison-Wesley,
1996. ISBN 0-201-63346-9
Schimmel, Curt. Unix Systems for Modern
Architectures . Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8
Stevens, W. Richard. TCP/IP Illustrated, Volume 3:
TCP for Transactions, HTTP, NNTP and the UNIX Domain
Protocols . Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3
Vahalia, Uresh. UNIX Internals -- The New
Frontiers . Prentice Hall, 1996. ISBN
0-13-101908-2
Wright, Gary R. and W. Richard Stevens. TCP/IP
Illustrated, Volume 2: The Implementation . Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X
Riferimenti sulla Sicurezza
Cheswick, William R. e Steven M. Bellovin. Firewalls
and Internet Security: Repelling the Wily Hacker .
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4
Garfinkel, Simson e Gene Spafford.
Practical UNIX & Internet Security .
2a Ed. O'Reilly & Associates, Inc., 1996. ISBN
1-56592-148-8
Garfinkel, Simson. PGP Pretty Good
Privacy O'Reilly & Associates, Inc., 1995. ISBN
1-56592-098-8
Riferimenti sull'Hardware
Anderson, Don e Tom Shanley. Pentium Processor
System Architecture . 2a Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5
Ferraro, Richard F. Programmer's Guide to the EGA,
VGA, and Super VGA Cards . 3a ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-62490-7
Intel Corporation pubblica la documentazione sulle sue CPU,
chipsets e standards sul suo sito web per gli
sviluppatori , solitamente come files PDF.
Shanley, Tom. 80486 System Architecture .
3a ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40994-1
Shanley, Tom. ISA System Architecture .
3a ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8
Shanley, Tom. PCI System Architecture .
4a ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2
Van Gilluwe, Frank. The Undocumented PC , 2a
Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8
Messmer, Hans-Peter. The Indispensable PC Hardware
Book , 4a Ed. Reading, Mass: Addison-Wesley Pub. Co.,
2002. ISBN 0-201-59616-4
Storia di &unix;
Lion, John Lion's Commentary on UNIX, 6th Ed. With
Source Code . ITP Media Group, 1996. ISBN
1573980137
Raymond, Eric S. The New Hacker's Dictionary, 3rd
edition . MIT Press, 1996. ISBN
0-262-68092-0. Conosciuto anche come il Jargon
File
Salus, Peter H. A quarter century of UNIX .
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5
Simon Garfinkel, Daniel Weise, Steven Strassmann. The
UNIX-HATERS Handbook . IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1
Don Libes, Sandy Ressler Life with UNIX
— edizione speciale. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7
The BSD family tree .
+ url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree">
o /usr/share/misc/bsd-family-tree
su una macchina FreeBSD recente.
The BSD Release Announcements collection .
1997.
Networked Computer Science Technical Reports
Library .
Old BSD releases from the Computer Systems Research
group (CSRG) .
: Il set di 4 CD
comprende tutte le versioni di BSD dalla 1BSD alla 4.4BSD e
4.4BSD-Lite2 (ma non la 2.11BSD, sfortunatamente). Inoltre, l'ultimo
disco contiene i sorgenti finali più i file SCCS.
Riviste e Giornali
The C/C++ Users Journal . R&D
Publications Inc. ISSN 1075-2838
Sys Admin — The Journal for UNIX System
Administrators Miller Freeman, Inc., ISSN
1061-2688
freeX — Das Magazin für Linux - BSD -
UNIX (in tedesco) Computer- und Literaturverlag GmbH,
ISSN 1436-7033
diff --git a/it_IT.ISO8859-15/books/handbook/book.sgml b/it_IT.ISO8859-15/books/handbook/book.sgml
index 92d957245d..0e210de9e5 100644
--- a/it_IT.ISO8859-15/books/handbook/book.sgml
+++ b/it_IT.ISO8859-15/books/handbook/book.sgml
@@ -1,279 +1,279 @@
%man;
%bookinfo;
%freebsd;
%authors;
%teams;
%mailing-lists;
%newsgroups;
%it-trademarks;
%trademarks;
%txtfiles;
%translators;
%chapters;
%pgpkeys;
]>
Manuale di FreeBSD
The FreeBSD Italian Documentation Project
Febbraio 1999
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
The FreeBSD Italian Documentation Project
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Benvenuto in FreeBSD! Questo manuale copre l'installazione e l'uso
giorno per giorno di FreeBSD
&rel2.current;-RELEASE e FreeBSD
&rel.current;-RELEASE .
Questo manuale è un progetto in evoluzione
ed è il frutto del lavoro di molti singoli. Molte sezioni non
esistono ancora e alcune di quelle che esistono devono essere
aggiornate. Se sei interessato ad aiutare questo progetto, invia
un'email alla &a.doc;. L'ultima versione di questo documento è
- sempre disponibile sul sito web di
+ sempre disponibile sul sito web di
FreeBSD . Inoltre può essere scaricata in una
varietà di formati e tipi di compressione dal server FTP di
FreeBSD o da uno dei numerosi siti
mirror. Se preferisci avere una copia rilegata del manuale,
puoi comprarne una su FreeBSD
Mall . Puoi anche voler cercare nel manuale .
&chap.preface;
Per Cominciare
Questa parte del Manuale di FreeBSD è per gli utenti e gli
amministratori che si affacciano a FreeBSD. Questi capitoli:
Ti introdurranno a FreeBSD.
Ti guideranno attraverso il processo di installazione.
Ti insegneranno le basi e i fondamenti di &unix;.
Ti mostreranno come installare la varietà delle
applicazioni di terze parti disponibili per FreeBSD.
Ti introdurranno a X, il sistema a finestre di &unix;, e ti
spiegheranno come configurare un ambiente desktop che ti renda
più produttivo.
Abbiamo cercato di mantenere il numero di riferimenti in avanti nel
testo al minimo così che tu possa leggere questa sezione del
Manuale dall'inizio alla fine con il minimo scorrimento di pagine
possibile.
Amministrazione del Sistema
I rimanenti capitoli del Manuale di FreeBSD coprono tutti gli
aspetti dell'amministrazione di un sistema FreeBSD. Ogni capitolo
inizia descrivendo quello che imparerai dopo aver letto il capitolo, e
specifica anche quello che dovresti sapere prima di affrontare il
materiale.
Questi capitoli sono studiati per essere letti quando si ha
bisogno di un'informazione. Non devi leggerli in un ordine
particolare, né devi leggerli tutti prima di poter usare
FreeBSD.
Appendici
&chap.colophon;
diff --git a/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml b/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml
index faeef0a9f4..af2f6764a8 100644
--- a/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml
@@ -1,820 +1,820 @@
La Procedura di Avvio di FreeBSD
Sinossi
avvio
avviamento
Il processo di accensione di un computer e caricamento del sistema
operativo viene detto processo di avviamento
, o
semplicemente avvio
. La procedura di avvio di FreeBSD
fornisce un alto grado di flessibilità nel personalizzare quello
che succede quando avvii il sistema, dandoti la possibilità di
scegliere tra diversi sistemi operativi installati sullo stesso computer,
o anche tra diverse versioni dello stesso sistema operativo o tra diversi
kernel installati.
Questo capitolo fornisce i dettagli sulle opzioni di configurazione
che puoi impostare per personalizzare il processo di avvio di FreeBSD.
Ciò comprende tutto quello che avviene fino a quando il kernel
viene lanciato, vengono controllate le periferiche, e viene avviato
&man.init.8;. Se non sei sicuro di sapere quando tutto questo accada, si
tratta del momento in cui il colore del testo a video cambia da bianco
brillante a grigio.
Dopo aver letto questo capitolo, saprai:
Quali sono i componenti del sistema di avvio di FreeBSD, e come
interagiscono.
Le opzioni che puoi impostare per i componenti durante
l'avviamento di FreeBSD per controllare il processo di avvio.
Le basi dei &man.device.hints.5;.
Solo per x86
Questo capitolo descrive la procedura di avvio di FreeBSD su sistemi
Intel x86.
Il Problema dell'Avvio
Accendere un computer e far partire il sistema operativo pone un
dilemma interessante. Per definizione, il computer non sa fare
nulla finché non viene avviato il sistema operativo. Questo
include anche l'esecuzione dei programmi dal disco. Dunque se il computer
non può eseguire un programma da disco senza il sistema operativo,
ed i programmi del sistema operativo sono sul disco, come viene avviato il
sistema operativo?
Questo è un problema analogo a quello descritto nel
libro Le Avventure del Barone di Munchausen . Un
personaggio era caduto in una botola, e ne era uscito tirandosi su da
sé (in inglese bootstrap
), riuscendo nell'intento
solo con i propri sforzi. Nei primi giorni dei calcolatori al meccanismo
usato per caricare il sistema operativo fu applicato il termine
bootstrap , ed in seguito venne abbreviato in
booting
(in italiano avvio
).
Su sistemi con hardware x86 il BIOS (Basic Input/Output System)
è il responsabile del caricamento del sistema operativo. Per fare
ciò, il BIOS cerca nel disco rigido il Master Boot Record (MBR),
che deve essere in una specifica posizione sul disco. Il BIOS ha
abbastanza conoscenze per caricare ed eseguire l'MBR, ed assume che l'MBR
possa portare avanti il resto dei compiti relativi al caricamento del
sistema operativo.
BIOS
Basic Input/Output System
Se hai solo un sistema operativo installato sui tuoi dischi allora
l'MBR standard sarà sufficiente. Questo MBR cerca la prima slice
(partizione) avviabile sul disco, e poi esegue il codice su quella slice
per caricare il resto del sistema operativo.
Se hai installato più sistemi operativi sui tuoi dischi allora
puoi installare un MBR diverso, che mostra una lista dei diversi sistemi
operativi, e ti permette di scegliere quale avviare. FreeBSD viene
fornito con un simile MBR che può essere installato, ed altri
fornitori di sistemi operativi forniscono MBR alternativi.
Il resto del sistema di avvio di FreeBSD è diviso in tre stadi.
Il primo stadio viene eseguito dall'MBR, che sa solo il necessario per
mettere il computer in un certo stato ed eseguire il secondo stadio.
Quest'ultimo può fare poco di più, prima di eseguire il
terzo. Il terzo stadio esaurisce il compito di caricare il sistema
operativo. Il lavoro è diviso in queste tre parti perché
gli standard dei PC pongono dei limiti alla dimensione dei programmi che
possono essere eseguiti nei primi due stadi. Concatenando i compiti
si permette a FreeBSD di fornire un loader più flessibile.
kernel
init
A questo punto viene avviato il kernel ed esso comincia a verificare i
dispositivi e ad inizializzarli. Una volta che la procedura di avvio del
kernel è finita, il kernel passa il controllo al processo utente
&man.init.8;, che si assicura che i dischi siano in uno stato usabile.
Poi &man.init.8; avvia la configurazione delle risorse a livello utente
che monta i file system, imposta le schede di rete per comunicare via
rete, ed in generale fa partire tutti i processi che generalmente sono in
esecuzione su un sistema FreeBSD all'avvio.
L'MBR, e gli Stadi di Avvio Uno, Due, e Tre
MBR, /boot/boot0
Master Boot Record (MBR)
L'MBR di FreeBSD è posizionato in
/boot/boot0 . Questa è una
copia dell'MBR, poiché il vero MBR deve
essere posizionato su una parte speciale del disco, fuori dell'area di
FreeBSD.
Siccome il programma nell'MBR può essere
lungo solo 512 byte, boot0 è molto semplice.
Se hai installato l'MBR di FreeBSD ed hai vari sistemi operativi
installati sui tuoi dischi allora vedrai una schermata simile a questa
al momento dell'accensione:
Screenshot di boot0
F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2
Altri sistemi operativi, in particolare &windows; 95, sono noti
per l'abitudine di sovrascrivere l'MBR esistente con il proprio.
Se accade questo, o se vuoi rimpiazzare l'MBR pre-esistente con quello
di FreeBSD puoi usare il seguente comando:
&prompt.root; fdisk -B -b /boot/boot0 dispositivo
Dove dispositivo è il dispositivo
dal quale vuoi avviare, come ad0 per il primo
disco IDE, ad2 per il primo disco ide sul
secondo canale, da0 per il primo disco SCSI,
e così via.
Comunque, se sei un utente Linux e preferisci che sia
LILO a controllare il processo di avvio,
puoi modificare /etc/lilo.conf per avviare FreeBSD,
e selezionare Leave The Master Boot Record Untouched
durante il processo di installazione di FreeBSD. Se hai installato il
boot manager di FreeBSD, puoi avviare Linux e modificare il file di
configurazione di LILO ,
/etc/lilo.conf aggiungendo la seguente
opzione:
other=/dev/hdXY
table=/dev/hdb
loader=/boot/chain.b
label=FreeBSD
che permetterà l'avvio di FreeBSD e Linux via
LILO . Nel nostro esempio, usiamo
XY per determinare quale drive e
quale partizione usare. Se stai usando un drive
SCSI , dovrai cambiare
/dev/hdXY in qualcosa di simile a
/dev/sdXY , dove viene usata ancora la
sintassi XY . L'opzione
loader=/boot/chain.b può essere omessa se hai
entrambi i sistemi operativi sullo stesso drive. Ora puoi eseguire
/sbin/lilo -v per effettuare i tuoi cambiamenti,
che dovrebbero essere confermati con messaggio su schermo.
Stadio Uno, /boot/boot1 , e Stadio Due,
/boot/boot2
Concettualmente il primo ed il secondo stadio sono parte dello
stesso programma, sulla stessa area del disco. Per limitazioni di
spazio sono stati divisi in due, ma li installerai sempre
insieme.
Essi si trovano sul settore di avvio della slice di avvio, dove
boot0, o ogni altro programma
nell'MBR si aspetta di trovare il codice da eseguire
per proseguire la procedura di avvio. I file nella directory
/boot sono copie dei file reali, che sono
immagazzinati fuori dal file system di FreeBSD.
boot1 è molto semplice, poiché
può essere lungo solo 512 byte, e conosce solo lo stretto
necessario del disklabel di FreeBSD, il quale
memorizza le informazioni sulle slice, per trovare ed eseguire
boot2 .
boot2 è leggermente più
sofisticato, e conosce il file system di FreeBSD abbastanza da potervi
trovare dei file, e può fornire una semplice interfaccia per
scegliere quale kernel o loader eseguire.
Poiché il loader è
molto più complesso, e fornisce una gradevole interfaccia di
facile utilizzo alla configurazione di avvio, boot2
in genere lo esegue, ma in precedenza era incaricato di lanciare il
kernel direttamente.
Screenshot di boot2
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/kernel
boot:
Se mai avrai bisogno di rimpiazzare il boot1 ed
- il boot2 installati, usa &man.disklabel.8;.
+ il boot2 installati, usa &man.disklabel.8;:
&prompt.root; disklabel -B discoslice
- Dove discoslice sono il disco e la slice
+ dove discoslice sono il disco e la slice
dal quale vuoi effettuare l'avvio, come ad esempio
ad0s1 per la prima slice sul primo disco
IDE.
Modalità Pericolosamente Dedicata
Se nella sintassi del comando &man.disklabel.8; usi solo il
nome del disco, come ad0 , creerai un disco
pericolosamente dedicato, senza slice. Quasi sicuramente non è
questo quello che vuoi fare, quindi controlla due volte il comando
&man.disklabel.8; prima di premere Invio .
Stadio Tre, /boot/loader
boot-loader
Il loader è l'ultimo stadio della procedura di avvio divisa
in tre, e si trova sul file system, generalmente come
/boot/loader .
Il loader deve essere inteso come un metodo user-friendly per la
configurazione di avvio, tramite l'uso di un insieme di comandi
integrati facili da usare, sostenuto da un potente interprete, con un
insieme di comandi più complessi.
Sequenza di Operazioni del Loader
Durante l'inizializzazione, il loader controllerà
la console e i dischi, e cercherà di capire da quale disco si
stia avviando. Imposterà le variabili di conseguenza, ed
avvierà un interprete al quale potranno essere passati i
comandi dell'utente in maniera interattiva o attraverso uno
script.
loader
configurazione del loader
Poi il loader leggerà /boot/loader.rc ,
che di default legge i settaggi di
/boot/defaults/loader.conf il quale imposta
dei valori di default ragionevoli per le variabili e inoltre
/boot/loader.rc legge
/boot/loader.conf per i cambiamenti locali a
quelle variabili. In base a queste variabili
loader.rc carica i moduli ed il kernel
prescelti.
Infine, di default, il loader attende per 10 secondi la pressione
di un tasto, ed avvia il kernel se non viene interrotto. Se invece
viene interrotto, viene presentato all'utente un prompt in grado di
comprendere un semplice insieme di comandi, dal quale l'utente
può impostare precisamente le variabili, scaricare dalla
memoria tutti i moduli, o caricarli, ed infine avviare o
ri-avviare.
Comandi Integrati nel Loader
Questi sono i comandi usati più comunemente. Per una
discussione completa su tutti i comandi disponibili, guarda
&man.loader.8;.
autoboot secondi
Procede all'avvio del kernel se non viene interrotto
nell'intervallo di tempo specificato, in secondi. Mostra un
conto alla rovescia, e l'intervallo predefinito è di
10 secondi.
boot
-opzioni
nomekernel
Procede immediatamente all'avvio del kernel, con le opzioni
date, se ce ne sono, e con il nome del kernel specificato, se
fornito.
boot-conf
Va avanti con la stessa configurazione automatica di moduli
basati sulle variabili come accade al boot. Questo ha senso
solo se prima usi unload , e cambi delle
variabili, in generale kernel .
help
argomento
Mostra un messaggio d'aiuto letto da
/boot/loader.help . Se l'argomento dato
è index , allora elenca tutti gli
argomenti disponibili.
include nomefile …
Processa il file specificato. Il file viene letto, e
interpretato riga per riga. Un errore blocca il comando include
immediatamente.
load -t
tipo
nomefile
Carica il kernel, il modulo del kernel, o il file
del tipo specificato, con il nome specificato. Ogni argomento
dopo nomefile viene passato al
file.
ls -l
percorso
Mostra un elenco dei file nel percorso dato, o nella
directory root, se non ne viene specificato uno. Se è
specificato -l , verranno mostrate anche le
dimensioni dei file.
lsdev -v
Elenca tutti i dispositivi dai quali potrebbe essere
possibile caricare moduli. Se viene specificata l'opzione
-v , verranno stampati dettagli maggiori.
lsmod -v
Mostra i moduli caricati. Se viene specificato
-v , verranno stampati dettagli maggiori.
more nomefile
Mostra i file specificati, con una pausa ad ogni
pagina visualizzata.
reboot
Riavvia immediatamente il sistema.
set variabile
set
variabile =valore
Imposta le variabili di ambiente del loader.
unload
Rimuove tutti i moduli caricati.
Esempi sul Loader
Qui ci sono alcuni esempi pratici sull'uso del loader:
modalità singolo utente
Per avviare semplicemente il vostro kernel abituale,
ma in modalità singolo utente:
boot -s
Per scaricare dalla memoria i moduli e il kernel usuali,
e poi caricare solo il vecchio (o un altro) kernel:
kernel.old
unload
load kernel.old
Puoi usare kernel.GENERIC per riferirti
al kernel generico che viene fornito nel disco d'installazione, o
kernel.old per riferirti al kernel installato
precedentemente (quando hai aggiornato o configurato il kernel, ad
esempio).
Usa il comando seguente per caricare i tuoi soliti moduli
con un altro kernel:
unload
set kernel="kernel.old "
boot-conf
Per caricare uno script di configurazione del kernel
(uno script automatizzato che faccia le cose che faresti tu
normalmente configurando il kernel all'avvio):
load -t userconfig_script /boot/kernel.conf
Interazione con il Kernel Durante l'Avvio
kernel
interazione all'avvio
Una volta che il kernel è stato caricato dal loader (come di consueto) o da boot2 (scavalcando il loader), esso
esamina i suoi flag di avvio, se ce ne sono, e aggiusta il suo
comportamento come necessario.
kernel
flag di boot
I Flag di Avvio del Kernel
Qui ci sono alcuni dei più comuni flag di avvio:
-a
durante l'inizializzazione del kernel, chiede il dispositivo
da montare come file system di root.
-C
avvia da CDROM.
-c
esegue UserConfig, il programma di configurazione del kernel
all'avvio
-s
avvia in modalità singolo utente
-v
aumenta la verbosità durante l'avvio del kernel
Ci sono altri flag di avvio, leggi &man.boot.8; per maggiori
informazioni su di essi.
Tom
Rhodes
Contributo di
device.hints
Device Hints
Questa è una caratteristica di FreeBSD 5.0 e successive
che non esiste nelle versioni precedenti.
Durante l'avvio iniziale del sistema, il boot &man.loader.8;
leggerà il file &man.device.hints.5;. Questo file contiene
informazioni di avvio per il kernel dette variabili, e talvolta indicate
come device hints
, suggerimenti per i dispositivi.
Questi device hints
vengono usati dai driver per la
configurazione delle varie periferiche.
I device hints possono essere specificati anche nel prompt del terzo
stadio del boot loader.
Le variabili possono essere aggiunte usando il comando
set , rimosse con unset , e
visualizzate con show . Inoltre, in questo modo,
le variabili impostate nel file /boot/device.hints
possono essere scavalcate. I device hint inseriti in questo modo non sono
permanenti e verranno dimenticati al riavvio seguente.
Una volta che il sistema è stato avviato, può essere
usato il comando &man.kenv.1; per mostrare tutte le variabili.
La sintassi per il file /boot/device.hints
è una variabile per riga, usando il solito cancelletto
#
per indicare i commenti. Le linee sono costruite come
segue:
hint.driver.unit.keyword="valore "
La sintassi nel terzo stadio del boot loader è:
set hint.driver.unit.keyword=valore
driver è il nome del driver per il
dispositivo, unit è il numero di unità
per quel driver, e keyword è la parola chiave
per quell'hint. La parola chiave può essere:
at : specifica il bus sul quale è
collegato il dispositivo.
port : specifica l'indirizzo iniziale di
I/O che deve essere usato.
irq : specifica il numero di interrupt request
che deve essere usato.
drq : specifica il numero del canale DMA.
maddr : specifica l'indirizzo di memoria fisico
occupato dal dispositivo.
flags : imposta vari bit di flag per il
dispositivo.
disabled : se impostato a 1
il
dispositivo è disabilitato.
I driver possono accettare (o richiedere) più hints di quelli
elencati qui, si raccomanda quindi di verificare la loro pagina di
manuale. Per maggiori informazioni, consulta le pagine man
&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, e
&man.loader.8;.
init
Init: Inizializzazione del Controllo dei Processi
Una volta che il kernel ha finito di avviarsi, trasferisce il
controllo al processo utente init , che si trova in
/sbin/init , o al programma specificato
nella variabile init_path nel
loader .
Sequenza di Riavvio Automatica
La sequenza di riavvio automatica assicura che i file system
disponibili sul sistema siano consistenti. Se qualcuno non lo è,
e &man.fsck.8; non può risolvere le inconsistenze, &man.init.8;
abbandona il sistema in modalità
singolo utente per permettere all'amministratore di sistema di
occuparsi dei problemi direttamente.
Modalità Singolo Utente
modalità singolo utente
console
Questa modalità può essere raggiunta attraverso la
sequenza di riavvio automatica,
o tramite l'avvio da parte dell'utente con l'opzione
-s o impostando la variabile boot_single
nel loader .
Si può arrivare ad essa anche richiamando &man.shutdown.8;
senza l'opzione per il riavvio (-r ) o per l'arresto
(-h ), dalla modalità multi utente.
Se la console del sistema è settata come
insecure in /etc/ttys ,
allora il sistema richiede la password di root
prima di entrare in modalità singolo utente.
Una Console Insicura in /etc/ttys
# name getty type status comments
#
# Se la console è settata come "insecure", allora init chiederà
# la password di root per andare in modalità singolo utente .
console none unknown off insecure
Avere una console insecure significa
ritenere insicura la sicurezza fisica della console, ed assicurarsi
che solo chi conosce la password di root possa
usare la modalità singolo utente, non significa voler eseguire
la console in maniera insicura. Dunque, se vuoi avere sicurezza,
scegli insecure , non
secure .
Modalità Multi Utente
modalità multi utente
Se &man.init.8; ritiene che i tuoi file system siano in ordine,
o quando l'utente ha terminato il lavoro in modalità singolo utente, il
sistema entra in modalità multi utente, nella quale inizia la
configurazione delle risorse del sistema.
file rc
Configurazione delle Risorse (rc)
Il sistema di configurazione delle risorse legge i valori
predefiniti della configurazione da
/etc/defaults/rc.conf , e
i dettagli specifici del sistema da
/etc/rc.conf , e poi procede al montaggio dei
file system del sistema elencati in
/etc/fstab , avvia i servizi di rete,
avvia vari demoni di sistema, ed infine esegue gli script di avvio dei
pacchetti installati localmente.
La pagina man di &man.rc.8; è un buon riferimento per la
configurazione delle risorse del sistema, poiché esamina gli
script stessi.
Sequenza di Spegnimento
spegnimento
Al momento di uno spegnimento controllato, tramite &man.shutdown.8;,
&man.init.8; cercherà di eseguire lo script
/etc/rc.shutdown , e poi procederà ad inviare
a tutti i processi il segnale TERM , e successivamente
il segnale KILL a quelli che non sono terminati in
tempo.
Per spegnere una macchina FreeBSD su architetture e sistemi
che supportano la gestione dell'energia, usa semplicemente il comando
shutdown -p now per disattivare immediatamente
l'alimentazione. Per riavviare semplicemente un sistema FreeBSD, usa solo
shutdown -r now . Avrai bisogno di essere
root o un membro del gruppo
operator per eseguire &man.shutdown.8;.
Possono essere usati anche i comandi &man.halt.8; e &man.reboot.8;,
fai riferimento alle loro pagine di man ed a quella di &man.shutdown.8;
per maggiori informazioni.
La gestione dell'energia richiede il supporto &man.acpi.4; nel
kernel o caricato come modulo in FreeBSD 5.X e il supporto
&man.apm.4; in FreeBSD 4.X.
diff --git a/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml b/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml
index cdb09e2cc1..c9c5e806ba 100644
--- a/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml
@@ -1,1725 +1,1747 @@
Risorse su Internet
Il rapido sviluppo di FreeBSD rende la carta stampata un mezzo non
pratico per poterne seguire l'evoluzione. Le risorse in rete sono il
migliore, se non l'unico, modo per tenersi informati sulle novità di
questo sistema.
Dal momento che FreeBSD è il prodotto del lavoro di volontari, la
comunità degli utenti generalmente si presta anche ad una funzione di
supporto tecnico
di varia natura, con l'email e le news
USENET come il mezzo più efficace per entrare in contatto con
queste comunità.
I più frequentati punti di ritrovo della comunità
FreeBSD sono esposti di seguito. Se aveste conoscenza di altre risorse
non menzionate in questa sede, vi preghiamo di darne informazione a
&a.doc; cosicchè possano essere incluse.
Mailing Lists
Anche se molti sviluppatori di FreeBSD leggono USENET, non può
esservi garanzia di ottenere risposta alle proprie domande in tempi brevi
(e in generale non può esservi garanzia di ottenere alcuna
risposta) semplicemente scrivendo ad uno dei mail-group di
comp.unix.bsd.freebsd.* .
Indirizzando i propri messaggi alla mailing list appropriata si
raggiungerà una audience più concentrata ed informata,
permettendo risposte più precise (o quanto meno più
sollecite).
Gli argomenti delle varie liste sono elencati all'inizio del
documento. Si prega di leggere gli argomenti
prima di unirsi o scrivere ad una lista. La maggior parte dei
sottoscrittori di liste ricevono ogni giorno svariate centinaia di
messaggi, e mantenendo argomenti e regole di comportamento
cerchiamo di tenere alto il rapporto segnale/rumore della lista. Venir
meno a queste regole vorrebbe dire il fallimento della mailing list
come mezzo efficace di comunicazione per il progetto.
Vengono tenuti archivi per tutte le mailing list, e questi possono
essere esplorati usando il FreeBSD World Wide Web
server . L'archivio esplorabile per parole chiave
costituisce un mezzo eccellente per trovare risposte a domande poste di
frequente e dovrebbe essere consultato prima di spedire una
domanda.
Sommario delle liste
Liste generiche: Le seguenti sono liste
generiche a cui tutti sono invitati (e incoraggiati) a
partecipare:
Lista
Argomento
&a.cvsall.name;
Cambiamenti apportati all'albero dei sorgenti di
FreeBSD
&a.advocacy.name;
Evangelismo FreeBSD
&a.announce.name;
Eventi importanti e annunci di progetti
&a.arch.name;
Discussioni sull'architettura ed il design
&a.bugbusters.name;
Discussioni incentrate sul mantenimento del database
dei report dei problemi di FreeBSD e progetti correlati
&a.bugs.name;
Report sui bug
&a.chat.name;
Argomenti non-tecnici di interesse della comunità
FreeBSD
&a.config.name;
Sviluppo del processo di installazione e configurazione di
FreeBSD
&a.current.name;
Discussioni sull'utilizzo di &os.current;
&a.isp.name;
Argomenti di interesse degli Internet Service Providers che
usano FreeBSD
&a.jobs.name;
Opportunità di lavoro e consulenza
relative a FreeBSD
&a.newbies.name;
Discussioni ed attività dei nuovi utenti
FreeBSD
&a.policy.name;
Le decisioni sulla politica da adottare del core degli
sviluppatori FreeBSD. Toni pacati e sola lettura
&a.questions.name;
Domande degli utenti e assistenza tecnica
&a.security-notifications.name;
Notifiche sulla sicurezza
&a.stable.name;
Discussioni sull'uso di &os.stable;
&a.test.name;
Dove spedire i tuoi messaggi di test, lasciando in pace
le altre liste
Liste tecniche: le seguenti liste sono a
carattere tecnico. Dovreste leggere attentamente gli argomenti elencati
di seguito prima di unirvi o spedirvi mail, poichè ci sono
strette linee di condotta per il loro uso ed il loro contenuto.
Lista
Argomento
+
+ &a.acpi.name;
+
+ Sviluppo di ACPI e della gestione dell'energia
+
+
&a.afs.name;
Il porting di AFS su FreeBSD
&a.aic7xxx.name;
Sviluppare drivers per &adaptec; AIC 7xxx
&a.alpha.name;
Il porting di FreeBSD su Alpha
&a.amd64.name;
Il porting di FreeBSD sui sistemi AMD64
&a.arm.name;
Il porting di FreeBSD su processori &arm;
&a.atm.name;
Usare reti ATM con FreeBSD
&a.audit.name;
Il progetto di audit del codice sorgente
&a.binup.name;
Il design e lo sviluppo del sistema di aggiornamento dei
binari
&a.cluster.name;
Usare FreeBSD in cluster
&a.cvsweb.name;
Il mantenimento di CVSweb
&a.database.name;
Discussioni sull'uso e lo sviluppo di database sotto
FreeBSD
&a.doc.name;
Creare documenti su FreeBSD
&a.emulation.name;
L'emulazione di altri sistemi operativi come
Linux/DOS/&windows;
&a.firewire.name;
Discussioni tecniche sui FreeBSD &firewire;
(iLink, IEEE 1394)
&a.fs.name;
I file system
&a.geom.name;
Discussioni e implementazioni riguardanti GEOM
&a.gnome.name;
Il porting di GNOME
e delle applicazioni GNOME
&a.hackers.name;
Discussioni tecniche generiche
&a.hardware.name;
Discussioni tecniche generiche sull'hardware e
FreeBSD
&a.i18n.name;
L'internazionalizzazione di FreeBSD
&a.ia32.name;
FreeBSD sulla piattaforma IA-32 (&intel; x86)
&a.ia64.name;
Il porting di FreeBSD ai futuri sistemi Intel IA64
&a.ipfw.name;
Discussioni tecniche sul redesign del codice del
firewall
&a.isdn.name;
Sviluppatori ISDN
&a.java.name;
Sviluppatori &java; e persone coinvolte nel port
delle &jdk; sotto FreeBSD
&a.kde.name;
Il porting di KDE e delle
applicazioni KDE
&a.lfs.name;
Il porting di LFS sotto FreeBSD
&a.libh.name;
Il sistema di installazione e di gestione dei pacchetti
di seconda generazione
&a.mips.name;
Il porting di FreeBSD su &mips;
&a.mobile.name;
Discussioni sui portatili
&a.mozilla.name;
Il porting di Mozilla sotto
FreeBSD
&a.multimedia.name;
Applicazioni multimediali
&a.newbus.name;
Discussioni tecniche sull'architettura bus
&a.net.name;
Discussione sul networking e codice sorgente TCP/IP
&a.openoffice.name;
Il porting di OpenOffice.org e
&staroffice; su FreeBSD
&a.performance.name;
Questioni relative alla calibrazione delle
prestazioni per installazioni a ad alta performance
o carico elevato
&a.perl.name;
Mantenimento di un numero di port relativi a
- perl
+ perl
&a.platforms.name;
Riguardo al porting di FreeBSD su architetture
non Intel
&a.ports.name;
Discussione sulla collezione dei port
&a.ports-bugs.name;
Discussione sui bug/PR relativi ai port
&a.ppc.name;
Il porting di FreeBSD su &powerpc;
&a.qa.name;
Discussione su certificati di qualità, solitamente
sotto una release
&a.realtime.name;
Sviluppo di estensioni realtime su FreeBSD
&a.scsi.name;
Il sottosistema SCSI
&a.security.name;
Questioni relative alla sicurezza di FreeBSD
&a.small.name;
L'uso di FreeBSD in applicazioni embedded
&a.smp.name;
Discussioni di design per sistemi a multiprocessore
[a]simmetrico
&a.sparc.name;
Il porting di FreeBSD su architetture &sparc;
&a.standards.name;
La coerenza di FreeBSD agli standards C99 e &posix;
&a.testing.name;
Test di stabilità e performance di FreeBSD
&a.threads.name;
Threading in FreeBSD
&a.tokenring.name;
Supporto per il token-ring in FreeBSD
&a.x11.name;
Mantenimento e supporto di X11 su FreeBSD
Liste limitate: Le seguenti liste sono adatte
ad un audience più specializzata (ed esigente) e probabilmente
non sono di interesse del pubblico generico. È inoltre buona
norma frequentare le liste tecniche prima di unirsi ad una di queste
liste così da comprendere l'etichetta di comunicazione
richiesta.
Lista
Argomento
&a.hubs.name;
Per coloro che gestiscono mirrors (supporto
infrastrutturale)
&a.usergroups.name;
Coordinamento dei gruppi utenti
&a.vendors.name;
Coordinamento dei venditori pre-release
&a.www.name;
Coloro che mantengono il sito www.FreeBSD.org
Liste digest: Tutte le liste sopracitate
sono anche consultabili come digest. Una volta iscritto a una lista,
puoi cambiare le tue opzioni digest nella sezione delle opzioni del tuo
account.
Liste CVS: Le liste seguenti sono per le
persone interessate a vedere i messaggi di log delle modifiche alle
varie aree dell'albero dei sorgenti. Sono liste a Sola
Lettura e non si dovrebbero inviare messaggi ad
esse.
Lista
Area dei sorgenti
Descrizione dell'area
&a.cvsall.name;
/usr/(CVSROOT|doc|ports|projects|src)
Tutte le modifiche in ogni parte dell'albero (unione di
tutte le altre liste di commit cvs)
&a.cvs-doc.name;
- /usr/doc
+ /usr/(doc|www)
- Tutte le modifiche all'albero doc
+ Tutte le modifiche all'albero doc e www
&a.cvs-ports.name;
/usr/ports
Tutte le modifiche all'albero ports
&a.cvs-projects.name;
/usr/projects
Tutte le modifiche all'albero projects
&a.cvs-src.name;
/usr/src
Tutte le modifiche all'albero src
Come iscriversi
Per iscriverti ad una lista, clicca sul nome della lista qui sopra
o vai su &a.mailman.lists.link; e clicca sulla lista a cui sei
interessato. La pagina delle liste dovrebbe contenere tutte le
informazioni necessarie all'iscrizione.
Per mandare un messaggio ad una lista basta inviare
una mail a <listname @FreeBSD.org>.
Sarà poi redisribuita a tutti i membri della lista.
Per disiscriverti da una lista, clicca sull'URL che trovi in fondo
a ogni email ricevuta dalla lista. È anche possibile inviare
un'email a
<freebsd-listname -unsubscribe@FreeBSD.org>
per disiscriverti.
A costo di ripeterci, vorremmo che i membri della lista
tecnica tenessero la discussione su un tono tecnico. Se sei solo
interessato ad annunci importanti, allora è preferibile che
ti iscrivi alla &a.announce;, creata apposta per traffico non
frequente.
Argomenti delle liste
Tutte le mailing list FreeBSD hanno alcune
regole base che tutti gli utenti devono seguire. La mancata aderenza
a queste regole comporterà due (2) avvisi scritti dal PostMaster
FreeBSD postmaster@FreeBSD.org , dopo dei quali,
ad una terza trasgressione, il membro sarà espulso da tutte
le mailing list di FreeBSD e gli sarà impedita qualsiasi futura
iscrizione. Siamo mortificati del fatto che queste
regole e misure siano necessarie, ma al giorno d'oggi Internet
è diventato, a quanto pare, un'ambiente alquanto disordinato, e
molti paiono scordarsi di quanto siano fragili alcuni suoi
meccanismi.
Regole della strada:
L'argomento di ogni messaaggio dovrebbe aderire all'argomento
della lista a cui è inviato, ad esempio se la lista è
a carattere tecnico, i vostri messaggi dovrebbero contenere
discussioni tecniche.
Chiacchiericci continui ed irrilevanti vanno a discapito del valore
della lista per tutti i suoi membri e non saranno tollerati.
Per discussioni libere senza restrizioni sull'argomento, la &a.chat;
è liberamente fruibile e dovrebbe essere usata per
questo.
Non bisognerebbe scrivere a più di due mailing list,
ed anche a due solo e soltanto se un motivo reale e concreto esiste.
Per molte liste, esiste già un grande traffico di messaggi
che si sovrappongono ed eccetto per i mix più esoterici (ad
esempio -stable & -scsi
), non c'è alcun
motivo di scrivere a più di una lista alla volta.
Se un messaggio è inviato in modo tale che molte mailing list
appaiono nella linea Cc , allora la linea
Cc dovrebbe essere suddivisa prima di inviare
nuovi messaggi. Voi siete del tutto responsabili per
i vostri messaggi inviati in modo errato, non importa di chi sia
la causa.
Attacchi personali ed insulti (nel contesto di una discussione)
non sono permessi, e questa regola comprende membri e
sviluppatori.
Gravi violazioni della netiquette, come citare o inviare messaggi
altrui quando il permesso a farlo non c'era e non sarebbe giunto
sono altamente disapprovate ma non sanzionate direttamente.
Comunque , ci sono pochissimi casi in cui
questi messaggi sarebbero pertinenti all'argomento della lista,
quindi tali comportamenti probabilmente otterrebbero un avviso (o
un espulsione) del Postmaster, solo per quel motivo.
Pubblicità di prodotti non-FreeBSD è altamente
proibita e comportertà un'espulsione immediata
se è chiaro che il trasgressore sta inviando
pubblicità spam.
Argomenti delle singole liste:
+
+ &a.acpi.name;
+
+
+ Sviluppo di ACPI e della gestione
+ dell'energia
+
+
+
&a.afs.name;
Andrew File System
Questa è la lista per le discussioni sul porting e
l'uso dell' AFS da CMU/Transarc.
&a.announce.name;
Eventi importanti/pietre miliari
Questa è la mailing list per le persone interessate
soltanto in annunci occasionali di eventi significativi
riguardanti FreeBSD.
Contiene annunci riguardo snapshots e altre release. Contiene
annunci su nuove potenzialità di FreeBSD. Può
contenere richieste di volontari etc. È una mailing list
dal poco traffico, strettamente regolata.
&a.arch.name;
Discussione sull'architettura e la
progettazione
Questa lista è per la discussione dell'architettura
FreeBSD.
I messaggi saranno mantenuti strettamente tecnici di natura.
Esempi di possibili argomenti:
Come modificare il processo di build per avere
molti build personalizzati in funzione allo stesso
tempo.
Cosa deve essere modificato nel VFS per far funzionare i
layers Heimann.
Come modificare l'interfaccia dei device driver
per poter usare gli stessi driver senza problemi su molti
buses e architetture.
Come scrivere un driver di rete.
&a.audit.name;
Progetto di audit del sorgente
Questa è la mailing list per il progetto di audit del
codice FreeBSD. Anche se in origine era intesa per cambiamenti
relativi alla sicurezza, le sue caratteristiche sono state
estese per includere ogni cambiamento al codice.
Questa lista è piena di discussioni di patch, e
probabilmente di non grandissimo interesse per l'utente medio
FreeBSD. Discussioni sulla sicurezza non relative ad una
particolare modifica del codice si tengono in FreeBSD-security.
Nel frattempo tutti gli svilupatori sono incoraggiati a spedire
le proprie patch a questa lista per correzioni, specialmente se
toccano parte del sistema dove un bug può influenzare
negativamente l'integrità del sistema.
&a.binup.name;
Aggiornamento dei binari FreeBSD
Questa lista esiste per fornire un terreno di discussione
per il sistema di aggiornamento dei binari, o
binup .
Sono consentite questioni di design, dettagli di implementazione,
patch, report di bug, report di status, richieste di feature,
log delle modifiche, e tutto ciò che riguardi
binup .
&a.bugbusters.name;
Coordinamento dello sforzo di gestione dei Problem
Report
Lo scopo di questa lista è di servire come forum di
coordinamento e discussione per il Bugmeister, i suoi Bugbuster,
e ogni altra parte che abbia un genuino interesse nel database PR.
Questa lista non è per la discussione di bug specifici,
patch, o PR.
&a.bugs.name;
Report di bug
Questa è la lista per i report dei bug di FreeBSD.
Quando possibile, i bug dovrebbero essere indicati usando il
comando &man.send-pr.1; o tramite la sua interfaccia WEB .
&a.chat.name;
Argomenti non tecnici relativi alla comunità
FreeBSD
Questa lista contiene ciò che resta dalle altre liste
riguardo ad informazioni non tecniche, sociali. Include
discussioni sul fatto che Jordan sembri o meno un toon ferret,
se scrivere o meno in maiuscolo, chi sta bevendo troppo
caffè, dove spillano la migliore birra, chi spilla birra
in cantina, e così via.
Annunci occasionali di eventi importanti (party a venire,
celebrazioni di matrimoni, nascite, nuovi lavori etc.) possono
essere fatti alle liste non tecniche, ma i suddetti argomenti
dovrebbero essere diretti a questa lista.
&a.core.name;
Il core team di FreeBSD
Questa è una lista interna ad uso dei membri core.
Messaggi possono esservi spediti quando una seria questione
relativa a FreeBSD richiede un arbitrato da un alto
scrutinio.
&a.current.name;
Discussioni sull'uso di
&os.current;
Questa è la mailing list di discussione di
&os.current;. Contiene avvertimenti su nuove features in
arrivo in -CURRENT che toccheranno gli utenti, ed istruzioni su
passi che devono restare -CURRENT. Chiunque usi
CURRENT
deve sottoscrivere questa lista.
È una mailing list tecnica per la quale ci si attende
materiale strettamente tecnico.
&a.cvsweb.name;
Progetto CVSweb di FreeBSD
Discussioni tecniche sull'uso, sviluppo e mantenimento di
FreeBSD-CVSweb
&a.doc.name;
Progetto di documentazione
Questa mailing list è per la discussione di argomenti
e progetti riguardanti la creazione della documentazione
FreeBSD. I membri di questa mailing list sono noti in genere come
The FreeBSD Documentation Project
. È una
lista aperta, sentitevi liberi di unirla e contribuirvi.
&a.firewire.name;
&firewire; (iLink, IEEE 1394)
Questa è la mailing list per la discussione del
design e l'implementazione di un sottosistema &firewire;
(anche noto come IEEE 1394 o iLink) per FreeBSD.
Argomenti rilevanti includono nello specifico gli standards, i
bus devices, i loro protocolli, insiemi di adapter
boards/cards/chips, e l'architettura e implementazione del
codice per il loro pieno supporto.
&a.fs.name;
File system
Discussioni riguardanti i file system FreeBSD. Questa
è una lista dalle caratteristiche tecniche per la quale
ci si attende contenuto strettamente tecnico.
&a.geom.name;
GEOM
Discussioni riguardanti GEOM e relative implementazioni.
Questa è una mailing list tecnica per la quale ci si
attente contenuto strettamente tecnico.
&a.gnome.name;
GNOME
Discussioni riguardanti The Gnome
Desktop Environment per sistemi FreeBSD. Questa è una
mailing list tecnica per la quale ci si attende materiale
strettamente tecnico.
&a.ipfw.name;
Firewall IP
Questo è il forum di discussione riguardante il
redesign del codice IP firewall di FreeBSD. Questa è una
mailing list tecnica per la quale ci si attende materiale
strettamente tecnico.
&a.ia64.name;
Il porting di FreeBSD su IA64
Questa è una mailing list tecnica per individui
impegnati attivamente nel porting di FreeBSD alla piattaforma
IA-64 dall'Intel, nel sollevare problemi e nel proporre
soluzioni. Individui interessati nel seguire le discussioni
tecniche sono comunque benvenuti.
&a.isdn.name;
Sistema di comunicazione ISDN
Questa è la mailing list per le persone che discutono
lo sviluppo del supporto ISDN per FreeBSD.
&a.java.name;
Sviluppo &java;
Questa è la mailing list per le persone impegnate
nello sviluppo di applicazioni &java; significative per FreeBSD
ed il porting ed il mantenimento delle &jdk;.
&a.jobs.name;
Cercasi e offresi opportunità di
lavoro
Questo è un forum dove inviare avvisi di impiego e
curriculum vitae relativi specificatamente a &os;, ad esempio
se stai cercando un impiego relativo a &os; o hai un posto di
lavoro da pubblicizzare che coinvolge &os; allora questo è
il posto giusto. Questa NON è una mailing list sui
problemi di occupazione in generale visto che forum appropriati
esistono già da altre parti.
Nota che questa lista, come le altre mailing list di
FreeBSD.org, è distribuita in tutto il mondo. Di
conseguenza, devi essere chiaro sul luogo e sulle
possibiltà di telelavoro o assistenza nel cambiare
abitazione, se disponibili.
Le email dovrebbero usare solo formati aperti —
preferibilmente testo semplice, ma molti lettori accettano anche
Portable Document Format (PDF ), HTML, e alcuni
altri. Formati chiusi come µsoft; Word
(.doc ) saranno respinti dal server delle
mailing list.
&a.kde.name;
KDE
Discussioni concernenti KDE su
sistemi FreeBSD.
È una mailing list a carattere tecnico per la quale ci si
attende materiale strettamente tecnico.
&a.hackers.name;
Discussioni tecniche
Questo è un forum per discussioni tecniche relative a
FreeBSD. Questa è la mailing list tecnica principale.
È per individui che lavorano attivamente a FreeBSD per
sollevare problemi o discutere soluzioni alternative. Individui
interessati nel seguire le discussioni tecniche sono comunque
benvenuti. È una mailing list tecnica per la quale ci si
attende contenuto strettamente tecnico.
&a.hardware.name;
Discussione generale sull'hardware e
FreeBSD
Discussione generica sui vari tipi di hardware che FreeBSD
supporta, vari problemi e suggerimenti riguardo a cosa convenga
acquistare e cosa evitare.
&a.hubs.name;
Siti mirror
Annunci e discussioni per persone che mantengono siti mirror
FreeBSD.
&a.isp.name;
Questioni riguardanti gli Internet Service
Provider
Questa mailing list è per la discussione di argomenti
riguardanti gli Internet Service Provider (ISP) che usano
FreeBSD. È una mailing list tecnica per a quale ci si
attende materiale strettamente tecnico.
&a.newbies.name;
Discussioni sulle attività dei nuovi
adepti
Copriamo ogni attività riguardante i nuovi utenti che
non sia coperta altrove, inclusi: tecniche di apprendimento e
soluzione dei problemi indipendenti, la ricerca e l'uso di risorse
in rete e la richiesta di aiuto ad altri utenti, come usare
mailing list e quali liste usare, chat generiche, gli errori, i
pregi, la condivisione di idee, storie, supporto morale (ma non
tecnico), e prendere parte attiva nella comunità FreeBSD.
Prendiamo i nostri problemi e le richieste di supporto a
freebsd-questions, e usiamo freebsd-newbies per incontrare altra
gente che sia impegnata nelle stesse attività in quanto
nuovo utente.
&a.openoffice.name;
OpenOffice.org
Questione concernenti il porting ed il mantenimento di
OpenOffice.org e
&staroffice; .
&a.performance.name;
Discussioni riguardo la calibrazione o la
velocizzazione di FreeBSD
Questa mailing list esiste per procurare ad hackers,
amministratori di sistema, e/o parti interessate un luogo
dove discutere argomenti legati alla performance di FreeBSD.
Argomenti accettabili includono installazioni di FreeBSD ad
alto carico, con problemi di performance o che stanno spingendo
ai limiti delle sue possibilità FreeBSD. Le parti
interessate che sono disposte a lavorare per un miglioramento
delle prestazioni di FreeBSD sono altamente incoraggiate
a sottoscrivere questa lista. Questa è una lista
estremamente tecnica, idealmente adatta per utenti FreeBSD
esperti, hackers o amministratori intenzionati a mantenere
FreeBSD veloce, robusto e scalabile. Questa lista non è
una lista domanda-e-risposta che sostituisce l'uso della
documentazione, quanto piuttosto un luogo dove apportare i propri
contributi o porre domande che non hanno avuto risposta altrove
riguardo a tematiche di prestazione.
&a.platforms.name;
Il porting sulle piattaforme non
Intel
Questione concernenti FreeBSD fra le varie piattaforme,
discussioni generiche e proposte per ports ad architetture non
Intel.
È una maliling list tecnica per la quale ci si attende
materiale strettamente tecnico.
&a.policy.name;
Le decisioni della politica del Core
Team
Questa è una mailing list a scarso traffico, di sola
lettura, per le decisioni politiche del Core Team.
&a.ports.name;
Discussioni sui
port
Discussioni riguardanti la collezione dei port
di FreeBSD (/usr/ports ), l'infrastruttura dei
port, e sforzi generali per la coordinazione dei port.
È una mailing list a carattere tecnico per la quale ci si
attende materiale strettamente tecnico.
&a.ports-bugs.name;
Discussione dei bug dei
port
Discussioni concernenti report di problemi sulla
collezione dei port
di FreeBSD
(/usr/ports ), proposte di nuovi port, o
modifiche ai port.
È una mailing list a carattere tecnico per la quale ci si
attende materiale strettamente tecnico.
&a.questions.name;
Domande degli utenti
Questa è una mailing list per domande riguardanti
FreeBSD. Non dovreste porre domande del tipo
how to
alle liste tecniche a meno che stiate
considerando le questioni come molto tecniche.
&a.scsi.name;
Sottosistema SCSI
Questa è la mailing list per le persone impegnate nel
sottosistema SCSI di FreeBSD. È una mailing list tecnica
per la quale ci si attende materiale strettamente
tecnico.
&a.security.name;
Questioni di sicurezza
Argomenti relativi alla sicurezza dei sistemi FreeBSD (DES,
Kerberos, buchi di sicurezza noti e fixes, etc.). Questa
è una mailing list tecnica per la quale ci si attende
materiale strettamente tecnico. Notate che questa non è
una lista domanda e risposta, ma che i contributi (SIA domande
SIA risposte) alle FAQ sono benvenute.
&a.security-notifications.name;
Notifiche riguardanti la sicurezza
Notifiche riguardanti problemi di sicurezza di FreeBSD e fix.
Non è una lista di discussione. La relativa lista di
discussione è FreeBSD-security.
&a.small.name;
Utilizzo di FreeBSD in applicazioni
embedded
Questa lista discute argomenti relativi ad installazioni di
FreeBSD su macchine dalle risorse estremamente limitate e sistemi
embedded.
&a.stable.name;
Discussioni riguardo l'uso di
&os.stable;
Questa è la mailing list degli utenti di
&os.stable;. Include avvertimenti su nuove caratteristiche
in arrivo nella -STABLE che toccheranno gli utenti, e istruzioni
sui passi da compiere per tenere aggiornata la -STABLE. Chiunque
usi la STABLE
dovrebbe sottoscrivere questa lista.
È una lista di carattere tecnico per la quale ci si
attende materiale strettamente tecnico.
&a.standards.name;
Rispetto degli standards C99 &
POSIX
Questo è un forum di discussioni tecniche relative al
rispetto degli standards C99 e POSIX da parte di FreeBSD.
&a.usergroups.name;
Lista di coordinamento dei gruppi
utenti
Questa è la mailing list per i coordinatori di ogni
Gruppo Utenti locale, in cui discutere questioni fra di loro e
un membro designato del Core Team. Questa mailing list dovrebbe
essere limitata a discussioni su meeting e coordinamento
di progetti che riguardano molti Gruppi Utenti.
&a.vendors.name;
I venditori
Discussioni di coordinamento fra il FreeBSD Project e
venditori di software e hardware per FreeBSD.
Filtraggio sulle Mailing List
Le mailing list di &os; sono filtrate in molti modi per evitare la
distribuzione di spam, virus, e altre email non volute. Le azioni di
filtraggio descritte in questa sezione non includono tutte quelle usate
per proteggere le mailing list.
Solo certi tipi di allegati sono ammessi sulle mailing list. Tutti
gli allegati con un tipo di contenuto MIME non presente nella lista
seguente saranno eliminati prima che l'email sia distribuita sulla
mailing list.
application/octet-stream
application/pdf
application/pgp-signature
application/x-pkcs7-signature
message/rfc822
multipart/alternative
multipart/related
multipart/signed
text/html
text/plain
text/x-diff
text/x-patch
Alcune mailing list potrebbero ammettere allegati di altri tipi
di contenuto MIME, ma la lista qui sopra dovrebbe essere corretta per
la maggior parte delle mailing list.
Se un'email contiene sia una versione HTML che una versione testo,
quella HTML verrà rimossa. Se un'email contiene solo una
versione HTML, sarà convertita in semplice testo.
Newsgroup Usenet
Oltre ai due newsgroup specificamente designati per FreeBSD, ve ne
sono molti altri in cui FreeBSD è discusso o che sono comunque
rilevanti per gli utenti FreeBSD. Sono disponibili degli archivi
interrogabili attraverso parole chiave su questi newsgroup per
gentile concessione di Warren Toomey
wkt@cs.adfa.edu.au .
Newsgroup specifici BSD
comp.unix.bsd.freebsd.announce
comp.unix.bsd.freebsd.misc
de.comp.os.unix.bsd (Tedesco)
+ url="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd
+ (Tedesco)
+
+
+
+ fr.comp.os.bsd (Francese)
fr.comp.os.bsd (Francese)
+ url="news:it.comp.os.freebsd">it.comp.os.freebsd
+ (Italiano)
Altri newsgroup &unix; di interesse
comp.unix
comp.unix.questions
comp.unix.admin
comp.unix.programmer
comp.unix.shell
comp.unix.user-friendly
comp.security.unix
comp.sources.unix
comp.unix.advocacy
comp.unix.misc
comp.bugs.4bsd
comp.bugs.4bsd.ucb-fixes
comp.unix.bsd
X Windows System
comp.windows.x.i386unix
comp.windows.x
comp.windows.x.apps
comp.windows.x.announce
comp.windows.x.intrinsics
comp.windows.x.motif
comp.windows.x.pex
comp.emulators.ms-windows.wine
Server World Wide Web
&chap.eresources.www.inc;
Indirizzi Email
I seguenti Gruppi Utenti forniscono indirizzi email per i propri
membri. Gli amministratori di lista si riservano il diritto di revocare
l'indirizzo assegnato se in alcun modo se ne fa cattivo uso.
Dominio
Offerta
Gruppo utente
Amministratore
ukug.uk.FreeBSD.org
Solo forwarding
freebsd-users@uk.FreeBSD.org
Lee Johnston
lee@uk.FreeBSD.org
Shell Accounts
I seguenti Gruppi utenti forniscono account di shell a persone che
supportano attivamente il progetto FreeBSD. Gli amministratori elencati
si riservano il diritto di cancellare l'account se viene in alcun modo
usato male.
Host
Accesso
Offerta
Amministratore
storm.uk.FreeBSD.org
Solo SSH
CVS a sola lettura, spazio web personale, email
&a.brian;
dogma.freebsd-uk.eu.org
Telnet/FTP/SSH
Email, spazio Web, FTP anonimo
Lee Johnston lee@uk.FreeBSD.org
diff --git a/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml b/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml
index beaa9fc27d..7d57fa501b 100644
--- a/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml
@@ -1,1014 +1,1014 @@
Jim
Mock
Ristrutturato, riorganizzato, e in parte riscritto
da
Introduzione
Sinossi
Grazie per il tuo interesse per FreeBSD! Il seguente capitolo
tratta vari aspetti del FreeBSD Project, come la sua storia,
gli obiettivi, il modello di sviluppo e così via.
Dopo aver letto questo capitolo, saprai:
Come si relazione FreeBSD rispetto agli altri sistemi operativi
per computer.
La storia del FreeBSD Project.
Gli obiettivi del FreeBSD Project.
Le basi del modello di sviluppo open source di FreeBSD.
E naturalmente: da dove deriva il nome
FreeBSD
.
Benvenuto in FreeBSD!
4.4BSD-Lite
FreeBSD è un sistema operativo basato su 4.4BSD-Lite per
- computer Intel (x86), DEC Alpha , e Sun
+ computer Intel (x86 e &itanium;), DEC Alpha , e Sun
&ultrasparc;. Port verso altre architetture sono stati avviati.
Puoi anche leggere la storia di FreeBSD,
o la release corrente. Se sei
interessato a contribuire in qualche modo al progetto (codice,
hardware, banconote non segnate), leggi l'articolo Contributing
to FreeBSD .
Cosa può fare FreeBSD?
FreeBSD ha molte caratteristiche degne di nota. Alcune di queste
sono:
multitasking preemptive
Multitasking preemptive con
adattamento dinamico della priorità per assicurare una
condivisione regolare ed equa del computer ad applicazioni
e utenti, persino sotto i carichi più pesanti.
facilities multiutente
Facilities multiutente che permettono a
molte persone di usare un sistema FreeBSD contemporaneamente per
cose diverse. Questo significa, per esempio, che le periferiche di
sistema come stampanti e unità a nastro sono correttamente
condivise tra tutti gli utenti sul sistema o sulla rete e che
possono essere posti limiti individuali ad utenti o gruppi di utenti
sulla risorsa, proteggendo le risorse di sistema critiche dall'uso
eccessivo.
networking TCP/IP
Un solido sistema di rete TCP/IP con
supporto a standard industriali quali SLIP, PPP, NFS, DHCP
e NIS. Questo significa che la tua macchina FreeBSD può
interoperare facilmente con altri sistemi ed anche agire come
server aziendale, fornendo funzioni vitali come NFS (accesso remoto
ai file) e servizi e-mail oppure mettere la tua organizzazione
su Internet con servizi WWW, FTP, routing e firewall
(sicurezza).
protezione della memoria
La protezione della memoria assicura che
le applicazioni (o gli utenti) non possano interferire l'una con
l'altra.
Una applicazione che andrà in crash non influirà
sulle altre in alcun modo.
FreeBSD è un sistema operativo a 32
- bit (64 bit su Alpha e
- &ultrasparc;) ed è stato progettato come tale sin
+ bit (64 bit su Alpha &itanium;,
+ AMD64, e &ultrasparc;) ed è stato progettato come tale sin
dall'inizio.
X Window System
XFree86
Lo standard industriale X Window System
(X11R6) fornisce una interfaccia grafica utente (GUI) al costo
di una comune scheda VGA ed un monitor e viene fornito con i
sorgenti.
compatibilità binaria
Linux
compatibilità binaria
SCO
compatibilità binaria
SVR4
compatibilità binaria
BSD/OS
compatibilità binaria
NetBSD
Compatibilità binaria con molti
programmi sviluppati per Linux, SCO, SVR4, BSDI e NetBSD.
Nella collezione di port e
package per FreeBSD sono disponibili
migliaia di applicazioni pronte a partire .
Perché cercare sulla rete quando puoi trovare qui tutto
quello che ti serve?
Su Internet sono disponibili migliaia di applicazioni
aggiuntive e facili da portare .
FreeBSD è compatibile a livello di codice sorgente con
la maggior parte dei sistemi &unix; commerciali e così la
maggior parte delle applicazioni richiedono poche modifiche per
essere compilate, se non nessuna.
memoria virtuale
La memoria virtuale paginata
su richiesta e il progetto con VM/buffer cache
integrati soddisfa efficientemente le applicazioni con grandi
appetiti di memoria mantenendo ancora la risposta interattiva per
altri utenti.
Symmetric Multi-Processing (SMP)
Il supporto SMP per macchine con
CPU multiple.
compilatori
C
compilatori
C++
compilatori
FORTRAN
una dotazione completa di strumenti di sviluppo per
C , C++ ,
Fortran , e Perl .
Sono inoltre disponibili molti linguaggi aggiuntivi per
ricerca avanzata e sviluppo nella collezione di port e
package.
codice sorgente
Avere il codice sorgente dell'intero
sistema significa avere un alto grado di controllo sull'ambiente.
Perché essere vincolati ad una soluzione proprietaria alla
mercé del tuo fornitore quando puoi avere un sistema
veramente aperto?
Estesa documentazione online .
E molto altro!
4.4BSD-Lite
Computer Systems Research Group (CSRG)
U.C. Berkeley
FreeBSD è basato sulla release 4.4BSD-Lite del Computer
Systems Research Group (CSRG) dell'Università della California di
Berkeley, e porta avanti l'inconfondibile tradizione di sviluppo
dei sistemi BSD. In aggiunta all'ottimo lavoro fornito dal CSRG, il
FreeBSD Project ha speso molte centinaia di ore nella fine regolazione
del sistema per le massime prestazioni e affidabilità nelle
situazioni di carico che si possono trovare nella vita reale.
Mentre molti giganti commerciali hanno difficoltà nel campo
dei sistemi operativi per PC con queste caratteristiche, prestazioni e
affidabilità, FreeBSD le può offrire
ora !
Le applicazioni nelle quali FreeBSD può essere impiegato
sono veramente limitate solo dalla tua immaginazione. Dallo sviluppo
software all'automazione in fabbrica, dal controllo dell'inventario alla
correzione dell'azimut delle antenne remote dei satelliti; se può
essere fatto con un prodotto &unix; commerciale allora è
più che probabile che puoi farlo anche con FreeBSD!
FreeBSD beneficia significativamente anche da letteralmente migliaia di
applicazioni di alta qualità sviluppate da centri di ricerca e
università di tutto il mondo, spesso disponibili a poco prezzo o
gratuite.
Sono anche disponibili applicazioni commerciali e compaiono
in numero maggiore ogni giorno.
Poiché il codice sorgente dello stesso FreeBSD è
normalmente disponibile, il sistema può anche essere
personalizzato ad un livello inimmaginabile per applicazioni o progetti
particolari, e in modi non generalmente possibili con i sistemi
operativi della maggior parte dei produttori commerciali. Ecco solo
alcuni esempi di alcune delle applicazioni nelle quali attualmente la
gente sta usando FreeBSD:
Servizi Internet: Il robusto sistema di
rete TCP/IP di FreeBSD lo rende una piattaforma ideale per una
varietà di servizi Internet quali:
server FTP
server FTP
server web
server World Wide Web (standard o sicuri [SSL])
firewall
mascheramento dell'IP
Firewall e gateway NAT (mascheramento
dell'IP
).
posta elettronica
server di Posta Elettronica
USENET
USENET News o Bulletin Board Systems
E altro...
Con FreeBSD, puoi facilmente partire in piccolo con
un PC a buon mercato della classe 386 e aggiornare poi
ad un quadriprocessore Xeon con dischi RAID se la tua
azienda cresce.
Insegnamento: Sei uno studente di
informatica o legato al campo dell'ingegneria? Non c'è
miglior modo di imparare i sistemi operativi, l'architettura
dei computer e il networking che l'esperienza pratica e in
profondità che FreeBSD può fornire.
Il numero di pacchetti di CAD, di progettazione grafica e matematica
disponibili gratuitamente lo rendono anche estremamente
utile per coloro il cui interesse principale nei computer
è vedere altro lavoro svolto!
Ricerca: Con il codice sorgente
disponibile per l'intero sistema, FreeBSD è una
eccellente piattaforma per la ricerca nei sistemi operativi
come pure per altre branche dell'informatica. La natura di
libera circolazione di FreeBSD rende anche possibile a
gruppi distanti di collaborare sulle idee o condividere lo
sviluppo senza aver da preoccuparsi di accordi di licenza
speciali o limitazioni su quello che può essere
discusso in un forum pubblico.
router
server DNS
Networking: Ti serve un nuovo router?
Un server dei nomi (DNS)? Un firewall per tenere la gente fuori
dalla tua rete interna? FreeBSD può facilmente tramutare
quel 386 inutilizzato o quel PC 486 che giace nell'angolo in un
router avanzato con sofisticate capacità di filtraggio dei
pacchetti.
Sistema X Window
XFree86
Sistema X Window
Accelerated-X
Stazione di lavoro con X Window: FreeBSD
è un'ottima scelta come soluzione per un terminale X
economico, sia usando il server &xfree86; liberamente disponibile o
uno degli eccellenti server commerciali forniti da Xi Graphics .
Diversamente da un terminale X, FreeBSD permette a molte
applicazioni di girare localmente se desiderato, sollevando
così il carico da un server centrale. FreeBSD può
anche partire senza disco
, rendendo le stazioni
individuali persino più economiche e facili da
amministrare.
GNU Compiler Collection
Sviluppo Software: Di base FreeBSD arriva
con un pieno complemento di strumenti di sviluppo incluso il
rinnovato compilatore GNU C/C++ e il debugger.
FreeBSD è disponibile sia in forma sorgente che binaria
su CDROM, DVD e via FTP anonimo. Guarda l' per
maggiori informazioni su come ottenere FreeBSD.
Chi Usa FreeBSD?
utenti
Grandi siti dove gira FreeBSD
FreeBSD è usato per far funzionare alcuni dei più
grossi siti su Internet, inclusi:
Yahoo!
Yahoo!
Apache
Apache
Blue Mountain Arts
Blue Mountain
Arts
Pair Networks
Pair
Networks
Sony Japan
Sony
Japan
Netcraft
Netcraft
Weathernews
Weathernews
Supervalu
Supervalu
TELEHOUSE America
TELEHOUSE
America
Sophos Anti-Virus
Sophos
Anti-Virus
JMA Wired
JMA Wired
e molti altri.
Informazioni sul FreeBSD Project
La sezione seguente fornisce alcune informazioni relative al
progetto, includendo una breve storia, gli obiettivi, e
il modello di sviluppo.
Jordan
Hubbard
Contributo di
Breve storia di FreeBSD
386BSD Patchkit
Hubbard, Jordan
Williams, Nate
Grimes, Rod
FreeBSD Project
storia
Il FreeBSD Project ebbe la sua genesi nella prima parte del 1993,
come una sorta di crescita oltremisura del Patchkit Non Ufficiale
di 386BSD
dagli ultimi tre coordinatori del patchkit: Nate
Williams, Rod Grimes e me stesso.
386BSD
Il nostro obiettivo originario era di produrre uno snapshot
intermedio di 386BSD allo scopo di risolvere una serie di problemi
che il meccanismo del patchkit non era semplicemente in grado di
risolvere.
Alcuni di voi potranno ricordare che il primo titolo funzionante per il
progetto fu 386BSD 0.5
o 386BSD Interim
in
riferimento a quel fatto.
Jolitz, Bill
386BSD era il sistema operativo di Bill Jolitz, che era arrivato a
questo punto soffrendo piuttosto pesantemente di quasi un anno
di disinteresse. Visto che il patchkit si gonfiava sempre più
scomodamente con il passare dei giorni, fummo d'accordo
all'unanimità che doveva essere fatto qualcosa e
decidemmo di provare ad assistere Bill fornendo questo snapshot
ad interim ripulito
. Questi piani
ebbero un brusco arresto quando Bill Jolitz improvvisamente decise
di ritirare la sua approvazione al progetto senza nessuna chiara
indicazione di cosa invece doveva essere fatto.
Greenman, David
Walnut Creek CDROM
Non ci volle molto per decidere che l'obiettivo rimaneva
utile, persino senza il supporto di Bill, e così
adottammo il nome FreeBSD
, coniato da David Greenman.
I nostri obiettivi iniziali furono decisi dopo esserci consultati
con gli utenti dell'epoca del sistema e, una volta che divenne chiaro
che il progetto era sulla strada giusta e forse stava persino diventando
una realtà, contattai la Walnut Creek CDROM con un occhio verso
il miglioramento dei canali distributivi di FreeBSD per quei molti
sfortunati che non avevano facile accesso a Internet.
La Walnut Creek CDROM non solo supportò l'idea di distribuire
FreeBSD su CD ma andò anche più lontano fornendo al
progetto una macchina per lavorarci su e una connessione ad Internet
veloce. Senza il grado di fiducia quasi senza precedenti della Walnut
Creek CDROM in quello che era, a quel tempo, un progetto completamente
sconosciuto, è abbastanza improbabile che FreeBSD sarebbe andato
così lontano, così velocemente, come è oggi.
4.3BSD-Lite
Net/2
U.C. Berkeley
386BSD
Free Software Foundation
La prima distribuzione su CDROM (e largamente disponibile sulla
rete) fu FreeBSD 1.0, rilasciata nel dicembre del 1993. Questa era
basata su un nastro della 4.3BSD-Lite (Net/2
) della
U.C. Berkeley, con molti componenti forniti anche da 386BSD e dalla Free
Software Foundation. Fu un successo abbastanza ragionevole per una
prima offerta, e lo seguimmo dal grande successo di FreeBSD release
1.1 nel maggio del 1994.
Novell
U.C. Berkeley
Net/2
AT&T
Circa in questo periodo si formarono all'orizzonte alcune nuvole
temporalesche piuttosto inaspettate allorché Novell e
U.C. Berkeley risolsero la loro lunga causa civile sullo stato legale
del nastro di Berkeley Net/2. Una condizione di quell'accordo era la
concessione di U.C. Berkeley che vaste parti di Net/2 erano codice
ingombrante
e di proprietà di Novell, che lo aveva
infine acquistato da AT&T qualche tempo addietro.
Quello che Berkeley ottenne in cambio fu la
benedizione
di Novell che la release 4.4BSD-Lite, quando
fu finalmente rilasciata, fosse dichiarata non ingombrante e che tutti
gli utenti Net/2 esistenti fossero fortemente incoraggiati a cambiare.
Questo incluse FreeBSD, e al progetto fu dato tempo fino alla fine di
luglio 1994 per fermare la spedizione del proprio prodotto basato su
Net/2. Sotto i termini di quell'accordo, fu permesso al progetto
un ultimo rilascio prima della scadenza, e quella release fu
FreeBSD 1.1.5.1
FreeBSD allora si accinse nell'arduo compito di letteralmente
reinventare se stesso da un insieme di bit di 4.4BSD-Lite
completamente nuovo e piuttosto incompleto. Le release
Lite
erano light (leggere) in parte perché
il CSRG di Berkeley aveva rimosso grandi sezioni di codice richiesto
per costruire effettivamente un sistema funzionante in grado di partire
(dovuto a varie richieste legali) e in parte al fatto che il port per
Intel della 4.4 era altamente incompleto. Al progetto ci volle fino al
novembre del 1994 per fare questa transizione; a quel punto
rilasciò FreeBSD 2.0 sulla rete e su CDROM (nel tardo
dicembre). A dispetto del fatto di essere ancora più che un po'
ruvida ai bordi, la release fu un successo significativo e fu
seguita dalla release FreeBSD 2.0.5 più robusta e
semplice da installare nel giugno del 1995.
Rilasciammo FreeBSD 2.1.5 nell'agosto del 1996, e parve essere
abbastanza popolare tra gli ISP e le comunità commerciali tanto
che si meritò un'altra release nel corso del ramo 2.1-STABLE.
Questa era FreeBSD 2.1.7.1, rilasciata nel febbraio 1997 e apoteosi
dello sviluppo principale sulla 2.1-STABLE. Attualmente in
modalità di manutenzione, su questo ramo (RELENG_2_1_0) verranno
sviluppati solo miglioramenti della sicurezza e correzioni degli
errori.
FreeBSD 2.2 fu derivato dallo sviluppo della linea principale
(-CURRENT
) nel novembre 1996 come ramo RELENG_2_2,
e la prima release completa (2.2.1) fu rilasciata nell'aprile 1997.
Furono rilasciate ulteriori release del ramo 2.2 nell'estate e
nell'autunno del '97, l'ultima delle quali (2.2.8) apparve nel
novembre 1998. La prima release 3.0 ufficiale apparve
nell'ottobre 1998 e segnò l'inizio della fine per il ramo
2.2.
L'albero si ramificò ancora il 20 gennaio 1999, dividendosi
nei rami 4.0-CURRENT e 3.X-STABLE. Dalla 3.X-STABLE, la 3.1 fu
rilasciata il 15 febbraio 1999, la 3.2 il 15 maggio 1999, la 3.3 il 16
settembre 1999, la 3.4 il 20 dicembre 1999 e la 3.5 il 24 giugno 2000,
seguita pochi giorni dopo da un aggiornamento di punto inferiore alla
release 3.5.1 per incorporare alcune correzioni dell'ultimo minuto
a Kerberos sulla sicurezza.
Questa sarà l'ultima release del ramo 3.X.
Ci fu un'altra ramificazione il 13 marzo 2000, che vide
- l'apparizioni del ramo 4.X-STABLE, ora considerato essere il
+ l'apparizione del ramo 4.X-STABLE, ora considerato essere il
ramo -STABLE corrente
. Ci sono state numerose release da
allora: la 4.0-RELEASE fu introdotta nel marzo 2000, e la più
recente &rel2.current;-RELEASE venne fuori nel &rel2.current.date;.
Ci saranno release aggiuntive lungo il ramo 4.X-STABLE (RELENG_4) per
tutto il 2003.
La tanto attesa 5.0-RELEASE è stata annunciata il 19 gennaio
2003. Il culmine di quasi tre anni di lavoro, questa release ha
iniziato FreeBSD nel percorso del supporto avanzato al multiprocessore e
ai thread nelle applicazioni e ha introdotto il supporto per le
piattaforme &ultrasparc; e ia64 .
Questa release è stata seguita
dalla 5.1 nel giugno del 2003. A parte un certo numero di nuove
funzionalità, le release 5.X contengono anche parecchi sviluppi
maggiori sull'architettura di sistema sottostante. Insieme a questi
vantaggi, tuttavia, arriva un sistema che incorpora una quantità
impressionante di codice nuovo e non completamente testato. Per questa
ragione, le release 5.X sono considerate release con Nuove
Tecnologie
, mentre quelle della serie 4.X come release di
Produzione
. Col tempo, la 5.X sarà dichiarata
stabile e comincerà il lavoro sul prossimo ramo di sviluppo,
6.0-CURRENT.
Per ora, lo sviluppo dei progetti a lungo termine continua ad aver
luogo nell'albero 5.X-CURRENT, e release SNAPshot della 5.X su CDROM
(e, naturalmente, sulla rete) sono continuamente rese disponibili
sul
server snapshot mentre il lavoro procede.
Jordan
Hubbard
Contributo di
Obiettivi del FreeBSD Project
FreeBSD Project
obiettivi
Gli obiettivi del FreeBSD Project sono di fornire software
che può essere usato per qualunque scopo senza vincoli.
Molti di noi hanno fatto un investimento significativo nel codice (e nel
progetto) e certamente non dovrebbero essere interessati ad un piccolo
compenso finanziario qua e là, ma non siamo sicuramente preparati
ad insistere su questo. Noi crediamo che la nostra prima e prioritaria
missione
sia di fornire codice a tutti i partecipanti,
presenti e futuri, e per qualunque scopo, così che il codice
abbia un uso il più possibile ampio e fornisca i più
ampi benefici. Questo è, io credo, uno degli obiettivi
fondamentali del Software Libero (Free Software) e che noi supportiamo
entusiasticamente.
GNU General Public Licence (GPL)
GNU Lesser General Public License (LGPL)
Copyright BSD
Quel codice nel nostro albero dei sorgenti che cade sotto
la GNU General Public Licence (GPL) o la GNU Lesser General Public
License (LGPL) ha un po' più di vincoli, sebbene
almeno dal lato di rafforzare l'accesso piuttosto che l'opposto.
Date le complessità aggiuntive che possono
risultare dall'uso commerciale di software GPL noi preferiamo,
tuttavia, software rilasciato sotto il più rilassato copyright
BSD quando è una scelta ragionevole farlo.
Satoshi
Asami
Contributo di
Il Modello di Sviluppo di FreeBSD
FreeBSD Project
modello di sviluppo
Lo sviluppo di FreeBSD è un processo molto aperto
e flessibile, essendo costruito dal contributo di centinaia
di persone di tutto il mondo, come puoi vedere dalla nostra
lista dei
collaboratori . L'infrastruttura di sviluppo di FreeBSD
permette a queste centinaia di sviluppatori di collaborare su Internet.
Siamo costantemente alla ricerca di nuovi
sviluppatori e idee, e quelli interessati a essere coinvolti
maggiormente nel progetto devono semplicemente contattarci sulla
&a.hackers;. La &a.announce; è anche disponibile a quelli
che vogliono informare altri utenti FreeBSD delle principali aree
di lavoro.
Cose utili da sapere sul FreeBSD Project e il suo processo di
sviluppo, sia lavorando in modo indipendente che in stretta
cooperazione:
Il repository CVS
CVS
repository
Concurrent Versions System
CVS
L'albero centrale dei sorgenti FreeBSD è mantenuto
tramite CVS
(Concurrent Versions System, ovvero Sistema di Versioni
Concorrenti), uno strumento di controllo dei codici sorgenti
liberamente disponibile che viene distribuito con FreeBSD.
Il principale repository
CVS risiede su una macchina a Santa Clara CA, USA
da dove è replicato su numerose macchine speculari in
tutto il mondo. L'albero CVS, che contiene gli alberi -CURRENT e -STABLE,
possono essere facilmente replicati anche sulla tua macchina.
Fai riferimento alla sezione Sincronizzazione dei Tuoi Sorgenti per
maggiori informazioni su come fare.
La lista dei committer
committers
I committer sono persone che hanno
permesso di scrivere nell'albero CVS, e sono
autorizzate ad apportare modifiche ai sorgenti di
FreeBSD (il termine committer
viene dal comando
commit di &man.cvs.1;, che è usato per
portare i nuovi cambiamenti al repository CVS). Il modo migliore
di sottoporre modifiche alla revisione da parte della lista dei
committer è usare il comando &man.send-pr.1;.
Se qualcosa appare inceppato nel sistema, allora puoi anche
raggiungerli mandando un messaggio alla &a.committers;.
Il core team di FreeBSD
core team
Il core team di FreeBSD
dovrebbe essere equivalente al consiglio dirigente se
il FreeBSD Project fosse una azienda. Il compito principale
del core team è assicurarsi che il progetto, nella sua
interezza, sia in buona salute e sia diretto nella
giusta direzione. Una delle funzioni del core team è
invitare sviluppatori responsabili e dedicati a unirsi al nostro
gruppo di committer come altri ne escono. L'attuale core team
è stato eletto da un insieme di candidati committer nel
giugno 2002.
Le elezioni vengono tenute ogni 2 anni.
Alcuni membri del core team hanno anche aree specifiche di
responsabilità, significando che sono impegnati ad
assicurare che grandi porzioni del sistema funzionino come
annunciato. Per una lista completa degli sviluppatori di FreeBSD
e le loro aree di responsabilità, guarda la Contributors
List
Molti membri del core team sono volontari per quanto
riguarda lo sviluppo di FreeBSD e non beneficiano
finanziariamente dal progetto, così pure
l'impegno
non dovrebbe essere frainteso come
supporto garantito
. Allo stesso modo; l'analogia
con il consiglio direttivo
non è
molto calzante, e può essere più corretto dire che
queste sono persone che hanno rinunciato alle loro vite in
favore di FreeBSD, contro il loro senso del giudizio!
Collaboratori esterni
collaboratori
Non da ultimo, il più grande gruppo di sviluppatori
sono gli stessi utenti che ci forniscono feedback e correzioni di
bug quasi costantemente. Il modo principale di tenersi in
contatto con lo sviluppo non centralizzato di FreeBSD è
iscriversi alla &a.hackers; dove queste cose vengono discusse.
Guarda il per maggiori informazioni
sulle varie mailing list di FreeBSD.
La
Lista dei Collaboratori di FreeBSD
è lunga e cresce continuamente, quindi perché non
entri a far parte di essa contribuendo e dando tu qualcosa a
FreeBSD?
Fornire codice non è il solo modo di contribuire al
progetto, per una lista completa di cose che serve fare, fai
riferimento al sito web del
FreeBSD Project .
In conclusione, il nostro modello di sviluppo è organizzato
come un insieme sciolto di cerchi concentrici. Il modello centralizzato
è progettato per agevolare gli utenti di
FreeBSD, ai quali viene fornito un modo semplice per tenere traccia di
una base di codice centrale, non per tenere fuori potenziali
collaboratori! È nostro desiderio presentare un sistema operativo
stabile con un ampio insieme di programmi
applicativi coerenti che gli utenti possono facilmente
installare ed usare — questo modello funziona molto bene per
realizzare ciò.
Tutto quello che chiediamo a quelli che vogliono unirsi a noi come
sviluppatori di FreeBSD è un po' della stessa dedizione che
hanno le attuali persone al suo continuo successo!
La Release Corrente di FreeBSD
NetBSD
OpenBSD
386BSD
Free Software Foundation
U.C. Berkeley
Computer Systems Research Group (CSRG)
FreeBSD è liberamente disponibile, è basato tutto su
sorgenti 4.4BSD-Lite, è rilasciato per computer Intel &i386;,
&i486;, &pentium;, &pentium; Pro, &celeron;, &pentium; II,
&pentium; III, &pentium; 4 (o compatibili), &xeon;, DEC
Alpha e Sun &ultrasparc;.
È basato principalmente su software del gruppo CSRG della
U.C. Berkeley, con alcuni miglioramenti presi da NetBSD, OpenBSD,
386BSD, e dalla Free Software Foundation.
Dalla nostra release di FreeBSD 2.0 nel lontano '94, le
prestazioni, l'insieme di caratteristiche, e la stabilità di
FreeBSD sono migliorate notevolmente.
Il più grande cambiamento è
stato la riscrittura del sistema di memoria virtuale con una VM/file
buffer cache integrata che non solo incrementa le prestazioni, ma anche
riduce la richiesta di memoria di FreeBSD, rendendo una configurazione
con 5 MB un minimo accettabile. Altri miglioramenti includono il
completo supporto a client e server NIS, il supporto delle transazioni
TCP, la chiamata-su-richiesta di PPP, il supporto integrato del DHCP, un
sottosistema SCSI migliorato, il supporto ISDN, il supporto per ATM,
FDDI, per gli adattatori Fast e Gigabit Ethernet (1000 Mbit), un
supporto migliorato degli ultimi controller Adaptec, e molte migliaia
di correzioni di bug.
In aggiunta alla distribuzione di base, FreeBSD offre una
collezione di software portato con migliaia di programmi
comunemente cercati. Alla data di stampa, ci sono oltre
&os.numports; port! La lista dei port comprende server http (WWW),
giochi, linguaggi, editor e quasi tutto quello che sta in mezzo.
L'intera collezione dei port richiede approssimativamente &ports.size;
di spazio, essendo tutti i port espressi come delta
dei loro sorgenti originari. Questo rende più facile per
noi aggiornare i port, e riduce di molto la domanda di spazio su
disco dalla vecchia collezione 1.0 dei port. Per compilare un port,
vai semplicemente nella directory che vuoi installare, digita
make install e lascia che il sistema faccia il
resto. La distribuzione originale completa per ogni port che compili
viene presa dinamicamente dal CDROM o da un sito FTP locale, così
hai bisogno solo lo spazio su disco sufficiente per compilare il
port che vuoi. Quasi ogni port viene fornito di un
package
precompilato che può
essere installato con un semplice comando (pkg_add )
da coloro che non vogliono compilare i propri port dai sorgenti.
Maggiori informazioni sui package e sui port possono essere trovate
nel .
Un numero di documenti aggiuntivi che puoi trovare molto utili nel
processo di installazione e di utilizzo di FreeBSD ora può essere
trovato anche nella directory /usr/share/doc su
ogni recente macchina FreeBSD. Puoi vedere i
manuali installati localmente con qualsiasi browser HTML usando i
seguenti URL:
Il Manuale di FreeBSD
/usr/share/doc/handbook/index.html
Domande Comuni su FreeBSD
/usr/share/doc/faq/index.html
Puoi vedere anche le copie originali (e aggiornate più
frequentemente) su http://www.FreeBSD.org/ .
diff --git a/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml b/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml
index 4aa531454f..4afb3b3c67 100644
--- a/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml
@@ -1,1101 +1,1101 @@
Andrey A.
Chernov
Contributo di
Michael C.
Wu
Revisione di
Localizzazione - Uso e Impostazione dell'I18N/L10N
Sinossi
FreeBSD è un progetto di larga diffusione con utenti e
collaboratori in ogni parte del mondo. Questo capitolo affronta quegli
aspetti tipici di FreeBSD relativi all'internazionalizzazione e
localizzazione del sistema che permettono agli utenti non di lingua
inglese di operare in maniera più confortevole. Ci sono molti
aspetti da considerare dell'implementazione I18N sia a livello utente che
di sistema, perciò, ove necessario, si rinvierà il lettore
a fonti di informazione più specifiche.
Dopo aver letto questo capitolo, saprai:
Come i vari linguaggi e nazioni sono codificati nei moderni
sistemi operativi.
Come impostare la localizzazione per la tua shell di login.
Come configurare la tua console per una lingua che non sia
l'inglese.
Come usare concretamente X Window System con differenti
lingue.
Dove reperire ulteriori informazioni su come scrivere applicazioni
I18N compatibili.
Prima di leggere questo capitolo, dovresti:
Sapere come installare applicazioni aggiuntive di terze parti
().
Principi di Base
Cosa significano le sigle I18N/L10N?
internazionalizzazione
localizzazione
Gli sviluppatori hanno abbreviato la parola
internationalization
in I18N, contando il numero di
lettere che costituiscono la parola internationalization
,
escludendo la prima e l'ultima. Lo stesso è stato fatto per
l'acronimo L10N, che deriva appunto da localization
.
Combinando insieme i metodi, i protocolli e le applicazioni che
rispettano gli standard I18N/L10N si permette agli utenti di utilizzare
una qualsiasi lingua di propria scelta.
Le applicazioni I18N sono realizzate mediante appositi kit,
disponibili tramite specifiche librerie. Questo permette agli
sviluppatori di scrivere in un normale file di testo i menù e i
messaggi da visualizzare nel programma e di tradurlo poi nelle varie
lingue. Si raccomandano vivamente i programmatori di seguire questa
convenzione.
Perché Dovrei Usare I18N/L10N?
I18N/L10N è usato ogni qualvolta desideri visualizzare,
immettere o processare dati in lingue diverse da quella inglese.
Quali Lingue sono Disponibili nel Lavoro I18N?
I18N e L10N non sono caratteristiche specifiche di FreeBSD. Al
momento, è possibile scegliere fra la maggior parte delle lingue
più diffuse nel mondo, tra le quali: cinese, tedesco, giapponese,
francese, russo, italiano e altre ancora.
Come Utilizzare la Localizzazione
Vista la sua importanza, I18N non è specifico del sistema
FreeBSD ed è una convenzione. Siete invitati ad aiutare
il progetto FreeBSD per sostenere questa convenzione.
locale
Le impostazioni per la localizzazione o nazionalizzazione sono basate
su tre termini principali: Codice Lingua, Codice Nazione e Codifica. I
nomi che contraddistinguono una localizzazione sono formati utilizzando
questi termini nel modo seguente:
CodiceLingua _CodiceNazione .Codifica
I Codici per la Lingua e la Nazione
codici lingua
codici nazione
Al fine di localizzare un sistema FreeBSD (o qualsiasi altro sistema
&unix; che gestisca I18N) in una specifica lingua, l'utente deve
innanzitutto conoscere i codici della nazione e della lingua desiderati
(i codici delle nazioni segnalano alle applicazioni quali convenzioni
adottare all'interno di un dato linguaggio). Inoltre, i browser web, i
server SMTP/POP, i server web, ecc. possono operare in base ad essi.
I seguenti sono esempi di codici lingua/nazione:
Codice Lingua/Nazione
Descrizione
en_US
inglese - Stati Uniti d'America
ru_RU
russo - Russia
zh_TW
cinese tradizionale - Taiwan
Codifiche
codifiche
ASCII
Alcune lingue utilizzano codifiche non ASCII, cioè caratteri
a 8 bit, estesi o multibyte, vedere &man.multibyte.3; per maggiori
dettagli. Le applicazioni più vecchie, non riconoscendoli, li
interpretano come caratteri di controllo. Quelle più recenti
invece riconoscono di solito i caratteri a 8 bit. A seconda
dell'implementazione, è possibile che gli utenti debbano
ricompilare un'applicazione con il supporto ai caratteri estesi o
multibyte, o debbano configurare l'applicazione in modo corretto. Per
essere in grado di immettere e di elaborare caratteri estesi o
multibyte, la FreeBSD Ports
Collection fornisce vari programmi in differenti linguaggi.
Si faccia riferimento alla relativa documentazione I18N del port
di FreeBSD.
Precisamente, l'utente deve consultare la documentazione propria
dell'applicazione per conoscere come configurarla correttamente o come
passare i giusti valori al configuratore/Makefile/compilatore.
Alcune cose da tener presente sono:
Gli insiemi di caratteri rappresentabili dal tipo char del
linguaggio C, specifici della lingua (vedere &man.multibyte.3;),
cioè ISO-8859-1, ISO-8859-15, KOI8-R, CP437.
Codifiche estese o multibyte, cioè EUC, Big5.
Puoi consultare l'elenco corrente degli insiemi di caratteri nel
Registro
IANA .
Con le versioni 4.5 o successive di FreeBSD si utilizzino le
codifiche per la localizzazione compatibili con X11.
Applicazioni I18N
Nel sistema dei port e dei pacchetti precompilati di FreeBSD, le
applicazioni I18N sono facilmente riconoscibili, perché il loro
nome include la sigla I18N . Tuttavia, non sempre
queste potrebbero supportare la lingua desiderata.
Impostazione del Locale
Di solito è sufficiente esportare il valore del nome del
locale posto nella variabile LANG all'interno della shell
di login. Questo può essere fatto utilizzando il file
dell'utente ~/.login_conf oppure il file di
configurazione della shell di login dell'utente
(~/.profile , ~/.bashrc ,
~/.cshrc ). Non c'è bisogno di impostare le
altre variabili del locale, come LC_CTYPE ,
LC_CTIME . Per maggiori informazioni si faccia
riferimento alla documentazione di FreeBSD specifica per la data
lingua.
Puoi settare le due variabili d'ambiente seguenti nei tuoi file di
configurazione:
POSIX
LANG per le funzioni appartenenti alla
famiglia &posix;, &man.setlocale.3;
MIME
MM_CHARSET per l'insieme dei caratteri che
dovranno usare le applicazioni che supportano lo standard
MIME
Ciò va fatto per la configurazione della shell dell'utente,
di un'applicazione specifica e per quella di X11.
Metodi di Localizzazione
locale
classe di login
Ci sono due metodi per impostare il locale, entrambi descritti qui
di seguito. Il primo (raccomandato) consiste nell'impostare le
variabili d'ambiente in una classe di
login, mentre il secondo consiste nell'aggiungere i valori
delle variabili d'ambiente al file
d'avvio della shell di sistema.
Metodo delle Classi di Login
Questo metodo fa sì che le variabili d'ambiente
necessarie per il nome del locale e per gli insiemi dei caratteri
MIME vengano inizializzate una volta sola per ogni possibile shell
di sistema invece di aggiungere specifici assegnamenti per ogni file
d'avvio di shell. Il Setup a Livello
Utente può essere fatto dall'utente stesso e il
Setup a Livello Amministratore
richiede i privilegi del superuser.
Setup a Livello Utente
Ecco un breve esempio di un file
.login_conf posto nella directory home di un
utente che ha entrambe le variabili impostate alla codifica
Latin-1:
me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:
cinese tradizionale
codifica BIG-5
Ecco invece un esempio di un file
.login_conf che imposta le variabili per il
cinese tradizionale con codifica BIG-5. Si noti che sono state
impostate molte variabili perchè alcuni programmi non
rispettano come dovrebbero le variabili di localizzazione per il
cinese, giapponese e il coreano.
#Gli utenti che non vogliono usare l'unità monetaria o i formati temporali
#di Taiwan possono modificare manualmente ogni variabile
me:\
- lang=zh_TW.Big5:\
- lc_all=zh_TW.Big:\
- lc_collate=zh_TW.Big5:\
- lc_ctype=zh_TW.Big5:\
- lc_messages=zh_TW.Big5:\
- lc_monetary=zh_TW.Big5:\
- lc_numeric=zh_TW.Big5:\
- lc_time=zh_TW.Big5:\
- charset=big5:\
- xmodifiers="@im=xcin": #Setta il XIM Input Server
+ :lang=zh_TW.Big5:\
+ :lc_all=zh_TW.Big:\
+ :lc_collate=zh_TW.Big5:\
+ :lc_ctype=zh_TW.Big5:\
+ :lc_messages=zh_TW.Big5:\
+ :lc_monetary=zh_TW.Big5:\
+ :lc_numeric=zh_TW.Big5:\
+ :lc_time=zh_TW.Big5:\
+ :charset=big5:\
+ :xmodifiers="@im=xcin": #Setta il XIM Input Server
Vedere il paragrafo Setup a Livello
Amministratore e &man.login.conf.5; per maggiori
dettagli.
Setup a Livello Amministratore
Controlla che la classe di login dell'utente in
/etc/login.conf selezioni la lingua corretta.
Assicurati che queste impostazioni appaiano in
/etc/login.conf :
nome_lingua :titolo_account :\
:charset=MIME_charset :\
:lang=nome_locale :\
:tc=default:
Ritornando quindi all'esempio di prima che utilizzava Latin-1,
si dovrebbe avere una cosa simile a questa:
tedesco:Account Utenti Tedeschi:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:
Modifica delle Classi di Login con
&man.vipw.8;
vipw
Usa vipw per aggiungere nuovi utenti, e
crea qualcosa di simile a quanto segue:
utente:password:1111:11:lingua :0:0:Nome Utente:/home/user:/bin/sh
Modifica delle Classi di Login con
&man.adduser.8;
adduser
classe di login
Usa adduser per aggiungere nuovi utenti, in
questo modo:
Imposta defaultclass =
lingua in
/etc/adduser.conf . Tieni presente che
in questo modo dovrai inserire una classe
default per tutti gli utenti di altre
lingue.
In alternativa si può specificare la lingua
desiderata ogni volta che appare il prompt
Enter login class: default []:
durante l'esecuzione di &man.adduser.8;
Un'altra alternativa è utilizzare il comando nel
modo seguente per ogni utente di una diversa lingua che si
desidera aggiungere:
&prompt.root; adduser -class lingua
Cambiare le Classi di Login con &man.pw.8;
pw
Se utilizzi il comando &man.pw.8; per aggiungere nuovi utenti,
invocalo in questo modo:
&prompt.root; pw useradd nome_utente -L lingua
Metodo del File di Avvio della Shell
Questo metodo è sconsigliato perché richiede una
inizializzazione diversa per ogni possibile shell. Usa invece il
Metodo delle Classi di
Login.
MIME
locale
Per aggiungere il nome del locale e l'insieme dei caratteri per
lo standard MIME, bisogna semplicemente settare le due variabili
d'ambiente mostrate di seguito nei file d'avvio della shell
/etc/profile e/o
/etc/csh.login . Nell'esempio che segue viene
utilizzata la lingua tedesca:
In /etc/profile :
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO8859-1; export MM_CHARSET
Oppure in /etc/csh.login :
setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO8859-1
Lo stesso risultato si ottiene aggiungendo i precedenti comandi
al file /usr/share/skel/dot.profile (per i
comandi usati in /etc/profile ), oppure al file
/usr/share/skel/dot.login (per quelli in
/etc/csh.login ).
Per l'ambiente X11:
Nel file $HOME/.xinitrc :
LANG=de_DE.ISO8859-1; export LANG
Oppure:
setenv LANG de_DE.ISO8859-1
a seconda della shell utilizzata (vedi sopra).
Settaggio della Console
Per tutti gli insiemi di caratteri che sono rappresentabili con il
tipo char in C, imposta i font della console adatti alla lingua
prescelta in /etc/rc.conf :
font8x16=nome_font
font8x14=nome_font
font8x8=nome_font
nome_font è il nome di uno dei
file di font presenti nella directory
/usr/share/syscons/fonts , privato del suffisso
.fnt .
sysinstall
keymap
screenmap
Assicurati anche di impostare la giusta mappatura della tastiera
e del video per il proprio set di caratteri usando
/stand/sysinstall . Una volta all'interno di
sysinstall , seleziona
Configure , quindi
Console . In alternativa, aggiungi le
seguenti righe in /etc/rc.conf :
scrnmap=nome_screenmap
keymap=nome_keymap
keychange="numero_tasto_funzione sequenza "
nome_screenmap viene preso dalla
directory /usr/share/syscons/scrnmaps , privato del
suffisso .scm . Una screenmap
assieme ad una corrispondente mappa dei font è solitamente
necessaria nel caso la scheda grafica non gestisca i font via software,
ma li abbia codificati internamente; la screenmap serve appunto a
rimappare tali font interni nel font prescelto.
Se hai abilitato il demone moused
inserendo la seguente riga in /etc/rc.conf :
moused_enable="YES"
allora leggi quanto riportato nel prossimo paragrafo sul cursore
del mouse.
moused
Di default il cursore del mouse del driver &man.syscons.4; occupa
l'intervallo da 0xd0 a 0xd3 nel set di caratteri in uso. Se la tua
lingua utilizza tali caratteri, devi spostare l'intervallo occupato dal
cursore. Per far questo con le versioni anteriori alla 5.0 di FreeBSD,
inserisci la seguente riga nel tuo file di configurazione del
kernel:
options SC_MOUSE_CHAR=0x03
Per le versioni 4.4 e successive aggiungi la seguente riga al file
/etc/rc.conf :
mousechar_start=3
nome_keymap deve invece corrispondere a
uno dei file presenti nella directory
/usr/share/syscons/keymaps , privato del suffisso
.kbd . Se sei indeciso su quale
keymap scegliere, puoi usare il comando
&man.kbdmap.1; per testare le varie mappature senza dover riavviare il
sistema.
La variabile keychange è di solito
richiesta per programmare i tasti funzione in relazione al tipo di
terminale in uso, poiché le sequenze generate da un tasto
funzione non possono essere definite in una mappa di tasti.
Assicurati inoltre di impostare il corretto tipo di terminale in
/etc/ttys per tutte le voci del tipo
ttyv* . Attualmente, le corrispondenze predefinite
sono:
Insieme di Caratteri
Tipo di Terminale
ISO-8859-1 o ISO-8859-15
cons25l1
ISO-8859-2
cons25l2
ISO-8859-7
cons25l7
KOI8-R
cons25r
KOI8-U
cons25u
CP437 (di default per VGA)
cons25
US-ASCII
cons25w
Per i linguaggi che usano caratteri estesi o multibyte, è
bene servirsi del corretto port di FreeBSD nella directory
/usr/ports/linguaggio .
Poichè alcuni port che si presentano come console sono
riconosciuti dal sistema come terminali seriali virtuali (vtty), devi
riservare abbastanza vtty sia per X11 che per la console pseudo-seriale.
Ecco una lista parziale di applicazioni con cui si possono utilizzare
altri linguaggi in console:
Linguaggio
Ubicazione
cinese tradizionale (BIG-5)
/usr/ports/chinese/big5con
giapponese
/usr/ports/japanese/ja-kon2-* oppure
/usr/ports/japanese/Mule_Wnn
coreano
/usr/ports/korean/ko-han
Impostazione di X11
Sebbene X11 non faccia parte del progetto FreeBSD, vengono qui
fornite alcune informazioni per gli utenti di FreeBSD. Per maggiori
dettagli, si faccia riferimento al sito web &xfree86; o a quello del Server
X11 utilizzato.
Nel file ~/.Xresources , puoi mettere a punto le
impostazioni per I18N specifiche di un'applicazione (ad esempio, i font,
i menu, ecc.).
Visualizzazione dei Font
server font True Type per X11
Installa il server &truetype; Common di X11 (x11-servers/XttXF86srv-common ) e i
corrispondenti font &truetype; propri della lingua prescelta.
L'impostazione del corretto locale dovrebbe permetterti di
visualizzare tale lingua nei vari menu, ecc.
Immissione di Caratteri Non Inglesi
X11 Input Method (XIM)
Il protocollo X11 Input Method (XIM) è un nuovo standard
per tutti i client X11. Tutte le applicazioni X11 dovrebbero essere
scritte come client XIM che ricevono l'input dai server XIM. Vi sono
parecchi server XIM disponibili per le differenti lingue.
Configurazione della Stampante
Alcuni set di caratteri del tipo char del C sono solitamente
codificati a livello hardware all'interno delle stampanti stesse.
Gli insiemi di caratteri estesi o multibyte richiedono invece una
speciale configurazione e si raccomanda l'utilizzo di
apsfilter . Puoi anche convertire documenti
nei formati &postscript; o PDF utilizzando convertitori specifici per
una data lingua.
Il Kernel e i File System
Il file system di FreeBSD FFS (Fast File System) è
completamente a 8-bit, perciò può essere utilizzato con
qualsiasi insieme di caratteri del tipo char del C (vedere
&man.multibyte.3;), ma non vi è un nome particolare di un insieme
di caratteri memorizzato nel file system; cioè, il file system
è a 8 bit senza alcuna codifica interna e ignora un'eventuale
codifica. Ufficialmente, FFS non supporta ancora alcuna forma degli
insiemi di caratteri estesi o multibyte. Tuttavia, esistono per alcuni
di questi delle patch indipendenti per il FFS che abilitano tale
supporto. Sono solo soluzioni temporanee, non portabili ed si è
deciso di non includerle nell'albero dei sorgenti. Si faccia
riferimento ai rispettivi siti web della lingua desiderata per
ulteriori informazioni e per i file di patch.
DOS
Unicode
Il supporto per il file system di &ms-dos; in FreeBSD offre la
possibilità di configurare la modalità di conversione tra
gli insiemi di caratteri &ms-dos;, Unicode e quelli scelti per il
file system di FreeBSD. Consultare &man.mount.msdos.8; per i
dettagli.
Compilazione dei Programmi con Supporto I18N
Molti dei port di FreeBSD includono il supporto I18N. Alcuni di essi
sono contrassegnati dal suffisso -I18N nel loro nome. Questi e molti
altri programmi hanno il supporto per I18N già incluso e non
necessitano perciò di speciali considerazioni.
MySQL
Tuttavia, alcune applicazioni come ad esempio
MySQL richiedono che venga specificato nel
Makefile l'insieme dei caratteri che si
utilizzeranno. Questa operazione viene fatta o modificando direttamente
il suddetto file oppure passando un opportuno valore al programma
configure nella directory dei sorgenti.
Localizzazione di FreeBSD con Lingue Particolari
Andrey A.
Chernov
Contributo originale di
Lingua Russa (Codifica KOI8-R)
localizzazione
russo
Per maggiori informazioni sulla codifica KOI8-R, si veda
la fonte di riferimento per
il KOI8-R (Russian Net Character Set) .
Impostazione del Locale
Metti le seguenti righe nel tuo file
~/.login_conf :
me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:
Si veda quanto esposto precedentemente in questo capitolo per
degli esempi di impostazione del locale.
Configurazione della Console
Per le versioni di FreeBSD precedenti la 5.0 aggiungi la
seguente opzione nel tuo file di configurazione del kernel:
options SC_MOUSE_CHAR=0x03
Per le versioni 4.4 e seguenti inserisci la seguente riga
nel file /etc/rc.conf :
mousechar_start=3
Utilizza le seguenti impostazioni nel file
/etc/rc.conf :
keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"
Per ogni voce ttyv* nel file
/etc/ttys , usa cons25r
come tipo di terminale.
Si veda quanto esposto in precedenza in questo capitolo per degli
esempi su come impostare la console.
Configurazione della Stampante
stampanti
Dal momento che la maggior parte delle stampanti con caratteri
russi hanno a livello hardware la codifica codepage CP866, è
necessario utilizzare uno speciale filtro di conversione da KOI8-R a
CP866. Tale filtro viene installato di default come
/usr/libexec/lpr/ru/koi2alt . La voce per una
stampante russa dovrebbe apparire perciò così in
/etc/printcap :
lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
Si veda &man.printcap.5; per una spiegazione dettagliata
del significato dei vari campi.
Nomi di File Russo e File System &ms-dos;
La seguente voce d'esempio di &man.fstab.5; abilita il supporto
per i nomi di file in russo su file system &ms-dos;:
/dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0
L'opzione -L seleziona il nome locale usato, e
-W imposta la tabella di coversione dei caratteri.
Per usare l'opzione -W , assicurati di montare
/usr prima della partizione &ms-dos;
perché le tabelle di conversione sono posizionate in
/usr/libdata/msdosfs . Per maggiori informazioni,
guarda la pagina man di &man.mount.msdos.8;.
Configurazione di X11
Segui innanzitutto la configurazione del locale in console come descritto
in precedenza.
Il locale russo KOI8-R potrebbe
non funzionare con le vecchie versioni di
&xfree86; (precedenti alla 3.3).
&xfree86; 4.X è ora la
versione di default del sistema X Window in FreeBSD.
Perciò non dovrebbe costituire più un
problema a meno che non stai usando una versione piuttosto
vecchia di FreeBSD.
Vai nella directory /usr/ports/russian/X.language e dai il
seguente comando:
&prompt.root; make install
Questo port installa l'ultima versione disponibile dei font
KOI8-R. &xfree86; 3.3 possiede
già alcuni font KOI8-R, ma questi sono meglio
dimensionati.
Controlla la sezione "Files" nel tuo file
/etc/XF86Config . Le seguenti righe devono
essere aggiunte prima di qualsiasi altra voce
FontPath :
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
Se utilizzi una modalità video ad alta risoluzione,
scambia le righe 75 dpi e 100 dpi.
Per attivare la tastiera russa, aggiungi alla sezione
"Keyboard" del tuo file
XF86Config queste cose.
Per &xfree86; v3.X:
XkbLayout "ru"
XkbOptions "grp:caps_toggle"
Per &xfree86; v4.X:
Option "XkbLayout" "ru"
Option "XkbOptions" "grp:caps_toggle"
Verifica inoltre che la riga XkbDisable
sia commentata.
Il tasto per passare dalla codifica russa (RUS) a quella dei
caratteri latini (LAT) è CapsLock . La
normale funzione del tasto CapsLock è
ancora disponibile mediante la combinazione di tasti
Shift
CapsLock
(solamente in modalità LAT).
Se hai i tasti &windows;
sulla tua tastiera, e
noti che alcuni tasti non alfabetici sono mappati non
correttamente in modalità RUS, aggiungi in
XF86Config la seguente riga.
Per &xfree86; v3.X:
XkbVariant "winkeys"
Per &xfree86; v4.X:
Option "XkbVariant" "winkeys"
La tastiera russa XKB potrebbe non funzionare con le vecchie
versioni di &xfree86; ; vedere la
nota precedente per
ulteriori informazioni a riguardo. La tastiera russa XKB
potrebbe anche presentare delle anomalie anche con applicazioni
che non abbiamo il supporto per la localizzazione. Queste
applicazioni dovrebbero come minimo effettuare all'avvio una
chiamata alla funzione XtSetLanguageProc (NULL, NULL,
NULL); . Vedere KOI8-R per X Window
per più informazioni su come localizzare
un'applicazione.
Localizzazione del Cinese Tradizionale per Taiwan
localizzazione
cinese tradizionale
Il FreeBSD-Taiwan Project fornisce un tutorial riguardo a
I18N/L10N per FreeBSD all'indirizzo
per l'utilizzo di gran parte delle applicazioni in cinese. L'autore del
tutorial zh-l10n-tut è Clive Lin
Clive@CirX.org . Puoi anche prelevare, utilizzando CVS,
all'indirizzo freebsd.sinica.edu.tw le
seguenti raccolte:
Collezione
Descrizione
outta-port tag=.
Collezione dei port beta per il cinese
zh-l10n-tut tag=.
Tutorial sulla localizzazione di FreeBSD in cinese
tradizionale, codifica BIG-5
zh-doc tag=.
Traduzione della documentazione di FreeBSD in
cinese tradizionale BIG-5
Chuan-Hsing Shen s874070@mail.yzu.edu.tw ha creato la
Chinese FreeBSD Collection
(CFC) utilizzando zh-l10n-tut del
FreeBSD-Taiwan Project. I pacchetti e i file di script sono disponibili
all'url .
Localizzazione della Lingua Tedesca (per Tutte le Lingue ISO
8859-1)
localizzazione
tedesco
Slaven Rezic eserte@cs.tu-berlin.de ha scritto un
tutorial su come utilizzare le lettere con l'umlaut
su una macchina FreeBSD. Il tutorial è scritto in tedesco e
disponibile all'indirizzo .
Localizzazione della Lingua Giapponese e Coreana
localizzazione
giapponese
localizzazione
coreano
Per il giapponese, vedere l'url , per il coreano, l'url
.
Documentazione Non Inglese per FreeBSD
Alcuni volontari hanno tradotto parte della documentazione di
FreeBSD in altre lingue. Questo materiale è raggiungibile
seguendo i link segnalati sul sito ufficiale di FreeBSD
oppure sotto la directory /usr/share/doc .
diff --git a/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml b/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml
index 40d2701b46..54993b5b74 100644
--- a/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml
@@ -1,1570 +1,2370 @@
Bill
Lloyd
Lavoro originale di
Jim
Mock
Rielaborato da
Posta Elettronica
Sinossi
email
posta elettronica
La Posta Elettronica
, meglio conosciuta come email,
è una delle forme di comunicazione maggiormente utilizzate
tutt'oggi. Questo capitolo fornisce un'introduzione di base per
- eseguire un server di posta su FreeBSD.
- Comunque, questo non è un riferimento completo e infatti
- molte considerazioni importanti sono omesse. Per coprire questo argomento
- in modo più completo, si rimanda il lettore alla moltitudine di
- eccellenti libri elencati nell'.
+ eseguire un server di posta su &os;, come pure un'introduzione per inviare
+ e ricevere la posta elettronica usando &os;; comunque, questo non è
+ un riferimento completo e infatti molte considerazioni importanti sono
+ omesse. Per coprire questo argomento in modo più completo, si
+ rimanda il lettore alla moltitudine di eccellenti libri elencati
+ nell'.
Dopo aver letto questo capitolo, saprai:
Quali componenti software vengono coinvolti nell'invio e
nella ricezione della posta elettronica.
Dove sono collocati in FreeBSD i file di configurazione
fondamentali di sendmail .
- Come impedire agli spammer di usare illegalmente il tuo
- server di posta come un relay.
+ La differenza tra casella di posta remota e locale.
+
+
+
+ Come impedire agli spammer di usare illegalmente il tuo server di
+ posta come un relay.
Come installare e configurare un mail transfer agent alternativo
sul tuo sistema, sostituendo
sendmail .
Come risolvere i problemi più frequenti legati al
server di posta.
Come usare SMTP con UCCP.
+
+ Come configurare il sistema solo per inviare la posta.
+
+
Come usare la posta con una connessione dialup.
Come configurare l'Autenticazione SMTP per aumentare la
sicurezza.
+
+
+ Come installare e usare un Mail User Agent (MUA), come
+ mutt per inviare e ricevere la
+ posta.
+
+
+
+ Come scaricare la tua posta da un server remoto
+ POP o IMAP .
+
+
+
+ Come applicare in modo automatico filtri e regole sulla posta
+ in entrata.
+
Prima di leggere questo capitolo, dovresti:
Aver configurato correttamente la tua connessione di rete
().
Aver configurato correttamente le informazioni DNS
relative alla tua macchina server di posta
().
Sapere come installare software aggiuntivo di terze parti
().
Utilizzo della Posta Elettronica
POP
IMAP
DNS
Ci sono cinque parti principali impegnate in uno scambio di email.
Queste sono: il programma client, quello server, il DNS, un demone
- POP o IMAP, e naturalmente la macchina
- server di posta.
+ linkend="mail-dns">il DNS, una
+ casella di posta remota o locale, e naturalmente la macchina server di posta.
Il Programma Client
Questo include programmi a riga di comando quali
mutt , pine ,
elm , e mail ,
- e programmi con un'interfaccia grafica (GUI) quali
+ e programmi con un'interfaccia grafica (GUI ) quali
balsa , xfmail
per citarne alcuni, e qualcosa di più raffinato
simile a un browser WWW. Questi programmi semplicemente fanno passare
le transazioni email alla macchina
server di posta
locale, chiamando uno dei
programmi server disponibili o
inoltrando queste transazioni via TCP.
Il Programma Server
server di posta
sendmail
server di posta
postfix
server di posta
qmail
server di posta
exim
- Questo è solitamente
- sendmail (di default su FreeBSD) o uno degli
- altri server di posta come qmail ,
- postfix , o exim .
- Ne esistono altri, ma questi sono i più usati.
+ &os; incorpora di default sendmail ,
+ ma supporta anche altri programmi server di posta elettronica, alcuni
+ dei quali sono:
+
+
+
+ exim ;
+
+
+
+ postfix ;
+
+
+
+ qmail .
+
+
Di solito il programma server svolge due funzioni—si occupa
di ricevere la posta in arrivo e di consegnare quella in partenza.
- Non puoi connetterti al programma server via POP o IMAP per leggere la
- tua posta. Per far questo hai bisogno di un altro
- demone.
-
- Devi sapere che alcune vecchie versioni di
- sendmail hanno alcuni seri problemi di
- sicurezza, comunque finché eseguirai l'ultima versione di
- sendmail non dovresti avere problemi. Come
- sempre, è una buona idea mantenere aggiornato il software
- che usi.
+ Questo programma non permette di prelevare la posta
+ usando protocolli come POP o IMAP ,
+ ne tanto meno di collegarsi
alle caselle di posta locali
+ mbox o di tipo Maildir. Per far questo hai
+ bisogno di un altro demone.
+
+
+ Vecchie versioni di sendmail contengono
+ alcuni seri problemi di sicurezza che possono dare la
+ possibilità ad un attaccante di guadagnarsi un accesso locale
+ e/o remote sulla tua macchina. Assicurati di eseguire una versione
+ aggiornata per evitare questi problemi. In alternativa, installa
+ un altro MTA dalla &os;
+ Ports Collection.
+
Email e DNS
- Il DNS (Domain Name System) e il suo demone named
- giocano un ruolo fondamentale nella consegna della posta. Per
- consegnare la posta dal tuo host a un altro, il programma server
- cercherà l'host nel DNS per determinare la macchina server che
- riceverà la posta per il destinatario.
-
- Viene utilizzato lo stesso meccanismo quando si riceve la
- propria posta. Il DNS contiene il database per mappare un nome host
- in un indirizzo IP, e un nome host in una macchina server di posta.
- L'indirizzo IP è specificato in un record A. Il record MX
- (Mail eXchanger) specifica la macchina server che riceverà la tua
- posta. Se non hai un record MX per il tuo nome host, la posta
- sarà consegnata direttamente al tuo host.
+ Il DNS (Domain Name System) e il suo demone
+ named giocano un ruolo fondamentale nella consegna
+ della posta. Per consegnare la posta dal tuo host a un altro, il
+ programma server cercherà l'host remoto nel DNS per determinare
+ la macchina server che riceverà la posta per il destinatario.
+ Lo stesso processo avviene quando un host remoto invia dei messaggi di
+ posta alla tua macchina server di posta.
+
+ record MX
+
+ Il DNS è responsabile della corrispondenza
+ tra nomi host ed indirizzi IP, e memorizza anche informazioni specifiche
+ per la consegna della posta, informazioni conosciute come record MX.
+ Il record MX (Mail eXchanger) specifica quale/i host dovranno ricevere
+ la posta per un particolare dominio. Se non hai un record MX per il tuo
+ nome host o per il tuo dominio, la posta sarà consegnata
+ direttamente al tuo host a condizione di avere un record A che mappa
+ il tuo nome host al tuo indirizzo IP.
+
+ Puoi vedere i record MX per un dominio usando il comando
+ &man.host.1;, come mostrato nel seguente esempio:
+
+ &prompt.user; host -t mx FreeBSD.org
+FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
Ricezione della Posta
email
ricezione
- La ricezione della posta per il tuo dominio viene realizzata dalla
+ La ricezione della posta per il tuo dominio viene gestita dalla
macchina server di posta. Questa raccoglierà la posta
- indirizzata a te e la salverà per una successiva lettura o
- scaricamento. Per scaricare la posta salvata, dovrai collegarti al
- server di posta. Questo può essere fatto usando POP o IMAP.
- Se desideri leggere la posta direttamente sulla macchina server, allora
- il server POP o IMAP non è necessario.
-
- POP
- IMAP
-
- Se vuoi eseguire un server POP o IMAP, ci sono due cose che
- devi fare:
-
-
-
- Prendere un demone POP o IMAP dalla collezione di port e
- installarlo sul tuo sistema.
-
-
-
- Modificare /etc/inetd.conf per caricare il
- server POP o IMAP.
-
-
+ indirizzata al tuo dominio e la salverà nel formato
+ mbox (metodo per la memorizzazione della posta di
+ default) o Maildir, a seconda delle tua configurazione. Una volta
+ memorizzata, la posta può essere sia letta in modo locale usando
+ applicazioni come &man.mail.1; o mutt , sia
+ prelevata in modo remoto usando protocolli come POP
+ e IMAP . Ciò significa che se vuoi solo
+ leggere la posta localmente, non hai bisogno di installare un server
+ POP o IMAP .
+
+
+ Accedere a caselle di posta remote usando POP
+ o IMAP
+
+ POP
+ IMAP
+
+ Per accedere a caselle di posta in modo remoto, devi avere
+ l'accesso a un server POP o
+ IMAP . Questi protocolli permettono agli utenti
+ di collegarsi con facilità alle loro caselle di posta da
+ locazioni remote. Benchè sia POP che
+ IMAP permettono agli utenti di accedere alle
+ caselle di posta in modo remoto, IMAP offre
+ alcuni vantaggi, alcuni dei quali sono:
+
+
+
+ IMAP può memorizzare e prelevare
+ i messaggi di posta su un server remoto.
+
+
+
+ IMAP supporta aggiornamenti
+ simultanei.
+
+
+
+ IMAP può essere estremamente utile
+ con connessioni lente poichè permette agli utenti di
+ prelevare la struttura dei messaggi senza scaricarli
+ completamente; può inoltre realizzare compiti come la
+ ricerca su un server al fine di minimizzare il trasferimento dei
+ dati tra client e server.
+
+
+
+ Per installare un server POP o
+ IMAP , devi seguire i seguenti passi:
+
+
+
+ Scegli un server IMAP o
+ POP che meglio soddisfa le tue
+ necessità. I seguenti server POP e
+ IMAP sono ben noti e si prestano come degli
+ ottimi esempi:
+
+
+
+ qpopper ;
+
+
+
+ teapop ;
+
+
+
+ imap-uw ;
+
+
+
+ courier-imap ;
+
+
+
+
+
+ Installa il demone POP o
+ IMAP di tua scelta dalla collezione dei
+ port.
+
+
+
+ Se necessario, modifica il file
+ /etc/inetd.conf per avviare il server
+ POP o IMAP .
+
+
+
+
+ Nota che sia POP che IMAP
+ trasmettono informazioni, inclusi il nome utente e la password in
+ chiaro. Ciò significa che se vuoi mettere al sicuro la
+ trasmissione di informazioni su questi protocolli, potresti
+ considerare di effettuare tunnel di sessioni con &man.ssh.1;.
+ La creazione di tunnel di sessioni è descritta nella
+ .
+
+
+
+
+ Accesso alle caselle di posta locali
+
+ Si può accedere localmente alla casella di posta
+ utilizzando un MUA sul server nel quale risiede la
+ casella di posta. Questo può essere fatto usando applicazioni
+ come mutt o &man.mail.1;.
+
La Macchina Server di Posta
macchina server di posta
La macchina server di posta è il nome del server
che è responsabile della consegna e del ricevimento della posta
per il tuo host, ed eventualmente per la tua rete.
Christopher
Shumway
Contributo di
Configurazione di sendmail
sendmail
&man.sendmail.8; è il Mail Transfer Agent (MTA) di default su
FreeBSD. Il compito di sendmail è di
- accettare posta dai Mail User Agent (MUA), e consegnarla al server di
- posta appropriato come definito nel suo file di configurazione. Inoltre
- sendmail può accettare connessioni via
- rete e consegnare i messaggi a caselle di posta locali o ad un altro
- programma.
+ accettare posta dai Mail User Agent (MUA ), e
+ consegnarla al server di posta appropriato come definito nel suo file di
+ configurazione. Inoltre sendmail può
+ accettare connessioni via rete e consegnare i messaggi a caselle di posta
+ locali o ad un altro programma.
sendmail utilizza i seguenti file di
configurazione:
/etc/mail/access
/etc/mail/aliases
/etc/mail/local-host-names
/etc/mail/mailer.conf
/etc/mail/mailertable
/etc/mail/sendmail.cf
/etc/mail/virtusertable
File
Funzione
/etc/mail/access
File database di accesso di
sendmail
/etc/mail/aliases
Alias delle caselle di posta
/etc/mail/local-host-names
Lista di host per i quali
sendmail accetta posta
/etc/mail/mailer.conf
File di configurazione del programma di posta
/etc/mail/mailertable
Tabella di consegna del programma di posta
/etc/mail/sendmail.cf
File di configurazione principale di
sendmail
/etc/mail/virtusertable
Tabelle degli utenti e dei domini virtuali
/etc/mail/access
Il database di accesso definisce quali host o indirizzi
IP hanno accesso al server di posta locale e quale tipo di accesso
hanno. Gli host possono essere catalogati come OK ,
REJECT , RELAY o possono semplicemente
essere passati alla procedura di gestione degli errori di
sendmail con un preciso errore. Gli host
che sono definiti OK , che è il valore di
default, possono spedire posta a questo host sempre che la destinazione
finale della posta sia la macchina locale. Gli host che sono definiti
REJECT vengono rifiutati per qualsiasi connessione di
posta. Gli host che hanno l'opzione RELAY per i loro
nomi host possono utilizzare questo server per spedire posta verso
qualsiasi destinazione.
Configurazione del Database di Accesso di
sendmail
cyberspammer.com 550 Non accettiamo posta dagli spammer
FREE.STEALTH.MAILER@ 550 Non accettiamo posta dagli spammer
altra.sorgente.di.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY
In questo esempio abbiamo cinque elementi. Gli host mittenti
che corrispondono a quelli posti sul lato sinistro della tabella sono
condizionati dall'azione posta sul lato destro della tabella.
I primi due esempi passano un codice di errore alla procedura di
sendmail che gestisce gli errori. Il
messaggio viene restituito all'host remoto quando viene trovata una
corrispondenza sul lato sinistro della tabella. Il terzo esempio
rifiuta la posta da un host specifico su Internet,
altra.sorgente.di.spam . Il quarto esempio accetta
connessioni di posta da un host, okay.cyberspammer.com , che è più
preciso rispetto a cyberspammer.com
della prima linea. Le corrispondenze più precise sovrascrivono
quelle meno precise. L'ultimo esempio permette il relay della posta
elettronica agli host che hanno un indirizzo IP che inizia con
128.32 . Questi host possono spedire messaggi destinati
ad altri server di posta attraverso questo server.
Quando modifichi questo file, devi eseguire make
in /etc/mail/ per aggiornare il database.
/etc/mail/aliases
Il database degli alias contiene una lista di caselle di posta
virtuali che sono espanse in altri utenti, file, programmi o in altri
alias. Seguono alcuni esempi che possono essere usati in
/etc/mail/aliases :
Alias di Posta
root: utentelocale
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"
Il formato del file è semplice: il nome della casella di
posta che si trova a sinistra dei due punti viene espanso negli elementi
posti a destra dei due punti. Il primo esempio semplicemente espande la
casella di posta root nella casella di posta
utentelocale , che è di nuovo ricercata
nel database degli alias. Se non viene trovata, allora il messaggio
viene consegnato all'utente locale utentelocale .
L'esempio successivo mostra una mailing list. La posta indirizzata
alla casella di posta ftp-bugs viene espansa nelle
tre caselle di posta locali joe ,
eric , e paul . Nota che una
casella di posta remota può essere specificata come
user@example.com . Il terzo esempio mostra come
scrivere la posta su un file, in questo caso
/dev/null . L'ultimo esempio mostra come mandare
la posta a un programma, in questo caso il messaggio di posta diventa
lo standard input di /usr/local/bin/procmail
tramite una pipe &unix;.
Quando modifichi questo file, devi eseguire make
in /etc/mail/ per aggiornare il database.
/etc/mail/local-host-names
Questo file è una lista di nomi host che &man.sendmail.8;
accetta come se fossero l'host locale. Metti i domini o gli host
per i quali sendmail deve ricevere posta.
Per esempio, se questo server di posta dovesse essere in grado di
accettare posta per il dominio
example.com e per l'host
mail.example.com , il suo
local-host-names potrebbe assomigliare a
questo:
example.com
mail.example.com
Quando modifichi questo file, devi riavviare &man.sendmail.8; per
attivare i cambiamenti.
/etc/mail/sendmail.cf
Il file di configurazione principale di
sendmail , sendmail.cf
controlla l'intero comportamento di sendmail ,
inclusa ogni cosa, dalla rielaborazione degli indirizzi e-mail alla
stampa del messaggio di rifiuto per i server di posta remoti.
Naturalmente, avendo svariati compiti, questo file di configurazione
è alquanto complesso e i suoi dettagli vanno oltre lo scopo di
questa sezione. Fortunatamente, questo file necessita raramente di
essere modificato per server di posta standard.
Il file di configurazione principale di
sendmail può essere costruito
a partire da macro &man.m4.1; che definiscono le caratteristiche e il
comportamento di sendmail . Guarda
/usr/src/contrib/sendmail/cf/README per ulteriori
dettagli.
Quando modifichi questo file, devi riavviare &man.sendmail.8; per
attivare i cambiamenti.
/etc/mail/virtusertable
Il file virtusertable mappa indirizzi di posta
relativi a domini e caselle di posta virtuali in caselle di posta reali.
Queste caselle di posta possono essere locali, remote, alias definiti in
/etc/mail/aliases o file.
Esempio di Mappatura per la Posta di un Dominio Virtuale
root@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joe
Nell'esempio precedente, abbiamo una mappatura per il dominio
example.com . Questo file viene
processato dall'alto verso il basso fermandosi alla prima corrispondenza
trovata. Il primo elemento mappa root@example.com
nella casella di posta locale root . Il secondo
elemento mappa postmaster@example.com nella casella
di posta postmaster sull'host noc.example.net . Infine, se non sono state
trovate corrispondenze per example.com
fino a questo punto, verrà verificata l'ultima mappatura, che
corrisponde a tutti gli altri messaggi di posta indirizzati a qualche
utente di example.com .
Questo verrà mappato nella casella di posta locale
joe .
Andrew
Boothman
Scritto da
Gregory
Neil Shapiro
Informazioni prese da e-mail scritte da
Sostituzione del proprio Mail Transfer Agent
email
cambiare mta
Come già menzionato, l'MTA (Mail Transfer Agent, agente di
trasferimento della posta elettronica) installato di default su FreeBSD
è sendmail . Di conseguenza
sendmail è responsabile della tua posta
in partenza e di quella in arrivo.
Comunque, per vari motivi, alcuni amministratori necessitano di
cambiare l'MTA dei loro sistemi. Questi motivi spaziano dal voler
semplicemente provare un altro MTA all'aver bisogno di una caratteristica
o di un pacchetto specifico ritrovabile in un altro MTA. Fortunatamente,
per qualsiasi motivo, FreeBSD semplifica il processo di
sostituzione.
Installazione di un nuovo MTA
Hai un'ampia scelta di MTA utilizzabili. Un buon punto di partenza
è la FreeBSD Ports Collection dove
puoi trovarne molti. Naturalmente sei libero di usare qualunque
MTA proveniente da qualche sito, a condizione che tu riesca ad eseguirlo
sotto FreeBSD.
Inizia installando il tuo nuovo MTA. Una volta installato devi
valutare se realmente soddisfa le tue necessità, inoltre devi
avere la possibilità di configurare il tuo nuovo programma prima
che subentri a sendmail . Valutato questo,
devi essere sicuro che durante l'installazione del nuovo programma non
ci siano stati tentativi di sovrascrivere binari di sistema come
/usr/bin/sendmail . Altrimenti, il tuo nuovo
programma di posta è stato essenzialmente messo in
attività prima che tu l'abbia configurato.
Per cortesia fai riferimento alla documentazione dell'MTA che hai
scelto per informazioni su come configurarlo.
Disabilitazione di sendmail
La procedura usata per avviare sendmail
cambia significativamente tra la 4.5-RELEASE e la 4.6-RELEASE.
Di conseguenza, la procedura usata per disabilitarlo è
leggermente differente a seconda della versione di FreeBSD
utilizzata.
FreeBSD 4.5-STABLE prima del 4/4/2002 e precedenti (inclusa
4.5-RELEASE e precedenti)
Metti:
sendmail_enable="NO"
in /etc/rc.conf . In questo modo si
disabiliterà il servizio di ricezione della posta
di sendmail , ma se
/etc/mail/mailer.conf (vedi sotto) non viene
modificato, sendmail verrà ancora
usato per spedire e-mail.
FreeBSD 4.5-STABLE dopo il 4/4/2002 (inclusa 4.6-RELEASE e
successive)
Per disabilitare completamente sendmail
devi mettere
sendmail_enable="NONE"
in /etc/rc.conf.
Se disabiliti il servizio di consegna della posta di
sendmail in questo modo, è
importante che questo venga rimpiazzato con un altro sistema
di consegna della posta perfettamente funzionante. Se non lo farai,
le funzioni di sistema come &man.periodic.8; saranno incapaci di
inviare i loro risultati tramite e-mail come normalmente prevedono
di fare. Molte parti del tuo sistema potrebbero presupporre di
avere un sistema funzionante compatibile con
sendmail . Se le applicazioni continuano
a usare i binari di sendmail per tentare
di spedire e-mail dopo che tu l'hai disabilitato, la posta potrebbe
finire in una coda inattiva di sendmail ,
senza che venga mai consegnata.
Se vuoi solamente disabilitare il servizio di ricezione della
posta di sendmail , devi mettere
sendmail_enable="NO"
in /etc/rc.conf . Molte informazioni sulle
opzioni di avvio di sendmail sono
disponibili nella pagina man di &man.rc.sendmail.8;.
Esecuzione del nuovo MTA all'avvio
Hai due possibili metodi per eseguire il tuo nuovo MTA all'avvio,
a seconda della versione di FreeBSD utilizzata.
FreeBSD 4.5-STABLE prima del 11/4/2002 (inclusa 4.5-RELEASE e
precedenti)
Posiziona uno script in
/usr/local/etc/rc.d/ con estensione
.sh ed eseguibile da root .
Lo script deve accettare i parametri start e
stop . Nella fase di avvio di FreeBSD gli script
di sistema eseguiranno il comando
/usr/local/etc/rc.d/supermailer.sh start
che puoi anche usare per avviare manualmente il
server. Nella fase di chiusura di FreeBSD, gli script di sistema
useranno l'opzione stop , eseguendo il
comando
/usr/local/etc/rc.d/supermailer.sh stop
che puoi anche usare per arrestare manualmente il
server mentre il sistema è in funzione.
FreeBSD 4.5-STABLE dopo il 11/4/2002 (inclusa 4.6-RELEASE e
successive)
Con le versioni recenti di FreeBSD, puoi usare il metodo
precedente oppure puoi mettere
mta_start_script="nomefile"
in /etc/rc.conf , dove
nomefile è il nome dello script
che vuoi eseguire all'avvio per avviare il tuo MTA.
Sostituzione di sendmail come programma
di posta di default del sistema
sendmail è così
onnipresente come programma standard su sistemi &unix; che alcuni
programmi lo suppongono già installato e configurato. Per questa
ragione, molti degli altri MTA forniscono la loro compatibile
implementazione dell'interfaccia a riga di comando di
sendmail ; questo agevola il loro utilizzo
come sostituti drop-in
di
sendmail .
Quindi, se usi un altro programma di posta, dovrai assicurarti
che i programmi che tentano di eseguire i binari standard di
sendmail come
/usr/bin/sendmail in realtà eseguano
il programma di posta da te scelto. Fortunatamente, FreeBSD fornisce
un meccanismo chiamato &man.mailwrapper.8; che fa questo lavoro per
te.
Quando sendmail è operativo,
dovresti vedere in /etc/mail/mailer.conf qualcosa
di simile a questo:
sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmail
Questo significa che quando uno di questi comandi
(come sendmail stesso) viene eseguito, in
realtà il sistema invoca una copia di mailwrapper di nome
sendmail , la quale esamina
mailer.conf ed esegue
/usr/libexec/sendmail/sendmail . Questo meccanismo
facilita la sostituzione dei binari che sono realmente eseguiti quando
vengono invocate queste funzioni di default di
sendmail .
Quindi se vuoi che
/usr/local/supermailer/bin/sendmail-compat sia
eseguito al posto di sendmail , devi
modificare /etc/mail/mailer.conf in questo
modo:
sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compat
Conclusione
Una volta che hai configurato ogni cosa a tuo piacimento, devi
terminare i processi di sendmail di cui non
hai più bisogno e avviare i processi appartenenti al tuo nuovo
programma, oppure puoi semplicemente riavviare il sistema. Riavviando
il sistema avrai la possibilità di verificare se il sistema sia
stato configurato correttamente per eseguire il tuo nuovo MTA in modo
automatico all'avvio.
Risoluzione dei Problemi
email
risoluzione dei problemi
Perché devo usare nomi di dominio completi (FQDN) per gli
host del mio dominio?
Probabilmente ti accorgerai che l'host è effettivamente
in un dominio differente; per esempio, se sei in foo.bar.edu e desideri raggiungere un host
chiamato mumble appartenente al dominio bar.edu , dovrai riferirti a questo
tramite un nome di dominio completo, mumble.bar.edu , invece del solo
mumble .
BIND
Tradizionalmente, questo era permesso dai resolver BIND di
BSD. Tuttavia la versione corrente di
BIND equipaggiata con FreeBSD non
prevede più l'abbreviazione di default per nomi di dominio
non completi all'infuori del dominio in cui sei. Quindi l'host
mumble sarà giudicato come mumble.foo.bar.edu , oppure sarà
ricercato per il dominio radice.
Questo differisce dal comportamento precedente, dove la ricerca
continuava attraverso mumble.bar.edu , e mumble.edu . Dai un'occhiata all'RFC
1535 per i motivi per cui questa sia considerata una cattiva
pratica, o persino un buco di sicurezza.
Come buona soluzione al problema, puoi mettere la linea:
search foo.bar.edu bar.edu
al posto della precedente:
domain foo.bar.edu
nel tuo /etc/resolv.conf . Comunque, assicurati
che l'ordine di ricerca non oltrepassi il
confine tra amministrazione locale e pubblica
, come
definito nell'RFC 1535.
+ record MX
+
sendmail riporta l'errore
mail loops back to myself
La risposta è contenuta nelle FAQ di
sendmail come segue:
- Ottengo messaggi di Local configuration error
, come questo:
+ Ottengo messaggi di errore, come questo:
-553 relay.domain.net config error: mail loops back to myself
+553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Come posso risolvere questo problema?
Hai chiesto che la posta per il dominio (es., domain.net) sia inoltrata
a un host specifico (in questo caso, relay.domain.net) attraverso l'uso di
un record MX, ma la macchina di inoltro non si riconosce appartenente a
domain.net. Aggiungi domain.net in /etc/mail/local-host-names
+[chiamato /etc/sendmail.cw nelle versioni precedenti alla 8.10]
(se stai usando FEATURE(use_cw_file)) oppure aggiungi Cw domain.net
in /etc/mail/sendmail.cf.
Le FAQ di sendmail possono essere
- trovate su ed
+ trovate su ed
è raccomandato leggerle se vuoi perfezionare
la tua configurazione di posta.
PPP
Come posso eseguire un server di posta su un host connesso in
dial-up tramite PPP?
Vuoi collegare ad Internet una macchina FreeBSD posta sulla tua
LAN. La macchina FreeBSD sarà un gateway di posta per la
LAN. La connessione PPP non è molto indicata per questo
scopo.
UUCP
+ record MX
+
Esistono almeno due modi per far questo. Un modo è
usare UUCP.
L'altro è trovare un server Internet a tempo pieno
che fornisca un servizio MX secondario per il tuo dominio.
Per esempio, se il dominio della tua società è
example.com e il tuo fornitore
di servizi Internet ha attivato example.net per fornire il servizio
MX secondario al tuo dominio, allora:
example.com. MX 10 example.com.
MX 20 example.net.
Solo un host deve essere specificato come ultimo
ricevente (aggiungi Cw example.com in
/etc/mail/sendmail.cf su example.com ).
Quando sendmail tenterà di consegnare
la posta proverà a connettersi alla tua connessione modem
(example.com ). Molto
probabilmente finirà in time out poiché non sei
online. In modo automatico sendmail
consegnerà la posta al server MX secondario, ad esempio il
tuo provider Internet (example.net ). Il server MX secondario
tenterà periodicamente di collegarsi al tuo host per
consegnare la posta all'host MX primario (example.com ).
Come script di login potresti usare qualcosa di simile a
questo:
#!/bin/sh
# Mettimi in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyisp
Se hai intenzione di creare uno script di login separato per
un utente potresti usare sendmail -qRexample.com
nello script precedente. Questo forzerà a processare
immediatamente tutta la posta per example.com situata nella tua
coda.
Segue un'ulteriore sottigliezza della situazione:
Messaggio rubato dalla &a.isp;.
> forniamo l'MX secondario per un cliente. Il cliente si connette
> automaticamente ai nostri servizi molte volte al giorno per ottenere la
> posta per il suo MX primario (non chiamiamo il suo server quando arriva
> posta per il suo dominio). Il nostro sendmail processa la posta in coda
> ogni 30 minuti. Attualmente il cliente sta 30 minuti online per assicurarsi
> che tutta la posta vada all'MX primario.
>
> Esiste un comando che permetta di configurare sendmail in modo tale da
> spedire tutta la posta in quel momento? Naturalmente l'utente non ha
> privilegi di root sulla nostra macchina.
Nella sezione privacy flags
di sendmail.cf, c'è una
definizione Opgoaway,restrictqrun
Rimuovi restrictqrun per permettere a utenti non root di avviare l'elaborazione
della coda. Inoltre potresti risistemare gli MX. Noi siamo l'MX primario per i
nostri clienti come questo, e abbiamo definito:
# Se siamo il miglior MX per un host, prova direttamente invece di generare
# errori di configurazione locale.
OwTrue
In questo modo un server remoto consegnerà direttamente a te, senza
tentare di connettersi al cliente. Dopodiché tu spedisci al tuo cliente.
Funziona solamente con gli host
, quindi hai bisogno che il tuo
cliente chiami la sua macchina di posta customer.com
così come
nomehost.customer.com
nel DNS.
Basta mettere un record A nel DNS per customer.com
.
Perché continuo a ottenere l'errore Relaying
Denied quando spedisco posta da altri host?
Con l'installazione di default di FreeBSD,
sendmail viene configurato in modo tale
da permettere di spedire posta solamente dall'host sul quale
è in esecuzione. Per esempio, se c'è installato un
- server POP3, allora gli utenti saranno in grado di controllare la
- posta da scuola, dal lavoro, o da altre postazioni remote ma
- tuttavia non potranno inviare messaggi di posta all'esterno da
- postazioni esterne. Tipicamente, pochi istanti dopo il tentativo,
- verrà spedita una email da
+ server POP , allora gli utenti saranno in grado di
+ controllare la posta da scuola, dal lavoro, o da altre postazioni
+ remote ma tuttavia non potranno inviare messaggi di posta
+ all'esterno da postazioni esterne. Tipicamente, pochi istanti dopo
+ il tentativo, verrà spedita una email da
MAILER-DAEMON con il messaggio di errore
5.7 Relaying Denied .
Esistono diversi modi per aggirare questo problema. La
soluzione più semplice è mettere il proprio
indirizzo assegnato dall'ISP nel file che contiene i domini
a cui viene permesso di effettuare il relay,
/etc/mail/relay-domains . Un modo veloce
per far questo può essere:
&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domains
Dopo aver creato o modificato questo file devi riavviare
sendmail . Questa soluzione è
ideale se sei un amministratore del server e non desideri
spedire posta localmente, o se vorresti usare un client/sistema
punta e clicca su un'altra macchina o perfino su un altro ISP.
Inoltre è molto utile se hai solo uno o due account
di posta configurati. Se ci sono molti indirizzi da aggiungere,
puoi semplicemente aprire questo file con il tuo editor di testo
preferito e aggiungere i domini, uno per riga:
your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.org
Ora l'invio della posta tramite il tuo sistema, da parte di
qualche host in lista (a condizione che l'utente abbia un account
sul tuo sistema), avrà successo. Questo è un buon
metodo per permettere agli utenti di spedire posta dal tuo sistema
in modo remoto senza dare la possibilità a qualcuno di
spedire SPAM tramite il tuo sistema.
Argomenti Avanzati
La seguente sezione tratta argomenti più complicati come
l'organizzazione e la configurazione della posta per tutto il tuo
dominio.
Configurazione di Base
email
configurazione
Dalla macchina FreeBSD, dovresti essere in grado di spedire posta a
host esterni a condizione di aver sistemato
/etc/resolv.conf o di avere in esecuzione un
proprio server dei nomi. Se vuoi che la posta per il tuo host sia
consegnata all'MTA (es., sendmail ) in
esecuzione sul tuo host FreeBSD, esistono due metodi per farlo:
Eseguire un proprio server dei nomi e avere un proprio dominio.
Per esempio, FreeBSD.org
Ricevere la posta direttamente sul tuo host. Questo viene fatto
consegnando la posta direttamente al nome DNS corrente della tua
macchina. Per esempio, example.FreeBSD.org .
SMTP
Indipendentemente dal metodo scelto, affinché la posta
possa essere consegnata direttamente al tuo host, devi avere un
indirizzo IP statico permanente (non un indirizzo dinamico, come avviene
nella maggior parte delle configurazioni dial-up di PPP). Se sei
dietro a un firewall, devi abilitare il traffico SMTP in entrata. Se
vuoi ricevere la posta direttamente sul tuo host, devi verificare una di
queste due cose:
record MX
Assicurati che il record MX (con il numero più basso)
relativo al tuo host nel tuo DNS punti all'indirizzo IP del tuo
host.
Assicurati che non ci siano record MX nel tuo DNS per il tuo
host.
Entrambi questi due metodi ti permettono di ricevere posta
direttamente sul tuo host.
Prova questi comandi:
&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
Se ottieni un risultato simile, l'invio diretto a
yourlogin@example.FreeBSD.org dovrebbe funzionare senza
problemi (assumendo che sendmail sia
correttamente in esecuzione su example.FreeBSD.org ).
Se invece vedi qualcosa di simile a questo:
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
Tutta la posta spedita al tuo host (example.FreeBSD.org ) finirà per essere
raccolta su hub sotto lo stesso nome utente invece
di essere spedita direttamente al tuo host.
L'informazione precedente viene gestita dal tuo server DNS. Il
record DNS che riporta l'informazione di instradamento della posta
è l'elemento M ail
eX change. Se non esistono record MX, la posta
sarà consegnata direttamente all'host attraverso il suo
indirizzo IP.
L'elemento MX per freefall.FreeBSD.org
in passato assomigliava a questo:
freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com
Come puoi vedere, freefall aveva molti elementi MX.
Il numero MX più basso è l'host che, se disponibile,
riceve direttamente la posta; se per qualche ragione questo non è
accessibile, gli altri (qualche volta chiamati
MX di backup
) accettano i messaggi temporaneamente,
e li passano all'host attivo con numero inferiore, fino all'host
con il numero più basso.
I server MX alternativi dovrebbero avere connessioni Internet
indipendenti dalla propria al fine di risultare più utili.
Il tuo ISP o un tuo amico non dovrebbero avere problemi
a darti questo servizio.
Posta per il Tuo Dominio
Per organizzare un server di posta hai bisogno che la posta inviata
alle stazioni di lavoro sia ricevuta direttamente sul server di posta.
Sostanzialmente, hai bisogno di richiedere
che la posta
per i nomi host del tuo dominio (in questo caso *.FreeBSD.org ) sia deviata al server di posta in
modo tale che i tuoi utenti possono raccogliere la loro posta sul
server di posta principale.
DNS
Per rendere la vita più facile, dovrebbe esistere su
entrambe le macchine un account utente con lo stesso nome
utente . Usa &man.adduser.8; per farlo.
La macchina server di posta che utilizzerai deve essere
designata come la macchina che scambia la posta per tutte le postazioni
sulla rete. Questo viene realizzato attraverso la configurazione del
DNS in modo simile a quanto segue:
example.FreeBSD.org A 204.216.27.XX ; Stazione di lavoro
MX 10 hub.FreeBSD.org ; Server di posta
In questo modo la posta per la stazione di lavoro sarà
reindirizzata al server di posta senza preoccuparsi dove punti il
record A. La posta viene inviata all'host MX.
Non puoi effettuare queste modifiche da solo a meno che non hai in
esecuzione un tuo server DNS. Se non puoi eseguire un server DNS,
consulta il tuo ISP o chiunque ti fornisca il servizio DNS.
Se stai facendo dell'hosting di posta elettronica virtuale, le
seguenti informazioni ti torneranno utili. In questo esempio, assumiamo
che hai un cliente con un proprio dominio, in questo caso customer1.org , e vuoi che tutta la posta
per customer1.org sia spedita alla
tua macchina server di posta mail.myhost.com .
L'elemento nel tuo DNS dovrebbe assomigliare a questo:
customer1.org MX 10 mail.myhost.com
Non hai bisogno di un record A per customer1.org se vuoi solamente gestire
la posta per tale dominio
Sii consapevole che un ping su customer1.org non funzionerà se
non esiste un record A per tale dominio.
L'ultima cosa che devi fare è indicare a
sendmail , posto sulla tua macchina server,
per quali domini e/o host deve accettare posta. Esistono
differenti modi per farlo. I seguenti due funzionano entrambi:
Se usi FEATURE(use_cw_file) aggiungi gli host
al tuo file /etc/mail/local-host-names . Se usi
una versione di sendmail precedente
alla 8.10, il file da usare è
/etc/sendmail.cw .
Se usi la versione di sendmail 8.10
o superiore aggiungi la riga Cwyour.host.com al
tuo /etc/sendmail.cf o
/etc/mail/sendmail.cf .
SMTP con UUCP
La configurazione di sendmail di default
su FreeBSD è designata per siti che si collegano direttamente a
Internet. I siti che vogliono scambiarsi lo loro posta tramite
UUCP devono installare un altro file di configurazione di
sendmail .
Editare a mano il file /etc/mail/sendmail.cf
è materia da esperti. La versione 8 di
sendmail genera file di configurazione tramite
la preelaborazione di &man.m4.1;, dove l'attuale configurazione avviene
su un livello di astrazione più alto. I file di configurazione
di &man.m4.1; possono essere trovati sotto
/usr/src/usr.sbin/sendmail/cf .
Se non hai installato un completo albero dei sorgenti sul tuo sistema,
non importa, il materiale di configurazione di
sendmail è stato diviso in un separato
tarball di sorgenti. Assumendo che tu abbia il tuo CDROM dei sorgenti di
FreeBSD montato, esegui:
&prompt.root; cd /cdrom/src
&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail
Questo estrae solo alcune centinaia di kilobytes. Il file
README nella directory cf
può servire come introduzione di base alla configurazione
di &man.m4.1;.
Il miglior modo per supportare la consegna UUCP è usare la
caratteristica mailertable . Questa crea un database
che sendmail può usare per prendere le
decisioni di instradamento.
Prima di tutto, devi creare il tuo file .mc .
La directory /usr/src/usr.sbin/sendmail/cf/cf
contiene alcuni esempi. Assumendo che tu abbia chiamato il tuo file
foo.mc , tutto quello che devi fare per convertirlo
in un valido sendmail.cf è:
&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cf
Un tipico file .mc potrebbe assomigliare a
questo:
VERSIONID(`Il tuo numero di versione ') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', il.tuo.relay.uucp )
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw il.tuo.nome.host.alias
Cw iltuonodouucp.UUCP
Le righe contenenti le caratteristiche
accept_unresolvable_domains ,
nocanonify , and
confDONT_PROBE_INTERFACES impediscono l'uso del DNS
durante la consegna della posta. La clausola
UUCP_RELAY è necessaria per supportare la
consegna UUCP. Metti semplicemente un nome host di Internet che è
in grado di gestire indirizzi di pseudo-domini .UUCP; molto
probabilmente, metterai il relay del tuo ISP.
Una volta fatto questo, hai bisogno del file
/etc/mail/mailertable . Se hai solo un collegamento
per l'esterno che viene usato per tutta la tua posta, la seguente riga
sarà sufficiente:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:il.tuo.relay.uucp
Un esempio più complesso potrebbe essere simile a
questo:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:
Le prime tre righe gestiscono dei casi speciali dove la posta
indirizzata a quel dominio non dovrebbe essere spedita tramite
l'instradamento di default, ma piuttosto tramite alcuni UUCP di confine
al fine di accorciare
il percorso di consegna. La quarta
riga gestisce la posta per il dominio Ethernet locale la quale può
essere consegnata usando SMTP. Infine, gli UUCP di confine sono
menzionati con la notazione a pseudo-dominio .UUCP, per permettere a un
uucp-diconfine
!destinatario
di sovrascrivere le regole di default. L'ultima riga è sempre un
singolo punto, a cui corrisponde ogni altra cosa e che rappresenta la
consegna UUCP tramite l'UUCP di confine che viene usato come il tuo
gateway di posta universale verso il mondo. Tutti i nomi dei nodi dietro
alla parola uucp-dom: devono essere validi UUCP di
confine, come puoi verificare usando il comando
uuname .
Si ricorda che questo file deve essere convertito in un file database
DBM prima di essere usato. La riga di comando che realizza ciò
è messa come un commento in cima al file
mailertable .
Devi sempre eseguire quel comando ogni volta che modifichi il file
mailertable .
Ultimo suggerimento: se non sei sicuro che alcuni instradamenti di
posta potrebbero funzionare, ricordati l'opzione -bt
di sendmail . Questa avvia
sendmail in modalità test
indirizzo ; digita semplicemente 3,0 ,
seguito dall'indirizzo su cui vuoi verificare l'instradamento della posta.
L'ultima riga ti informa quale agente di posta interno è stato
utilizzato, quale host di destinazione questo agente contatterà, e
l'indirizzo (molto probabilmente tradotto). Lascia questa modalità
digitando
Ctrl
D
.
&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
> ^D
+
+
+
+
+ Bill
+
+ Moran
+
+ Contributo di
+
+
+
+
+ Configurazione del sistema di posta solo per l'invio
+
+ Esistono molti casi in cui vorresti avere la possibilità di
+ inviare la posta attraverso un relay. Alcuni esempi sono:
+
+
+
+ Il tuo computer è una macchina desktop, tuttavia vorresti
+ essere in grado di usare programmi come &man.send-pr.1;. Per fare
+ ciò, dovresti usare il relay di posta del tuo ISP.
+
+
+
+ Il computer è un server che non gestisce localmente la
+ posta, ma demanda la gestione di tutta la posta ad un relay
+ inoltrandola in modo opportuno.
+
+
+
+ La maggior parte degli MTA sono in grado di
+ soddisfare questa particolare richiesta. Sfortunatamente, configurare
+ in modo opportuno un MTA standard affinchè
+ permetta solo l'inoltro della posta può essere un compito molto
+ oneroso. Usare applicazioni come sendmail e
+ postfix per questo fine risulta spesso troppo
+ eccessivo.
+
+ Inoltre, alcuni servizi di accesso a Internet prevedono nel contratto
+ l'impossibilità da parte del cliente di usare un server di
+ posta
.
+
+ Il modo più facile per colmare questa necessità è
+ installare il port mail/ssmtp .
+ Esegui i seguenti comandi come root :
+
+ &prompt.root; cd /usr/ports/mail/ssmtp
+&prompt.root; make install replace clean
+
+ Una volta installato, il port mail/ssmtp può essere configurato con
+ quattro righe nel file
+ /usr/local/etc/ssmtp/ssmtp.conf :
+
+ root=il_tuo_indirizzo_di_posta_reale
+mailhub=mail.esempio.com
+rewriteDomain=esempio.com
+hostname=_HOSTNAME_
+
+ Assicurati di usare il tuo indirizzo di posta per la variabile
+ root . Inserisci il server di posta di inoltro del
+ tuo ISP al posto di mail.esempio.com (alcuni
+ ISP lo chiamano come il server di posta in uscita
o il
+ server SMTP
).
+
+ Assicurati di disabilitare sendmail
+ settando sendmail_enable="NONE" in
+ /etc/rc.conf .
+
+ Il port mail/ssmtp ha altre
+ opzioni disponibili. Guarda il file di configurazione di esempio
+ /usr/local/etc/ssmtp e la pagina man di
+ ssmtp per alcuni esempi e maggiori
+ informazioni.
+
+ Configurando ssmtp in questo modo
+ permetterai ai programmi sul tuo computer che necessitano di spedire posta
+ di funzionare correttamente, senza violare le politiche del tuo ISP e
+ senza permettere che il tuo computer sia utilizzato per l'inoltro di
+ spam.
+
+
Uso della Posta con una Connessione Dialup
Se hai un indirizzo IP statico, non hai bisogno di adattare nulla alla
configurazione di default. Imposta come nome host il nome Internet che
ti è stato assegnato e sendmail
farà il resto.
Se hai un indirizzo IP assegnato in modo dinamico e usi una
connessione PPP dialup per Internet, allora probabilmente avrai una
casella di posta sul server di posta del tuo ISP. Assumiamo che il
dominio del tuo ISP sia example.net ,
che il tuo nome utente sia user , che hai chiamato
la tua macchina bsd.home , e che il tuo ISP
ti ha detto che puoi usare relay.example.net come relay per la posta.
Per ricevere la posta dalla tua casella, devi installare un agente
di ricupero. L'utility fetchmail è
una buona scelta poichè supporta diversi tipi di protocolli.
Questo programma è disponibile come package o dalla collezione dei
port (mail/fetchmail ).
- Di solito, il tuo ISP fornirà POP3. Se stai usando PPP a livello
+ Di solito, il tuo ISP fornirà
+ POP . Se stai usando PPP a livello
utente, puoi prelevare automaticamente la tua posta quando viene stabilita
una connessione a Internet mettendo la seguente riga in
/etc/ppp/ppp.linkup :
MYADDR:
!bg su user -c fetchmail
Se stai usando sendmail (come mostrato
sotto) per consegnare posta ad account non locali, probabilmente vorrai
che sendmail processi la tua coda di posta
non appena viene stabilita una connessione ad Internet. Per far questo,
metti il seguente comando dopo il comando fetchmail in
/etc/ppp/ppp.linkup .
!bg su user -c "sendmail -q"
Assumiamo che tu abbia un account per user su
bsd.home . Nella directory home di
user su bsd.home , crea
il file .fetchmailrc così composto:
poll example.net protocol pop3 fetchall pass MySecret
Questo file non dovrebbe essere leggibile da nessuno ad eccezione di
user poichè contiene la password
MySecret .
Per spedire la posta con il corretto header from: ,
devi indicare a sendmail di usare
user@example.net piuttosto che
user@bsd.home . Inoltre vorrai indicare a
sendmail di spedire tutta la posta tramite
relay.example.net , permettendo una veloce
trasmissione della posta.
Il seguente file .mc dovrebbe essere
sufficiente:
VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl
Fai riferimento alla precedente sezione per i dettagli su come
trasformare questo file .mc nel file
sendmail.cf . Inoltre, non dimenticarti di riavviare
sendmail dopo aver aggiornato il file
sendmail.cf .
+
+
+
+ James
+
+ Gorham
+
+ Scritto da
+
+
+
+
Autenticazione SMTP
Avere un'Autenticazione SMTP operativa sul tuo
server di posta porta numerosi benefici. L'Autenticazione
SMTP aggiunge un ulteriore strato di sicurezza a
sendmail , e ha il vantaggio di dare agli
utenti mobili che cambiano host la possibilità di usare lo stesso
server di posta senza avere la necessità di riconfigurare ogni
volta i settaggi dei loro programmi client di posta.
Installa dai port security/cyrus-sasl . Puoi trovare questo
port in security/cyrus-sasl .
In fase di compilazione security/cyrus-sasl permette di scegliere
molte opzioni e, per il nostro scopo, assicurati di selezionare
l'opzione pwcheck .
Dopo aver installato security/cyrus-sasl , edita
/usr/local/lib/sasl/Sendmail.conf
(o crealo se non esiste) e aggiungi la seguente riga:
pwcheck_method: passwd
In questo modo si permetterà a
sendmail di autenticare gli utenti tramite
il proprio database passwd di FreeBSD. Questo
procedimento evita di creare un nuovo set di nomi utenti e password
per ogni utente che necessita di usare l'autenticazione
SMTP , mantenendo la password di login uguale alla
password di posta.
Ora aggiungi le seguenti righe in
/etc/make.conf :
SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl
Queste righe daranno, in fase di compilazione di
sendmail , le giuste opzioni di
configurazione per linkare a cyrus-sasl . Assicurati che cyrus-sasl sia installato prima di
ricompilare sendmail .
Ricompila sendmail eseguendo i
seguenti comandi:
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make install
Se /usr/src non ha subito enormi cambiamenti
e se le librerie condivise di cui si ha bisogno sono disponibili, la
compilazione di sendmail non dovrebbe
avere problemi.
Dopo aver compilato e reinstallato
sendmail , edita il tuo file
/etc/mail/freebsd.mc (o qualunque altro file che
usi come file .mc . Molti amministratori
preferiscono usare, per unicità, l'output di &man.hostname.1;
come nome del file .mc ). Aggiungi le seguenti
righe:
dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl
Queste opzioni configurano i vari metodi che
sendmail ha a disposizione per autenticare
gli utenti. Se vuoi usare un metodo diverso da
pwcheck , guarda la documentazione inclusa
nel package.
Per finire, esegui &man.make.1; in /etc/mail .
Questo eseguirà il tuo nuovo file .mc e
creerà un file .cf di nome
freebsd.cf (o con il nome che hai usato per il
file .mc ). Quindi esegui il comando
make install restart , che copierà il file in
sendmail.cf , e riavvierà correttamente
sendmail . Per maggiori informazioni su
questa procedura, dovresti prendere come riferimento
/etc/mail/Makefile .
Se tutto è andato per il verso giusto, dovresti essere in grado
di inviare un messaggio di prova dopo aver inserito le informazioni di
login nel programma client di posta. Per ulteriori indagini, setta il
LogLevel di sendmail a 13 e
guarda il file /var/log/maillog per eventuali
errori.
Potresti voler aggiungere le seguenti righe in
/etc/rc.conf in modo che questo servizio sia
attivo dopo ogni avvio del sistema:
sasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"
Questo assicurerà l'inizializzazione
dell'SMTP_AUTH all'avvio del sistema.
Per ulteriori informazioni, guarda la pagina riguardante l'autenticazione
SMTP di
sendmail .
+
+
+
+
+
+ Marc
+
+ Silver
+
+ Contributo di
+
+
+
+
+ Mail User Agent
+
+
+ Mail User Agent
+
+
+ Un Mail User Agent (MUA ) è un'applicazione
+ che viene usata per inviare e ricevere la posta elettronica. Man mano
+ che la posta evolve
e diventa più complessa,
+ gli MUA diventano sempre più potenti nel modo
+ in cui essi interagiscono con la posta elettronica; ciò fornisce
+ agli utenti maggiori funzionalità e flessibilità.
+ &os; supporta svariati mail user agent, che possono essere facilmente
+ installati usando la FreeBSD Ports
+ Collection. Gli utenti possono scegliere tra client di posta
+ con un'interfaccia grafica come evolution o
+ balsa , client basati sulla console come
+ mutt , pine
+ e mail , oppure interfacce web utilizzate da alcune
+ grandi organizzazioni.
+
+
+ mail
+
+ &man.mail.1; è il Mail User Agent (MUA )
+ di default su &os;. Si tratta di un MUA basato sulla
+ console che offre tutte le funzionalità di base richieste per
+ inviare e ricevere messaggi di posta testuali, anche se è
+ limitato nelle capacità di gestione degli allegati, e può
+ solo supportare caselle di posta locali.
+
+ Sebbene mail non supporta in modo nativo
+ interazioni con server POP o IMAP ,
+ queste caselle di posta possono essere scaricate nel file
+ mbox locale usando un'applicazione come
+ fetchmail , che verrà discussa
+ più tardi in questo capitolo ().
+
+ Al fine di inviare o ricevere la posta, invoca semplicemente il
+ comando mail come nel seguente esempio:
+
+ &prompt.user; mail
+
+ I contenuti delle caselle di posta degli utenti in
+ /var/mail sono letti
+ automaticamente dall'utility mail . Se la casella
+ di posta è vuota, l'utility esce con un messaggio che indica che
+ non è stato trovato nessun messaggio di posta. Una volta che
+ la casella di posta è stata letta, viene avviata l'interfaccia
+ dell'applicazione, e vengono visualizzati una lista di messaggi.
+ I messaggi sono numerati in modo automatico, come nel seguente
+ esempio:
+
+ Mail version 8.1 6/6/93. Type ? for help.
+"/var/mail/marcs": 3 messages 3 new
+>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
+ N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
+ N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"
+
+ I messaggi possono ora essere letti usando il comando
+ t di mail , seguito dal numero
+ del messaggio che si vuole visualizzare. In questo esempio, leggeremo
+ il primo messaggio di posta:
+
+ & t 1
+Message 1:
+From root@localhost Mon Mar 8 14:05:52 2004
+X-Original-To: marcs@localhost
+Delivered-To: marcs@localhost
+To: marcs@localhost
+Subject: test
+Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
+From: root@localhost (Charlie Root)
+
+Questo è un messaggio di prova, per favore rispondi se lo ricevi.
+
+ Come puoi vedere nell'esempio precedente, il tasto
+ t visualizza il messaggio completo di tutte le sue
+ intestazioni (header). Per visualizzare ancora la lista dei messaggi,
+ puoi usare il tasto h .
+
+ Se il messaggio di posta richiede una replica, puoi usare
+ mail per rispondere, usando il tasto
+ R o r di mail .
+ Il tasto R dice a mail di rispondere
+ solamente al mittente del messaggio, mentre r replica
+ non solo al mittente, ma anche agli altri eventuali destinatari del
+ messaggio originario. Puoi anche impartire quei comandi con un
+ suffisso relativo al numero di messaggio per il quale intendi
+ rispondere. Fatto ciò, inserisci la tua risposta, segnalando la
+ fine del messaggio con un singolo punto (. ) su una
+ nuova linea. Ecco un esempio:
+
+ & R 1
+To: root@localhost
+Subject: Re: test
+
+Thank you, I did get your email.
+.
+EOT
+
+ Per inviare un nuovo messaggio, puoi usare il tasto
+ m , seguito dall'indirizzo di posta elettronica del
+ destinatario. Puoi specificare più destinatari separando ogni
+ indirizzo da una virgola (, ). Quindi si inserisce
+ il soggetto del messaggio (il subject), seguito dal contenuto del
+ messaggio stesso. La fine del messaggio deve essere specificata da un
+ singolo punto (. ) su una nuova linea.
+
+ & mail root@localhost
+Subject: Ho imparato ad usare mail
+
+Ora posso inviare e ricevere posta usando mail ... :)
+.
+EOT
+
+ Anche se in mail , il comando ?
+ può essere usato per invocare l'help in linea, la pagina man
+ &man.mail.1; dovrebbe essere consultata per ottenere maggiori
+ informazioni.
+
+
+ Come menzionato in precedenza, il comando &man.mail.1; non
+ è stato originariamente progettato per gestire gli allegati, e
+ quindi il supporto per essi è proprio misero. Nuovi
+ MUA come mutt gestiscono
+ gli allegati in un modo più intelligente. Tuttavia se desideri
+ comunque usare il comando mail , dovresti
+ considerare l'uso del port converters/mpack .
+
+
+
+
+ mutt
+
+ mutt è un Mail User Agent leggero
+ ma molto potente, con caratteristiche eccellenti, alcune delle
+ quali sono:
+
+
+
+ Abilità nella gestione di thread di messaggi;
+
+
+
+ Supporto PGP per la firma digitale e per criptare i messaggi di
+ posta;
+
+
+
+ Supporto al MIME;
+
+
+
+ Supporto del formato Maildir;
+
+
+
+ Altamente personalizzabile.
+
+
+
+ Tutte queste caratteristiche fanno di
+ mutt uno dei maggiori user agent avanzati
+ oggi disponibili. Guarda per
+ maggiori informazioni su mutt .
+
+ La versione stabile di mutt può
+ essere installata usando il port mail/mutt , mentre la versione corrente
+ di sviluppo può essere installata tramite il port mail/mutt-devel . Una volta che il port
+ è stato installato, mutt può
+ essere avviato usando il seguente comando:
+
+ &prompt.user; mutt
+
+ mutt in modo automatico legge il
+ contenuto della casella di posta dell'utente in /var/mail/ e ne visualizza il contenuto.
+ Se non ci sono messaggi nella casella di posta dell'utente, allora
+ mutt si mette in attesa di comandi da parte
+ dell'utente. L'esempio qui sotto mostra mutt
+ che visualizza una lista di messaggi:
+
+
+
+
+
+
+
+ Per leggere un messaggio, selezionalo usando i tasti cursore, e
+ premi il tasto Invio . Segue un esempio di come
+ mutt visualizza un messaggio:
+
+
+
+
+
+
+
+ Come con il comando &man.mail.1;, mutt
+ permette agli utenti di rispondere al solo mittente del messaggio come
+ pure a tutti i suoi destinatari. Per rispondere solo al mittente
+ del messaggio, usa il tasto r . Per inviare una
+ risposta di gruppo, che invierà la risposta sia al mittente
+ originario sia a tutti i destinatari del messaggio, usa il tasto
+ g .
+
+
+ mutt si serve del comando &man.vi.1;
+ come editor per la creazione o risposta dei messaggi di posta
+ elettronica. Il tipo di editor può essere personalizzato
+ dall'utente creando o editando il proprio file di configurazione
+ .muttrc nella propria directory home e settando
+ in modo opportuno la variabile editor .
+
+
+ Per comporre un nuovo messaggio, premi il tasto m .
+ Dopo aver digitato un valido soggetto, mutt
+ avvierà &man.vi.1; con il quale comporre il corpo del messaggio.
+ Fatto ciò, salvando e uscendo da vi ,
+ mutt visualizzarà una schermata
+ riassuntiva del messaggio che sta per essere consegnato. Per inviare il
+ messaggio, premi il tasto y . Segue un esempio di una
+ schermata riassuntiva di un messaggio:
+
+
+
+
+
+
+
+ mutt contiene un ottimo help in linea,
+ che può essere accessibile nella maggior parte dei menù
+ digitando il tasto ? . Inoltre, in alcuni casi, nella
+ parte superiore delle finestra vengono elencati i tasti funzioni
+ principali.
+
+
+
+ pine
+
+ pine è rivolto agli utenti novizi,
+ tuttavia include alcune caratteristiche avanzate.
+
+
+ Il software pine ha avuto svariate
+ vulnerabilità remote scoperte in passato, che permettevano ad
+ attaccanti remoti di eseguire del codice arbitrario come se fossero
+ degli utenti locali del sistema, tramite l'invio di un messaggio di
+ posta preparato ad doc. Tutti questi noti
+ problemi sono stati rattoppati, ma il codice di
+ pine è stato scritto in un modo
+ insicuro e il Servizio di Sicurezza di &os; crede che probabilmente
+ esistono altre vulnerabilità non ancora scoperte o divulgate.
+ Installa pine a tuo rischio e
+ pericolo.
+
+
+ L'attuale versione di pine può
+ essere installata usando il port mail/pine4 . Una volta che il port è
+ stato installato, pine può essere
+ avviato con il comando seguente:
+
+ &prompt.user; pine
+
+ La prima volta che pine viene avviato
+ viene visualizza una pagina di presentazione con una breve introduzione,
+ e un sollecito del team di sviluppo di pine
+ ad inviare un messaggio anonimo che permette di constatare quanti sono
+ gli utenti che usano la loro applicazione. Per inviare questo messaggio
+ anonimo, premi Invio , oppure premi il tasto
+ E per uscire dalla presentazione senza inviare il
+ messaggio anonimo. Ecco un esempio della pagina di
+ presentazione:
+
+
+
+
+
+
+
+ All'utente viene quindi presentato il menù principale, che
+ può essere facilmente esplorato con i tasti cursore. Questo
+ menù principale fornisce le scorciatoie per comporre nuovi
+ messaggi di posta, per esplorare le directory di posta e perfino per
+ amministrare l'agenda degli indirizzi. Sotto al menù
+ principale, sono mostrati i tasti funzione utili per realizzare azioni
+ specifiche, attinenti all'attuale contesto d'uso.
+
+ La directory di default aperta da pine
+ è inbox . Per visualizzare
+ l'indice dei messaggi, premi il tasto I , o seleziona
+ l'opzione MESSAGE INDEX come da
+ esempio:
+
+
+
+
+
+
+
+ L'indice dei messaggi mostra i messaggi nella directory corrente,
+ e può essere esplorato con i tasti cursore. I messaggi
+ selezionati possono essere letti premendo il tasto
+ Invio .
+
+
+
+
+
+
+
+ Nello screenshot seguente, viene visualizzato un semplice messaggio
+ in pine . I tasti funzione sono visualizzati
+ come riferimento nella parte superiore della finestra. Un esempio di
+ uno di questi tasti funzioni è il tasto r ,
+ che dice al MUA di rispondere al messaggio
+ attualmente visualizzato.
+
+
+
+
+
+
+
+ In pine la risposta ad un messaggio viene
+ realizzata con l'editor pico , che è
+ installato di default con pine . L'utility
+ pico permette una semplice esplorazione del
+ messaggio ed è più permissivo con i nuovi utenti rispetto
+ a &man.vi.1; o &man.mail.1;. Una volta completata la risposta, il
+ messaggio può essere inviato con Ctrl X .
+ L'applicazione pine chiederà una
+ conferma.
+
+
+
+
+
+
+
+ pine può essere personalizzato
+ usando l'opzione SETUP del menù
+ principale. Consulta per maggiori
+ informazioni.
+
+
+
+
+
+
+
+ Marc
+
+ Silver
+
+ Contributo di
+
+
+
+
+ Usare fetchmail
+
+
+ usare fetchmail
+
+
+ fetchmail è un client
+ IMAP e POP super attrezzato che
+ da la possibilità agli utenti di scaricare automaticamente la posta
+ da server remoti IMAP e POP e di
+ salvarla nelle proprie caselle di posta locali; in questo modo la posta
+ è più accessibile. fetchmail
+ può essere installato usando il port mail/fetchmail , e offre diverse
+ caratteristiche, alcune delle quali sono:
+
+
+
+ Supporto dei protocolli POP3 ,
+ APOP , KPOP ,
+ IMAP , ETRN e
+ ODMR .
+
+
+
+ Capacità di inoltrare la posta usando
+ SMTP , permettendo di filtrare, inoltrare, e usare
+ la funzionalità alias come di consueto.
+
+
+
+ Può essere eseguito in modalità demone per
+ verificare in modo periodico la presenza di nuovi messaggi.
+
+
+
+ Può recuperare più caselle di posta e inoltrare
+ i relativi messaggi a diversi utenti locali, a seconda della sua
+ configurazione.
+
+
+
+ Benchè la spiegazione di tutte le caratteristiche di
+ fetchmail vada oltre lo scopo di questo
+ documento, verranno presentate alcune funzionalità di base.
+ fetchmail richiede un file di configurazione
+ .fetchmailrc , al fine di poter essere avviato in modo
+ corretto. Questo file include informazioni sui server come pure le
+ credenziali per il login. Data la natura sensibile del contenuto di
+ questo file, è consigliabile renderlo accessibile in sola lettura
+ dal proprietario, usando il seguente comando:
+
+ &prompt.user; chmod 600 .fetchmailrc
+
+ La seguente configurazione di .fetchmailrc serve
+ come esempio per scaricare una singola casella di posta usando
+ POP . Essa indica a
+ fetchmail di connettersi a example.com usando come nome utente
+ joesoap e come password XXX .
+ Questo esempio assume che l'utente joesoap è
+ anche un utente del sistema locale.
+
+ poll example.com protocol pop3 username "joesoap" password "XXX"
+
+ Il prossimo esempio si connette a più server
+ POP e IMAP e redirige i vari
+ messaggi a diversi nomi utenti locali quando necessario:
+
+ poll example.com proto pop3:
+user "joesoap", with password "XXX", is "jsoap" here;
+user "andrea", with password "XXXX";
+poll example2.net proto imap:
+user "john", with password "XXXXX", is "myth" here;
+
+ L'utility fetchmail può essere
+ eseguita in modalità demone con l'opzione -d ,
+ seguita da un intervallo (in secondi) in base al quale
+ fetchmail sonderà i server elencati nel
+ file .fetchmailrc . Il seguente esempio indica a
+ fetchmail di sondare i server ogni 60
+ secondi:
+
+ &prompt.user; fetchmail -d 60
+
+ Maggiori informazioni su fetchmail possono
+ essere trovate all'indirizzo .
+
+
+
+
+
+
+ Marc
+
+ Silver
+
+ Contributo di
+
+
+
+
+ Usare procmail
+
+
+ usare procmail
+
+
+ L'utility procmail è un'applicazione
+ molto potente usata per filtrare la posta in ingresso. Permette agli
+ utenti di definire delle regole
che sono confrontate con la
+ posta in ingresso per realizzare funzioni specifiche o per inoltrare la
+ posta ad una casella di posta alternativa e/o ad altri indirizzi di posta.
+ procmail può essere installato usando
+ il port mail/procmail . Una volta
+ installato, può essere integrato direttamente nella maggior parte
+ degli MTA ; consulta la documentazione del tuo
+ MTA per maggiori informazioni. Altrimenti,
+ procmail può essere integrato
+ aggiungendo la seguente linea nel file .forward nella
+ home directory dell'utente, potendo così utilizzare le
+ funzionalità di procmail :
+
+ "|exec /usr/local/bin/procmail || exit 75"
+
+ La seguente sezione mostra alcune regole base di
+ procmail , così come una breve
+ descrizione di ciò che fanno. Queste ed eventualmente altre
+ regole, devono essere inserite nel file .procmailrc ,
+ posto nella home directory dell'utente.
+
+ La maggior parte di queste regole possono essere trovate anche nella
+ pagina man di &man.procmailex.5;.
+
+ Per inoltrare la posta inviata da user@example.com
+ all'indirizzo di posta goodmail@example2.com :
+
+ :0
+* ^From.*user@example.com
+! goodmail@example2.com
+
+ Per inoltrare tutti i messaggi di posta con dimensioni inferiori a
+ 1000 bytes verso l'indirizzo di posta esterno
+ goodmail@example2.com :
+
+ :0
+* < 1000
+! goodmail@example2.com
+
+ Per inoltrare tutta la posta inviata a
+ alternate@example.com in una casella di posta chiamata
+ alternate :
+
+ :0
+* ^TOalternate@example.com
+alternate
+
+ Per inviare tutti messaggi di posta con soggetto Spam
+ in /dev/null :
+
+ :0
+^Subject:.*Spam
+/dev/null
+
+ Ecco una ricetta utile che analizza i messaggi di posta in ingresso
+ delle liste di &os;.org e li posiziona
+ in base alla lista in una opportuna casella di posta:
+
+ :0
+* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
+{
+ LISTNAME=${MATCH}
+ :0
+ * LISTNAME??^\/[^@]+
+ FreeBSD-${MATCH}
+}
+
\ No newline at end of file
+-->
diff --git a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml
index 4a94ea1ab4..cf6bf50d9d 100644
--- a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml
@@ -1,2729 +1,2745 @@
Ottenere FreeBSD
Editori di CDROM e DVD
Prodotti al Dettaglio Confezionati
FreeBSD è disponibile in confezioni (i CD di FreeBSD, del
software aggiuntivo, e la documentazione cartacea) presso svariati
rivenditori:
CompUSA
WWW:
Frys Electronics
WWW:
Set di CD e DVD
I set di CD e DVD di FreeBSD sono disponibili presso molti
rivenditori on-line:
Daemon News Mall
560 South State Street, Suite A2
Orem , UT 84058
Stati Uniti d'America
Telefono: +1 800 407-5170
Fax: +1 1 801 765-0877
Email: sales@bsdmall.com
WWW:
FreeBSD Mall, Inc.
3623 Sanford Street
Concord , CA 94520-1405
Stati Uniti d'America
Telefono: +1 925 674-0783
Fax: +1 925 674-0821
Email: info@freebsdmall.com
WWW:
FreeBSD Services Ltd
11 Lapwing Close
Bicester
OX26 6XR
Regno Unito
WWW:
Hinner EDV
St. Augustinus-Str. 10
D-81825 München
Germania
Telefono: (089) 428 419
WWW:
Ikarios
22-24 rue Voltaire
92000 Nanterre
Francia
WWW:
Ingram Micro
1600 E. St. Andrew Place
Santa Ana , CA 92705-4926
Stati Uniti d'America
Telefono: 1 (800) 456-8000
WWW:
JMC Software
Irlanda
Telefono: 353 1 6291282
WWW:
The Linux Emporium
Hilliard House, Lester Way
Wallingford
OX10 9TA
Regno Unito
Telefono: +44 1491 837010
Fax: +44 1491 837016
WWW:
+ url="http://www.linuxemporium.co.uk/products/freebsd/">
Linux System Labs Australia
21 Ray Drive
Balwyn North
VIC - 3104
Australia
Telefono: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW:
UNIXDVD.COM LTD
57 Primrose Avenue
Sheffield
S5 6FS
Regno Unito
WWW:
Distributori
Se sei un rivenditore e vuoi vendere i CDROM di FreeBSD, contatta
uno dei distributori seguenti:
Cylogistics
2672 Bayshore Parkway, Suite 610
Mountain View , CA 94043
Stati Uniti d'America
Telefono: +1 650 694-4949
Fax: +1 650 694-4953
Email: sales@cylogistics.com
WWW:
FreeBSD Services Ltd
11 Lapwing Close
Bicester
OX26 6XR
Regno Unito
WWW:
Kudzu, LLC
7375 Washington Ave. S.
Edina , MN 55439
Stati Uniti d'America
Telefono: +1 952 947-0822
Fax: +1 952 947-0876
Email: sales@kudzuenterprises.com
Navarre Corp
7400 49th Ave South
New Hope , MN 55428
Stati Uniti d'America
Telefono: +1 763 535-8333
Fax: +1 763 535-0341
WWW:
Siti FTP
I sorgenti ufficiali di FreeBSD sono disponibili via FTP anonimo da
una serie di siti mirror sparsi in tutto il mondo. Il sito è ben gestito
e permette un gran numero di connessioni, ma ti conviene probabilmente
trovare un sito mirror a te più vicino
(soprattutto
se decidi di configurare una sorta di sito mirror).
Il database dei siti
mirror di FreeBSD è più preciso della lista
contenuta in questo manuale, poichè ottiene le informazioni
direttamente dal DNS anziché affidarsi a una lista statica di
host.
Inoltre, FreeBSD è disponibile via FTP anonimo dai seguenti
siti mirror. Se decidi di procurarti FreeBSD via FTP anonimo, usa per
favore un sito a te vicino. I siti mirror elencati come Siti
Mirror Primari
hanno tipicamente l'intero archivio di
FreeBSD (tutte le versioni oggi disponibili per ognuna delle architetture)
ma probabilmente scaricherai più veloce da un sito che è nel
tuo stato. I siti di ogni stato contengono le versioni più recenti
per le architetture più popolari ma potrebbero non contenere
l'intero archivio di FreeBSD. Tutti i siti permettono l'accesso tramite
FTP anonimo e alcuni permettono l'accesso anche con altri metodi.
I metodi di accesso disponibili per ogni sito sono elencati per i siti di
ogni stato.
&chap.mirrors.ftp.inc;
CVS Anonimo
Introduzione
Il CVS Anonimo (anche conosciuto come anoncvs )
è una caratteristica del programma di utilità CVS
contenuto in FreeBSD che serve per sincronizzarsi con un deposito CVS
remoto (in gergo repository CVS). Tra le altre cose, permette agli
utenti di FreeBSD di realizzare, senza avere particolari permessi,
operazioni CVS in sola lettura su uno dei server anoncvs ufficiali del
progetto FreeBSD. Per utilizzarlo è sufficiente impostare la
variabile di ambiente CVSROOT facendola puntare al server
anoncvs appropriato, immettere la password anoncvs
con il
comando cvs login , e poi usare il comando &man.cvs.1
per accederci come se fosse un deposito locale.
Il comando cvs login memorizza le password
utilizzate per l'autenticazione con il server CVS in un file
chiamato .cvspass nella tua directory
HOME . Se questo file non esiste, potresti ricevere
un errore alla prima esecuzione di cvs login .
Crea un file .cvspass vuoto e riprova il
login.
Benché si possa dire che i servizi CVSup e anoncvs realizzino
sostanzialmente le stesse funzioni, ci sono vari particolari che possono
influenzare la scelta di un metodo di sincronizzazione piuttosto
dell'altro. Per dirla in breve, CVSup
è più efficiente nell'uso delle risorse di rete ed
è il più avanzato tecnicamente tra i due, ma tutto questo
ha un prezzo. Per usare CVSup , bisogna
installare e configurare un client speciale prima di poter scaricare
qualcosa, e si può scaricare solo blocchi piuttosto grossi che
CVSup chiama
collezioni .
Anoncvs , al contrario, può essere
usato per esaminare qualunque cosa a partire da un singolo file fino a
uno specifico programma (come ls o
grep ) specificando il nome del modulo CVS.
Ovviamente, anoncvs è adatto solo per
operazioni di sola lettura sul deposito CVS, quindi se hai intenzione
di supportare lo sviluppo locale in uno dei depositi condivisi del
progetto FreeBSD allora CVSup è in
realtà l'unica opzione.
Uso del CVS Anonimo
La configurazione di &man.cvs.1; per usare un deposito CVS Anonimo
è semplicemente una questione di impostare la variable di
ambiente CVSROOT affinché punti a uno dei server
anoncvs del progetto FreeBSD. Al momento della
stesura di questo testo sono disponibili i seguenti server:
Stati Uniti d'America :
:pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
(Usa cvs login ed inserisci la password
anoncvs
quando richiesta.)
Germania :
:pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs
(Usa cvs login ed inserisci la password
anoncvs
quando richiesta.)
Germania :
:pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs
(rsh, pserver, ssh, ssh/2022)
Giappone :
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(Usa cvs login ed inserisci la password
anoncvs
quando richiesta.)
Austria :
:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
(Usa cvs login ed inserisci una password
qualunque quando richiesta.)
+
+
+ Francia :
+ :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
+ (pserver (password anoncvs
), ssh (nessuna
+ password))
+
Dato che CVS permette di estrarre (nel suo gergo: check
out
) qualsiasi versione dei sorgenti di FreeBSD che sia mai
esistita (o, in alcuni casi, che esisterà), è bene
familiarizzare con il parametro revisione (-r ) di
&man.cvs.1; e sapere quali valori può assumere nel deposito
del progetto FreeBSD.
Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag
di revisione fa riferimento ad una revisione specifica. Il suo
significato rimane lo stesso di giorno in giorno. Un tag di ramo,
d'altro canto, si riferisce sempre all'ultima revisione relativa a una
specifica linea di sviluppo. Dato che un tag di ramo non si riferisce
ad una revisione specifica, esso potrebbe avere un significato diverso
da un giorno con l'altro.
La contiene i tag di revisione che possono
essere interessanti per gli utenti. Tuttavia, nessuno di questi tag
è valido per la collezione dei port poichè questa non ha
revisioni multiple.
Quando specifichi un tag di ramo, normalmente ricevi l'ultima
versione dei file relativa a quella linea di sviluppo. Se vuoi ricevere
una versione precedente, puoi farlo specificando la data con il
parametro -D date . Si rimanda alla pagina man di
&man.cvs.1; per ulteriori dettagli.
Esempi
Benché sia consigliata un'attenta lettura della pagina man di
&man.cvs.1; prima di fare qualsiasi cosa, seguono alcuni veloci esempi
che spiegano in modo essenziale l'uso del CVS Anonimo:
Estrazione di Qualcosa dalla -CURRENT (&man.ls.1;) e poi
Cancellazione della Stessa:
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
Alla richiesta, inserire la password anoncvs
.
&prompt.user; cvs co ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logout
Estrazione della Versione di &man.ls.1; dal Ramo
3.X-STABLE:
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
Alla richiesta, inserire la password anoncvs
.
&prompt.user; cvs co -rRELENG_3 ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logout
Creazione di una Lista di Cambiamenti (come Diff Unificate) di
&man.ls.1;
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
Alla richiesta, inserire la password anoncvs
.
&prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls
&prompt.user; cvs logout
Scoperta di Quali Altri Nomi di Moduli Possono Essere Usati:
&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs login
Alla richiesta, inserire la password anoncvs
.
&prompt.user; cvs co modules
&prompt.user; more modules/modules
&prompt.user; cvs release -d modules
&prompt.user; cvs logout
Altre Risorse
Le seguenti risorse addizionali possono essere utili
nell'apprendimento del CVS:
CVS
Tutorial dal Cal Poly.
CVS Home ,
la comunità di sviluppo e supporto del CVS.
CVSWeb
è l'interfaccia web di CVS relativa al progetto
FreeBSD.
Uso di CTM
CTM è un metodo per mantenere
sincronizzati un albero di directory remoto e uno centralizzato. È
stato sviluppato per l'albero dei sorgenti di FreeBSD, anche se con il
passare del tempo, altre persone lo hanno trovano utile per altri scopi.
A tutt'oggi esiste pochissima documentazione sul processo della creazione
- delle delta, quindi contattate &a.phk; per avere più informazioni
- nel caso voleste usare CTM per altri
- scopi.
+ delle delta, quindi contattate la mailing list &a.ctm-users.name; per
+ avere più informazioni e nel caso voleste usare
+ CTM per altri scopi.
Perché Dovrei Usare CTM ?
CTM fornisce una copia locale dell'albero
dei sorgenti di FreeBSD. Ci sono molte varietà
di
alberi disponibili. Che tu voglia seguire l'intero albero CVS o solo
uno dei rami, CTM può fornirti i dati
che ti servono. Se sei uno sviluppatore attivo di FreeBSD, ma hai una
connettività TCP/IP di bassa qualità o non esistente, o
semplicemente desideri ricevere le modifiche in modo automatico,
CTM fa al caso tuo. Riceverai fino a tre
delta giornaliere per i rami più attivi. Tuttavia, puoi
considerare che li puoi avere attraverso l'invio automatico di email.
Le dimensioni degli aggiornamenti sono sempre più piccole
possibile. Questi sono in genere meno di 5K, con occasionali (uno su
dieci) aggiornamenti da 10-50K e qualcuno più grande (100K o
più) di tanto in tanto.
Devi anche essere cosciente delle varie insidie relativi all'uso di
sorgenti in via di sviluppo e non provenienti da release pronte. Questo
è vero in particolare per i sorgenti current
(correnti). È raccomandata la lettura di Restare in current
con
FreeBSD.
Cosa Serve per l'Uso di CTM ?
Ti servono due cose: il programma CTM , e
le delta iniziali da dargli in pasto (per arrivare ai livelli della
current
).
Il programma CTM fa parte di FreeBSD fin
dalla release della versione 2.0 e, se hai una copia dei sorgenti
disponibile, risiede in
/usr/src/usr.sbin/ctm .
Se stai usando una versione di FreeBSD precedente alla release 2.0,
puoi recuperare i sorgenti attuali di CTM
direttamente da:
+ url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/usr.sbin/ctm/">
Le delta
da dare in pasto a
CTM si possono avere in due modi: tramite FTP
o email. Se puoi utilizzare FTP via Internet allora i seguenti siti
supportano l'accesso a CTM :
vedi anche la sezione mirror.
Entra via FTP nella directory giusta e, da lì, inizia col
trasferire il file README .
Se invece desideri ricevere le delta per email:
Iscriviti ad una delle liste di distribuzione di
CTM . &a.ctm-cvs-cur.name; supporta l'interno
albero CVS. &a.ctm-src-cur.name; supporta il ramo di sviluppo current.
&a.ctm-src-4.name; supporta il ramo della release 4.X, ecc. (Se non sai
come iscriverti a una lista, clicca sul nome della lista o raggiungi la
pagina &a.mailman.lists.link; e clicca sulla lista a cui ti vuoi
iscrivere. La pagina della lista dovrebbe contenere tutte le
informazioni necessarie per l'iscrizione.)
Quando inizierai a ricevere gli aggiornamenti
CTM via email, puoi usare il programma
ctm_rmail per scompattarli e per applicarli. In
realtà, se vuoi avere un processo completamente automizzato,
puoi usare il programma ctm_rmail direttamente in un
elemento di /etc/aliases . Esamina la pagina man di
ctm_rmail per maggiori dettagli.
Indipendentemente dal metodo che utilizzi per ricevere le delta di
CTM , dovresti iscriverti alla mailing list
&a.ctm-announce.name;. In futuro, questo sarà l'unico posto
dove saranno postati gli annunci riguardanti il funzionamento del
sistema CTM . Clicca sul nome della lista
e segui le istruzioni per iscriverti.
Uso di CTM per la Prima Volta
Prima che tu possa servirti delle delta di
CTM , hai bisogno di un punto di partenza dal
quale successivamente costruire le delta.
Innanzitutto dovresti determinare ciò che hai. Si può
iniziare da un directory vuota
. Devi usare una delta
iniziale Empty
per iniziare il tuo albero
CTM . Qualche volta può succedere che
una di queste delta iniziali
sia distribuita su un CD
per tua convenienza, ma comunque, questo generalmente non
avviene.
Poichè gli alberi sono molte decine di megabyte, puoi
iniziare da qualcosa che hai a portata di mano. Se hai un CD
di una release, puoi copiare o estrarre i sorgenti da lì. Questo
salverà un significativo trasferimento di dati.
Puoi riconoscere queste delta iniziali
dalla lettera
X preceduta da un numero (per esempio
src-cur.3210XEmpty.gz ). Il nome che segue la
lettera X corrisponde all'origine del tuo
seme
iniziale. Empty è una
directory vuota. Di solito una transizione base a partire da
Empty è prodotta ogni 100 delta. Strada
facendo, queste avranno grandi dimensioni! Le dimensioni comuni per le
delta XEmpty vanno dai 70 a 80 Megabyte di dati
compressi con gzip .
Una volta che ti sei procurato una delta base come punto di
partenza, avrai bisogno anche di tutte le delta successive aventi un
numero maggiore.
Uso di CTM nella Tua Vita
Quotidiana
Per applicare le delta, fai come segue:
&prompt.root; cd /where/ever/you/want/the/stuff
&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.*
CTM decifra le delta compresse tramite
il comando gzip , quindi non hai bisogno di
decomprimerle con gunzip , e ciò salva spazio
su disco.
Tranne in alcune circostanze, CTM non
toccherà il tuo albero. Per verificare una delta puoi usare
l'opzione -c e di fatto CTM
non toccherà il tuo albero; verificherà soltanto
l'integrità della delta e se questa può essere applicata
in modo pulito al tuo albero attuale.
Ci sono altre opzioni di CTM , guarda
la pagina man o ispeziona i sorgenti per maggiori dettagli.
Questo è davvero tutto ciò che devi sapere. Ogni
volta che ottieni una delta, esegui CTM per
aggiornare i tuoi sorgenti.
È meglio non rimuovere le delta che richiedono grandi tempi
di scaricamento. Nel caso succeda qualche disgrazia non dovrai
riscaricarle. Anche se hai solo dischetti floppy, considera l'uso di
fdwrite per crearne una copia.
Mantenimento delle Tue Modifiche Locali
Allo stesso modo di uno sviluppatore potresti voler sperimentare
delle modifiche nell'albero dei sorgenti.
CTM supporta le modifiche locali in modo
limitato: prima di verificare la presenza di un file
foo , esso cerca foo.ctm . Se
questo file esiste, CTM opererà su di
esso piuttosto che su foo .
Questo comportamento offre un semplice modo per mantenere le
modifiche locali: copia semplicemente il file che desideri modificare in
un file con lo stesso nome e suffisso .ctm .
Quindi puoi liberamente hackerare il codice, e
CTM manterrà aggiornato il file
.ctm .
Altre Opzioni Interessanti di
CTM
Scoprire con Precisione Ciò che Dovrebbe Essere
Aggiornato
Puoi determinare la lista delle modifiche che
CTM apporterà ai tuoi sorgenti
usando l'opzione -l di
CTM .
Questo è utile se vuoi mantenere dei log delle modifiche,
prima o dopo aver modificato in qualche modo i file, o solo
perchè ti senti un pò paranoico.
Creare dei Backup Prima di Aggiornare
Qualche volta potresti voler creare dei backup di tutti i file
che saranno modificati da un aggiornamento di
CTM .
Specificando l'opzione -B backup-file ,
CTM effettuerà il backup di tutti i
file che saranno modificati da una certa delta
CTM nel file
backup-file .
Limitare i File che Devono Essere Aggiornati
Qualche volta potresti volere restringere la portata di un certo
aggiornamento CTM , o potresti essere
interessato ad estrarre solo pochi file da una serie di delta.
Puoi controllare la lista dei file sui quali
CTM opererà specificando
un'espressione regolare usando le opzioni -e e
-x .
Per esempio, per estrarre una copia aggiornata del file
lib/libc/Makefile dalla tua collezione di delta
CTM , esegui i comandi seguenti:
&prompt.root; cd /dove/vuoi/estrarre/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
Per ogni file specificato in una delta
CTM , le opzioni -e e
-x sono applicate nello stesso ordine in cui
compaiono sulla riga di comando. Il file è processato da
CTM solo se risulta idoneo a tutte le
opzioni -e e -x ad esso
applicate.
Piani Futuri per CTM
I più importanti:
Usare qualche tipo di autenticazione nel sistema
CTM , in modo tale da permette
l'identificazione di aggiornamenti CTM
contraffatti.
Ripulire le opzioni di CTM , che
confondono e sono tutt'altro che intuitive.
Materiale Vario
Esiste una serie di delta per la collezione dei
ports , ma è ancora di poco interesse.
Mirror CTM
CTM/FreeBSD è disponibile via FTP
anonimo dai siti mirror seguenti. Se decidi di procurarti
CTM via FTP anonimo, per favore usa un sito
a te vicino.
- In caso di problemi, contatta &a.phk;.
+ In caso di problemi, contatta la mailing list
+ &a.ctm-users.name;.
California, Bay Area, sorgenti ufficiali
Sudafrica, server di backup per vecchie delta
Taiwan/R.O.C.
Se non trovi un mirror a te vicino o se il mirror è
incompleto, prova ad usare qualche motore di ricerca come alltheweb .
Uso di CVSup
Introduzione
CVSup è un pacchetto di software
per distribuire ed aggiornare alberi di sorgenti da un deposito centrale
CVS posto su un server remoto. I sorgenti di FreeBSD sono mantenuti in
un deposito CVS su una macchina centrale di sviluppo situata in
California. Con CVSup , gli utenti di FreeBSD
possono facilmente mantenere aggiornati i loro alberi di
sorgenti.
CVSup usa il cosiddetto modello ad
estrazione per aggiornare. In questo modello,
è compito del client chiedere al server gli aggiornamenti.
Il server attente passivamente le richieste di aggiornamento dai suoi
client. In questo modo tutti gli aggiornamenti sono incitati dal
client. Il server non invia mai degli aggiornamenti che non sono stati
richiesti. Gli utenti devono eseguire il client
CVSup manualmente per ottenere un
aggiornamento, oppure possono usare cron per eseguire
automaticamente queste operazioni secondo stabilite regole.
Il termine CVSup , scritto in quel modo,
si riferisce all'intero pacchetto di software. I suoi componenti
principali sono il client cvsup che viene eseguito
su ogni macchina degli utenti, e il server cvsupd che
viene eseguito su ogni sito mirror di FreeBSD.
Leggendo la documentazione di FreeBSD e le mailling list, potresti
notare dei riferimenti a sup .
Sup è il predecessore di
CVSup , e serviva per un simile scopo.
CVSup sostanzialmente è usato allo
stesso modo di sup e, di fatto, i suoi file
di configurazione sono compatibili con sup .
Sup non viene più utilizzato nel
progetto FreeBSD, poichè CVSup
è più veloce e più flessibile.
Installazione
Il modo più semplice per installare
CVSup è usare il package precompilato
net/cvsup della collezione dei package di FreeBSD.
Se preferisci costruire CVSup partendo dal
sorgente, allora puoi usare il port net/cvsup . Ma sei avvisato: il port
net/cvsup dipende dal sistema
Modula-3, che richiede una consistente quantità di tempo e di
spazio su disco per scaricarlo e costruirlo.
Se hai intenzione di usare CVSup su una
macchina sulla quale non sarà installato
&xfree86; , come su un server, assicurati di
usare il port che non include la GUI di
CVSup , ossia net/cvsup-without-gui .
Configurazione di CVSup
Il funzionamento di CVSup è
controllato da un file di configurazione chiamato
supfile . Esistono alcuni esempi di
supfile nella directory /usr/share/examples/cvsup/ .
Le informazioni contenute in un supfile
rispondono alle seguenti questioni relative a
CVSup :
Quali file vuoi
ricevere?
Quali versioni dei file
vuoi?
Da dove li vuoi
prelevare?
Dove li vuoi mettere sulla tua
macchina?
Dove vuoi memorizzare
gli stati dei file?
Nelle seguenti sezioni, costruiremo un tipico
supfile per rispondere a turno ad ognuna di queste
questioni. Incominciamo però col descrivere la struttura
globale di un supfile .
Un supfile è un file di testo. I
commenti iniziano con un # e si estendono fino alle
fine della riga. Le righe bianche e le righe che contengono solo
commenti sono ignorate.
Ogni altra riga descrive un insieme di file che l'utente vuole
ricevere. Una riga inizia con il nome di una collezione
,
un nome di un gruppo logico di file definiti dal server. Il nome della
collezione indica al server i file che vuoi ricevere. Dopo il nome
della collezione seguono zero o più campi, separati da spazi
bianchi. Questi campi rispondono alle questioni citate in precedenza.
Ci sono due tipi di campi: campo opzione e campo valore. Un campo
opzione consiste di una parola chiave a se stante, es.
delete o compress . Anche un campo
valore inizia con una parola chiave, ma questa è seguita dal
simbolo = , senza spazi bianchi intermedi, e da un
seconda parola. Ad esempio, release=cvs è un
campo valore.
Un supfile tipicamente specifica più di
un'unica collezione da ricevere. Un modo di strutturare un
supfile è specificare esplicitamente tutti i
campi rilevanti per ogni collezione. Tuttavia, ciò tende a
creare supfile troppo lunghi, e ciò è
scomodo poichè in un supfile la maggior
parte dei campi sono gli stessi per tutte le collezioni.
CVSup fornisce un meccanismo per aggirare
questi problemi. Le linee che iniziano con il nome speciale di
pseudo-collezione *default possono essere usate per
inizializzare opzioni e valori che saranno utilizzati come default per
le successive collezioni definite nel supfile .
Un valore di default può essere sovrascritto da una singola
collezione, specificando un valore diverso per la collezione stessa.
Inoltre i valori di default possono essere modificati in mezzo al
supfile tramite linee *default aggiuntive.
Con queste conoscenze, possiamo ora procedere alla costruzione
di un supfile per ricevere ed aggiornare l'albero
dei sorgenti della FreeBSD-CURRENT.
Quali file vuoi ricevere?
I file disponibili via CVSup sono
organizzati in gruppi chiamati collezioni
.
Le collezioni che sono disponibili sono descritte nella
prossima sezione. In questo
esempio, desideriamo ricevere per intero l'albero corrente dei
sorgenti del sistema FreeBSD. C'è un'unica e vasta
collezione src-all che ci permette di ricevere
tutto ciò. Come prima fase nella costruzione del nostro
supfile , dobbiamo semplicemente elencare le
collezioni, una per riga (in questo caso, c'è un'unica
riga):
src-all
Quali versioni dei file
vuoi?
Con CVSup , hai la possibilità
di ricevere qualsiasi versione dei sorgenti che sia mai esistita.
Questo è possibile poichè il server
cvsupd lavora direttamente sul deposito
CVS, che contiene tutte le versioni. Puoi specificare la versione
che vuoi usando i campi valori tag= e
date= .
Stai molto attento a specificare i campi
tag= in modo corretto. Alcuni tag sono validi
solo per certe collezioni di file. Se specifichi un tag non
corretto, CVSup cancellerà file
che tu non vorresti eliminare. In particolare, usa
solamente tag=. per le
collezioni ports-* .
Il campo tag= richiama un tag simbolico nel
deposito. Ci sono due tipi di tag, i tag di revisione e i tag di
ramo. Un tag di revisione fa riferimento ad una revisione
specifica. Il suo significato rimane lo stesso di giorno in giorno.
Un tag di ramo, d'altro canto, si riferisce sempre all'ultima
revisione relativa ad una specifica linea di sviluppo. Dato che un
tag di ramo non si riferisce ad una revisione specifica, esso
potrebbe avere un significato diverso da un giorno con
l'altro.
La contiene tag di ramo che potrebbero
interessare gli utenti. Quando si specifica un tag in un file di
configurazione di CVSup , esso dovrebbe
essere preceduto da tag=
(RELENG_4 diviene
tag=RELENG_4 ). Tieni presente che per la
collezione dei port è rilevante solo
tag=. .
Sii molto attento a digitare il nome del tag nel modo esatto.
CVSup non è in grado di
riconoscere tag errati. Se digiti in modo sbagliato un tag,
CVSup si comporterà come se tu
avessi specificato un tag valido che non riguarda nessun file.
In questo caso i tuoi sorgenti saranno eliminati.
Quando specifichi un tag di ramo, normalmente ricevi le ultime
versioni dei file di quella linea di sviluppo. Se vuoi ricevere
versioni precedenti, puoi specificare una data con il campo valore
date= . La pagina man di &man.cvsup.1; spiega come
farlo.
Nel nostro esempio, desideriamo ricevere FreeBSD-CURRENT.
Aggiungiamo questa riga all'inizio del nostro
supfile :
*default tag=.
C'è un importante caso speciale che entra in gioco se
non specifichi ne un campo tag= ne un campo
date= . In questo caso, ricevi i file RCS attuali
direttamente dal deposito CVS del server, invece di ricevere una
versione particolare. Gli sviluppatori in genere preferiscono
questa modalità di funzionamento. Mantenendo una copia del
deposito stesso sui loro sistemi, essi sono in grado di navigare
attraverso la storia delle revisioni e di esaminare le versioni
precedenti dei file. Comunque questo vantaggio è
realizzabile al costo di un ingente quantità di spazio su
disco.
Da dove li vuoi
prelevare?
Il campo host= indica a
cvsup da dove prelevare i suoi aggiornamenti.
Va bene uno qualunque dei siti mirror
di CVSup, anche se dovresti provare a selezionarne uno che
sia a te vicino nel ciberspazio. In questo esempio useremo un sito
di distribuzione di FreeBSD fittizio, cvsup666.FreeBSD.org :
*default host=cvsup666.FreeBSD.org
Devi cambiare l'host in uno che esiste realmente prima di
eseguire CVSup . Il settaggio dell'host
può essere sovrascritto su riga di comando eseguendo
cvsup con l'opzione -h
hostname .
Dove li vuoi mettere sulla tua
macchina?
Il campo prefix= indica a
cvsup dove mettere i file che riceve. In questo
esempio, metteremo i file sorgenti direttamente nel nostro albero
dei sorgenti, /usr/src . La directory
src è già implicita nelle
collezioni che vogliamo ricevere, quindi la corretta specifica
è questa:
*default prefix=/usr
Dove cvsup
dovrebbe mantenere i suoi file di stato?
Il client di CVSup mantiene certi
file di stato in ciò che è chiamata directory
base
. Questi file aiutano
CVSup a lavorare in modo più
efficace, mantenendo traccia di quali aggiornamenti sono stati
già ricevuti. Useremo la directory base standard,
/usr/local/etc/cvsup :
*default base=/usr/local/etc/cvsup
Questo settaggio è utilizzato di default se non viene
specificato nel supfile , e quindi in
realtà non abbiamo bisogno di inserire la riga
precedente.
Se la tua directory base non esiste, potrebbe essere una buona
idea crearla subito. Il client cvsup interrompe
l'esecuzione se la tua directory base non esiste.
Settaggi vari di supfile :
C'è un altro settaggio che normalmente deve essere
presente in un supfile :
*default release=cvs delete use-rel-suffix compress
release=cvs indica che il server dovrebbe
prendere le sue informazioni dal deposito CVS principale di FreeBSD.
In genere questa è la normalità, ma esistono altre
possibilità che vanno oltre lo scopo di questa
sezione.
delete dà a
CVSup il permesso di cancellare file.
Dovresti sempre specificare questa opzione, in modo che
CVSup possa mantenere il tuo albero dei
sorgenti del tutto aggiornato. CVSup
è attento nel cancellare solamente quei file dei quali
è responsabile. Altri file extra verranno lasciati
intatti.
use-rel-suffix è ... arcano. Se vuoi
realmente saperne di più, guarda la pagina man di
&man.cvsup.1;. Altrimenti, specificala senza preoccupartene
troppo.
compress abilita l'uso di una compressione
stile gzip sul canale di comunicazione. Se hai una connessione T1 o
più veloce, non dovresti usare la compressione.
Diversamente, può essere veramente d'aiuto.
Ricapitolazione di tutti settaggi:
Il supfile completo per il nostro esempio
è il seguente:
*default tag=.
*default host=cvsup666.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release=cvs delete use-rel-suffix compress
src-all
Il File refuse
Come menzionato in precedenza, CVSup
usa un modello ad estrazione . Sostanzialmente,
questo significa che ti connetti al server
CVSup , lui dice, Ecco ciò che
puoi scaricare ...
, ed il tuo client risponde OK,
prenderò questo, questo, questo e questo.
Nella
configurazione di default, il client CVSup
prenderà ogni file associato alla collezione e al tag che
hai specificato nel file di configurazione. Tuttavia, questo non
è sempre ciò che vuoi, specialmente se stai
sincronizzando gli alberi doc ,
ports , o www — molte
persone non sono in grado di leggere quattro o cinque lingue, e quindi
esse non hanno bisogno di scaricare i file di certe lingue. Se
stai sincronizzando con CVSup la collezione
dei port, puoi specificare collezioni individuali (es.,
ports-astrology ,
ports-biology , ecc. invece di specificare
semplicemente ports-all ). Tuttavia,
poichè gli alberi doc e
www non hanno collezioni per specifiche lingue,
devi usare una delle molte abili caratteristiche di
CVSup : il file
refuse .
Il file refuse sostanzialmente indica a
CVSup che non dovrebbe prendere ogni
singolo file da una collezione; in altre parole, esso dice al client
di rifiutare certi file dal server. Il file
refuse può essere trovato (o, se non ne
hai ancora uno, dovrebbe essere messo) in
base /sup/ .
base è definita nel tuo
supfile ; di default,
base è
/usr/local/etc/cvsup , e quindi di default il file
refuse è
/usr/local/etc/cvsup/sup/refuse .
Il file refuse ha veramente un formato molto
semplice; esso contiene semplicemente i nomi dei file o delle
directory che non desideri scaricare. Per esempio, se non parli altre
lingue oltre all'inglese e al tedesco, e non hai la necessità
di usare le applicazioni in lingua tedesca (e le applicazioni in altre
lingue, eccetto quella inglese), puoi mettere le seguenti righe nel
tuo file refuse :
ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/japanese
ports/korean
ports/polish
ports/portuguese
ports/russian
ports/ukrainian
ports/vietnamese
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/zh_*
e così via per altre lingue (puoi ottenere la lista
completa esplorando il deposito CVS di
+ url="http://www.FreeBSD.org/cgi/cvsweb.cgi/">deposito CVS di
FreeBSD ).
Con questa utile funzionalità, quegli utenti che hanno
una connessione lenta o pagano ogni minuto di connessione Internet
potranno risparmiare tempo prezioso poichè non dovranno
più scaricare file che non usano mai. Per maggiori dettagli
sul file refuse e su altre utili caratteristiche
di CVSup , guarda la sua pagina man.
Eseguire CVSup
Sei ora pronto per provare un aggiornamento. La riga di comando
per farlo è molto semplice:
&prompt.root; cvsup supfile
dove supfile
è naturalmente il nome del supfile che hai
creato. Assumendo che stai lavorando sotto X11,
cvsup visualizzarà una GUI con alcuni bottoni
adibiti ad operazioni usuali. Premi il bottone
go , e stai a guardare l'esecuzione.
Poichè in questo esempio stai aggiornando il tuo albero dei
sorgenti /usr/src , avrai bisogno di eseguire il
programma come root affinchè
cvsup abbia i permessi necessari per aggiornare i
tuoi file. Avendo appena creato il tuo file di configurazione, e non
avendo mai usato questo programma prima ad ora, tutto ciò
potrebbe renderti un pò nervoso. Esiste un semplice modo per
provare la sincronizzazione senza toccare i tuoi preziosi file. Crea
una directory vuota in qualche posto, e richiamala come argomento sulla
riga di comando:
&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/dest
La directory che hai specificato sarà usata come directory
di destinazione per tutti gli aggiornamenti dei file.
CVSup esaminerà i tuoi file usuali in
/usr/src , ma non modificherà o
cencellerà alcuno di essi. Gli aggiornamenti dei file finiranno
invece in /var/tmp/dest/usr/src .
Inoltre CVSup lascerà intatta la sua
directory base contenente gli stati dei file quando viene eseguito in
questo modo. Le nuove versioni di questi file saranno scritte nella
directory specificata. A condizione che tu abbia l'accesso di lettura
in /usr/src , non hai bisogno di essere
root per realizzare questo tipo di giro di
prova.
Se non stai utilizzando X11 o se non ti piacciono le GUI,
dovresti aggiungere un paio di opzioni alla riga di comando quando
esegui cvsup :
&prompt.root; cvsup -g -L 2 supfile
L'opzione -g indica a
CVSup di non usare la sua GUI. Ciò
è automatico se non stai utilizzando X11, ma se lo stai facendo
allora la devi specificare.
L'opzione -L 2 indica a
CVSup di visualizzare i dettagli di tutti
gli aggiornamenti dei file che avvengono. Esistono tre livelli
di verbosità, da -L 0 a -L 2 .
Il default è 0, che significa silenzio totale eccetto per
i messaggi di errore.
Ci sono molte altre opzione disponibili. Per una breve lista di
esse, digita cvsup -H . Per una descrizione
più dettagliata, guarda la relativa pagina man.
Una volta che sei soddisfatto di come avvengono gli aggiornamenti,
puoi organizzare esecuzioni regolari di CVSup
usando &man.cron.8;. Ovviamente, non dovresti lasciare che
CVSup usi la sua GUI quando lo esegui tramite
&man.cron.8;.
Collezioni di File di CVSup
Le collezioni di file disponibili via
CVSup sono organizzate gerarchicamente.
Ci sono poche collezioni grandi, le quali sono divise in piccole
sotto-collezioni. Ricevere una grande collezione è equivalente
a ricevere ogni sua sotto-collezione. Le relazioni gerarchiche tra le
collezioni riflettono l'uso dell'identazione nella lista qui
sotto.
Le collezioni maggiormente usate sono src-all , e
ports-all . Le altre collezioni sono usate solo
da piccoli gruppi di persone per scopi speciali, e alcuni siti mirror
potrebbero non contenerle tutte.
cvs-all release=cvs
Il deposito CVS maestro di FreeBSD, incluso il codice di
crittografia.
distrib release=cvs
File relativi alla distribuzione e al mirroring di
FreeBSD.
doc-all release=cvs
Sorgenti del Manuale di FreeBSD e altra documentazione.
Questa collezione non include i file per il sito web di
FreeBSD.
ports-all release=cvs
La FreeBSD Ports Collection.
Se non vuoi aggiornare per intero
ports-all (l'interno albero dei port),
ma usare una delle sotto-collezioni listate qui sotto,
assicurati di aggiornare sempre la
sotto-collezione ports-base !
Ogni volta che qualcosa cambia nell'infrastruttura della
costruzione dei port rappresentata da
ports-base , è praticamente certo
che quei cambiamenti saranno usati dai port
reali
in un brevissimo arco di tempo.
Quindi, se aggiorni solo i port reali
e
questi usano alcune delle nuove caratteristiche,
c'è un'alta probabilità che la loro
costruzione fallirà con alcuni misteriosi messaggi
di errore. La primissima cosa da
fare in questi casi è assicurarsi che la propria
sotto-collezione ports-base sia
aggiornata.
ports-archivers
release=cvs
Applicazioni per l'archiviazione.
ports-astro release=cvs
Applicazioni riguardanti l'astronomia.
ports-audio release=cvs
Applicazioni di supporto all'audio.
ports-base release=cvs
L'infrastruttura della costruzione della
collezione dei port - vari file posti nelle
sottodirectory Mk/ e
Tools/ della directory
/usr/ports .
Per favore vedi l' importante
avvertimento qui sopra: dovresti
sempre aggiornare questa
sotto-collezione ogni volta che aggiorni qualche
pezzo della FreeBSD Ports Collection!
ports-benchmarks
release=cvs
Benchmark (applicazioni per valutare le
prestazioni del computer).
ports-biology release=cvs
Biologia.
ports-cad release=cvs
Applicazioni per la grafica computerizzata.
ports-chinese release=cvs
Supporto alla lingua cinese.
ports-comms release=cvs
Software per la comunicazione.
ports-converters
release=cvs
Convertitori di codici di caratteri.
ports-databases
release=cvs
Database.
ports-deskutils
release=cvs
Cose che erano utilizzate sulla scrivania prima
che i computer furono inventati.
ports-devel release=cvs
Utility per il development.
ports-dns release=cvs
Software relativo al DNS.
ports-editors release=cvs
Editor.
ports-emulators
release=cvs
Emulatori per altri sistemi operativi.
ports-finance release=cvs
Applicazioni finanziarie, di gestione delle spese
e simili.
ports-ftp release=cvs
Server e client FTP.
ports-games release=cvs
Giochi.
ports-german release=cvs
Supporto alla lingua tedesca.
ports-graphics release=cvs
Utilità per la grafica.
ports-hungarian
release=cvs
Supporto alla lingua ungherese.
ports-irc release=cvs
Utilità IRC (Internet Relay Chat).
ports-japanese release=cvs
Supporto alla lingua giapponese.
ports-java release=cvs
Utility &java;.
ports-korean release=cvs
Supporto alla lingua coreana.
ports-lang release=cvs
Linguaggi di programmazione.
ports-mail release=cvs
Software di posta.
ports-math release=cvs
Software per la computazione numerica.
ports-mbone release=cvs
Applicazioni MBone.
ports-misc release=cvs
Utility varie.
ports-multimedia
release=cvs
Software multimediale.
ports-net release=cvs
Software di rete.
ports-news release=cvs
Software per USENET.
ports-palm release=cvs
Software di supporto per i vari
Palm .
ports-polish release=cvs
Supporto alla lingua polacca.
ports-portuguese
release=cvs
Supporto alla lingua portoghese.
ports-print release=cvs
Software per la stampa.
ports-russian release=cvs
Supporto alla lingua russa.
ports-security release=cvs
Utility per la sicurezza.
ports-shells release=cvs
Shell a riga di comando.
ports-sysutils release=cvs
Utility di sistema.
ports-textproc release=cvs
Utility per la manipolazione del testo (non
include utility per la pubblicazione
computerizzata).
ports-vietnamese
release=cvs
Supporto alla lingua vietnamite.
ports-www release=cvs
Software relativo al World Wide Web.
ports-x11 release=cvs
Port per il supporto al sistema a finestre
X.
ports-x11-clocks
release=cvs
Orologi per X11.
ports-x11-fm release=cvs
Gestori di file per X11.
ports-x11-fonts
release=cvs
Font per X11 e relative utility.
ports-x11-toolkits
release=cvs
Cassette degli attrezzi per X11.
ports-x11-servers
Server X11.
ports-x11-wm
Gestori di finestre per X11.
src-all release=cvs
I sorgenti correnti di FreeBSD, incluso il codice di
crittografia.
src-base release=cvs
Vari file posti in
/usr/src .
src-bin release=cvs
Utility per l'utente in ambiente mono-utente
(/usr/src/bin ).
src-contrib release=cvs
Utility e librerie al di fuori del progetto
FreeBSD, sostanzialmente utilizzati senza modifiche
(/usr/src/contrib ).
src-crypto release=cvs
Utility e librerie per la crittografia al di fuori
del progetto FreeBSD, sostanzialmente utilizzati senza
modifiche
(/usr/src/crypto ).
src-eBones release=cvs
Kerberos e DES
(/usr/src/eBones ).
Non usati nell'attuale release di FreeBSD.
src-etc release=cvs
File di configurazione del sistema
(/usr/src/etc ).
src-games release=cvs
Giochi
(/usr/src/games ).
src-gnu release=cvs
Utility protette dalla licenza pubblica di GNU
(/usr/src/gnu ).
src-include release=cvs
File header
(/usr/src/include ).
src-kerberos5 release=cvs
Pacchetto di sicurezza Kerberos5
(/usr/src/kerberos5 ).
src-kerberosIV release=cvs
Pacchetto di sicurezza KerberosIV
(/usr/src/kerberosIV ).
src-lib release=cvs
Librerie
(/usr/src/lib ).
src-libexec release=cvs
Programmi di sistema normalmente eseguiti da altri
programmi
(/usr/src/libexec ).
src-release release=cvs
File richiesti per produrre una release di FreeBSD
(/usr/src/release ).
src-sbin release=cvs
Utility di sistema per la modalità
mono-utente
(/usr/src/sbin ).
src-secure release=cvs
Librerie e comandi per la crittografia
(/usr/src/secure ).
src-share release=cvs
File che possono essere condivisi tra sistemi
multipli (/usr/src/share ).
src-sys release=cvs
Il kernel
(/usr/src/sys ).
src-sys-crypto release=cvs
Codice di crittografia del kernel
(/usr/src/sys/crypto ).
src-tools release=cvs
Vari strumenti per il mantenimento di FreeBSD
(/usr/src/tools ).
src-usrbin release=cvs
Utility per l'utente
(/usr/src/usr.bin ).
src-usrsbin release=cvs
Utility di sistema
(/usr/src/usr.sbin ).
www release=cvs
I sorgenti per il sito web di FreeBSD.
distrib release=self
I file di configurazione del server
CVSup . Usati dai siti mirror
CVSup .
gnats release=current
Il database GNATS per tener traccia dei bug.
mail-archive release=current
Archivio delle mailing list di FreeBSD.
www release=current
I file pre-processati del sito web di FreeBSD (non i file
sorgenti). Usati dai siti mirror WWW.
Per Maggiori Informazioni
Per le FAQ ed altre informazioni di CVSup
vedere la pagina home
di CVSup .
La maggior parte delle discussioni su
CVSup inerenti a FreeBSD si svolgono sulla
&a.hackers;. In questa mailling list inoltre sono anche annunciate
nuove versioni del software, come pure sulla &a.announce;.
Questioni e resoconti di bug dovrebbero essere indirizzati
all'autore del programma cvsup-bugs@polstra.com .
Siti CVSup
I server CVSup per FreeBSD si trovano
ai seguenti siti:
&chap.mirrors.cvsup.inc;
Tag CVS
Quando ricevi o aggiorni dei sorgenti usando
cvs o CVSup devi
specificare un tag di revisione (un riferimento a una data).
Un tag di revisione si riferisce sia ad una particolare linea di
sviluppo di FreeBSD, sia ad un specifico periodo di tempo. I primi tipi
sono chiamati tag di ramo
, i secondi tag di
release
.
Tag di Ramo
Tutti, con l'eccezione di HEAD (che è
sempre un valido tag), sono relativi all'albero
src/ . Gli alberi ports/ ,
doc/ , e www/ non sono
ramificati.
HEAD
Nome simbolico per la linea di sviluppo corrente,
FreeBSD-CURRENT. È anche il tag di default se nessun tag
di revisione è specificato.
In CVSup , questo tag è
rappresentato dal simbolo . .
In CVS, questo è il settaggio di default se nessun
tag di revisione è stato specificato. In genere
non è una buona idea aggiornare i
sorgenti a CURRENT su una macchina STABLE, a meno che sai cosa
stai facendo.
RELENG_5_2
- Il ramo di release per FreeBSD-5.2, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix
+ Il ramo di release per FreeBSD-5.2 e FreeBSD-5.2.1, usato solo
+ per aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_5_1
Il ramo di release per FreeBSD-5.1, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_5_0
Il ramo di release per FreeBSD-5.0, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4
La linea di sviluppo per FreeBSD-4.X, anche conosciuta come
FreeBSD-STABLE.
RELENG_4_9
Il ramo di release per FreeBSD-4.9, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4_8
Il ramo di release per FreeBSD-4.8, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4_7
Il ramo di release per FreeBSD-4.7, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4_6
Il ramo di release per FreeBSD-4.6 e FreeBSD-4.6.2, usato solo
per aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4_5
Il ramo di release per FreeBSD-4.5, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4_4
Il ramo di release per FreeBSD-4.4, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_4_3
Il ramo di release per FreeBSD-4.3, usato solo per
aggiornamenti relativi alla sicurezza e per altri fix
cruciali.
RELENG_3
La line di sviluppo per FreeBSD-3.X, anche conosciuta come
3.X-STABLE.
RELENG_2_2
La linea di sviluppo per FreeBSD-2.2.X, anche conosciuta come
2.2-STABLE. Questo ramo è per la maggior parte
obsoleto.
Tag di Release
Questi tag sono relativi all'albero di FreeBSD
src/ (e agli alberi ports/ ,
doc/ , e www/ ) in un
determinato periodo, quando è stata rilasciata una certa
versione di FreeBSD.
+
+ RELENG_5_2_1_RELEASE
+
+
+ FreeBSD 5.2.1
+
+
+
RELENG_5_2_0_RELEASE
FreeBSD 5.2
RELENG_4_9_0_RELEASE
FreeBSD 4.9
RELENG_5_1_0_RELEASE
FreeBSD 5.1
RELENG_4_8_0_RELEASE
FreeBSD 4.8
RELENG_5_0_0_RELEASE
FreeBSD 5.0
RELENG_4_7_0_RELEASE
FreeBSD 4.7
RELENG_4_6_2_RELEASE
FreeBSD 4.6.2
RELENG_4_6_1_RELEASE
FreeBSD 4.6.1
RELENG_4_6_0_RELEASE
FreeBSD 4.6
RELENG_4_5_0_RELEASE
FreeBSD 4.5
RELENG_4_4_0_RELEASE
FreeBSD 4.4
RELENG_4_3_0_RELEASE
FreeBSD 4.3
RELENG_4_2_0_RELEASE
FreeBSD 4.2
RELENG_4_1_1_RELEASE
FreeBSD 4.1.1
RELENG_4_1_0_RELEASE
FreeBSD 4.1
RELENG_4_0_0_RELEASE
FreeBSD 4.0
RELENG_3_5_0_RELEASE
FreeBSD-3.5
RELENG_3_4_0_RELEASE
FreeBSD-3.4
RELENG_3_3_0_RELEASE
FreeBSD-3.3
RELENG_3_2_0_RELEASE
FreeBSD-3.2
RELENG_3_1_0_RELEASE
FreeBSD-3.1
RELENG_3_0_0_RELEASE
FreeBSD-3.0
RELENG_2_2_8_RELEASE
FreeBSD-2.2.8
RELENG_2_2_7_RELEASE
FreeBSD-2.2.7
RELENG_2_2_6_RELEASE
FreeBSD-2.2.6
RELENG_2_2_5_RELEASE
FreeBSD-2.2.5
RELENG_2_2_2_RELEASE
FreeBSD-2.2.2
RELENG_2_2_1_RELEASE
FreeBSD-2.2.1
RELENG_2_2_0_RELEASE
FreeBSD-2.2.0
Siti AFS
I server AFS per FreeBSD sono in esecuzione nei seguenti siti:
Svezia
Il percorso dei file è:
/afs/stacken.kth.se/ftp/pub/FreeBSD/
stacken.kth.se # Stacken Computer Club, KTH, Svezia
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.se
Il maintainer ftp@stacken.kth.se
Siti rsync
I seguenti siti rendono disponibile FreeBSD tramite il protocollo
rsync. L'utility rsync lavora nello stesso
modo del comando &man.rcp.1;, ma ha più opzioni e usa il protocollo
rsync per aggiornamenti remoti il quale trasferisce solo le differenze tra
i due set di file, e di conseguenza accelera fortemente la
sincronizzazione su rete. Questo è molto utile se hai un sito
mirror del server FTP di FreeBSD, o del deposito CVS. La suite
rsync è disponibile per molti sistemi
operativi e, su FreeBSD, puoi usare il port net/rsync o il rispettivo package.
Repubblica Ceca
rsync://ftp.cz.FreeBSD.org/
Collezioni disponibili:
ftp: Un mirror parziale del server FTP di FreeBSD.
FreeBSD: Un mirror completo del server FTP di
FreeBSD.
Germania
rsync://grappa.unix-ag.uni-kl.de/
Collezioni disponibili:
freebsd-cvs: Il completo deposito CVS di FreeBSD.
Questa macchina fa da mirror anche per il deposito CVS dei
progetti NetBSD e OpenBSD, tra gli altri.
Olanda
rsync://ftp.nl.FreeBSD.org/
Collezioni disponibili:
vol/3/freebsd-core: Un completo mirror del server FTP di
FreeBSD.
Regno Unito
rsync://rsync.mirror.ac.uk/
Collezioni disponibili:
ftp.FreeBSD.org: Un completo mirror del server FTP di
FreeBSD.
Stati Uniti d'America
rsync://ftp-master.FreeBSD.org/
Questo server può essere usato solo dai siti mirror
primari di FreeBSD.
Collezioni disponibili:
FreeBSD: L'archivio master del server FTP di FreeBSD.
acl: La lista master delle ACL di FreeBSD.
rsync://ftp13.FreeBSD.org/
Collezioni disponibili:
FreeBSD: Un completo mirror del server FTP di
FreeBSD.
diff --git a/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml b/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml
index 5b87c1dce0..bbfdea6216 100644
--- a/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml
@@ -1,1698 +1,1708 @@
Ross
Lippert
Scritto da
Multimedia
Sinossi
FreeBSD supporta una grande varietà di schede audio,
permettendoti di apprezzare un output di alta fedeltà dal tuo
computer. Questo include l'abilità di registrare e riprodurre
suoni nei formati MPEG Audio Layer 3 (MP3), WAV, ed Ogg Vorbis così
come in molti altri formati. La FreeBSD Ports Collection contiene inoltre
applicazioni che ti permettono di modificare l'audio registrato,
aggiungere effetti sonori, e controllare i dispositivi MIDI
collegati.
Con un po' di buona volontà nello sperimentare, FreeBSD
può supportare la riproduzione di file video e DVD. Il numero di
applicazioni per codificare, convertire, e riprodurre i vari formati
video è più limitato del numero delle applicazioni audio.
Per esempio nel momento in cui sto scrivendo, non esiste nella FreeBSD
Ports Collection una buona applicazione per ricodificare, che
potrebbe essere usata per la conversione tra diversi formati, come
c'è con audio/sox . Tuttavia,
il panorama software in quest'area sta rapidamente cambiando.
Questo capitolo descriverà i passi necessari per configurare la
tua scheda audio. La configurazione e l'installazione di
&xfree86; () si sono
già prese cura dei problemi hardware della tua scheda video,
sebbene ci possano essere delle ottimizzazioni da applicare per una
migliore riproduzione.
Dopo aver letto questo capitolo, saprai:
Come configurare il sistema in modo che la scheda audio venga
riconosciuta.
Metodi per verificare che la tua scheda funzioni, usando
applicazioni di esempio.
Come risolvere i problemi di configurazione audio.
Come riprodurre e codificare file MP3.
Come sono supportate le applicazioni video da
&xfree86; .
Alcuni port per riprodurre/codificare filmati che danno buoni
risultati.
Come riprodurre i DVD e i file .mpg e
.avi .
Come estrarre le informazioni da CD e DVD su file.
Come configurare una scheda TV.
Prima di leggere questo capitolo, dovresti:
Sapere come configurare e installare un nuovo
kernel ().
Per le sezioni sul video, si assume che &xfree86;
4.X (x11/XFree86-4 ) sia
stato installato. &xfree86; 3.X può
funzionare, ma non è stato testato con quello che è
descritto in questo capitolo. Se scopri che qualcosa descritto qui non
funziona con &xfree86; 3.X faccelo
sapere.
Provare a montare CD audio con il comando
&man.mount.8; produrrà un errore, come minimo, o un
kernel panic , alla peggio. Questi formati hanno
codifiche particolari che differiscono dal comune file system
ISO.
Moses
Moore
Contributo di
Configurazione della Scheda Audio
Riconoscimento del Proprio Dispositivo
PCI
ISA
schede audio
Prima di iniziare, dovresti conoscere il modello della scheda che
possiedi, il chip che utilizza, e se è una scheda PCI o ISA.
FreeBSD supporta una grande varietà di schede sia PCI che ISA.
Se non vedi la tua scheda nella lista seguente, controlla la pagina man
di &man.pcm.4;. Questa non è una lista completa; tuttavia,
comprende le schede più comuni.
Crystal 4237, 4236, 4232, 4231
Yamaha OPL-SAx
OPTi931
Ensoniq AudioPCI 1370/1371
ESS Solo-1/1E
NeoMagic 256AV/ZX
&soundblaster; Pro, 16, 32, AWE64, AWE128, Live
Creative ViBRA16
Advance Asound 100, 110, e Logic ALS120
ES 1868, 1869, 1879, 1888
Gravis UltraSound
Aureal Vortex 1 o 2
kernel
configurazione
Per usare il tuo dispositivo audio, dovrai caricare i driver
corretti. Questo può essere fatto in due modi. Il metodo
più semplice consiste semplicemente nel caricare un modulo nel
kernel per la tua scheda audio con &man.kldload.8; che può
essere fatto sia da linea di comando:
&prompt.root; kldload snd_emu10k1.ko
sia aggiungendo la riga appropriata al file
/boot/defaults/loader.conf come questa:
snd_emu10k1_load="YES"
Questi esempi sono per la scheda audio Creative &soundblaster;
Live!. Altri moduli sonori disponibili sono elencati in
/boot/loader.conf .
Alternativamente,
puoi compilare staticamente il supporto per la tua scheda audio nel
kernel. Le sezioni seguenti forniscono le informazioni di cui hai
bisogno per aggiungere il supporto al tuo hardware con questo metodo.
Per informazioni aggiuntive su come ricompilare il kernel, guarda il
.
Schede Audio Creative, Advance, e ESS
Se hai una delle suddette schede, dovrai aggiungere:
device pcm
al file di configurazione del kernel. Se hai una scheda ISA
PnP, dovrai aggiungere inoltre:
device sbc
Per una scheda ISA non PnP, aggiungi:
device pcm
device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
al file di configurazione del kernel. Le impostazioni appena
viste sono quelle di default. Potresti aver bisogno di cambiare IRQ
o altre impostazioni per identificare la tua scheda. Guarda la pagina
man di &man.sbc.4; per ulteriori informazioni.
La Sound Blaster Live non è supportata sotto
FreeBSD 4.0 senza l'uso di una patch, di cui questa sezione non
si occuperà. È consigliato l'aggiornamento all'ultima
-STABLE prima di provare ad usare questa scheda.
Schede Gravis UltraSound
Per una scheda ISA PnP, dovrai aggiungere:
device pcm
device gusc
al file di configurazione del kernel. Se hai una scheda ISA
non PnP, dovrai aggiungere:
device pcm
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
al file di configurazione del kernel. Potresti aver bisogno di
cambiare IRQ o altre impostazioni per identificare la tua scheda.
Guarda la pagina man di &man.gusc.4; per ulteriori
informazioni.
Schede Crystal Sound
Per le schede Crystal, dovrai aggiungere:
device pcm
device csa
al file di configurazione del kernel.
Supporto Generico
Per schede ISA o PCI PnP, dovrai aggiungere:
device pcm
al file di configurazione del kernel. Se hai una scheda audio
ISA non PnP che non ha un driver bridge, dovrai aggiungere:
device pcm0 at isa? irq 10 drq 1 flags 0x0
al file di configurazione del kernel. Potresti aver bisogno di
cambiare IRQ o altre impostazioni per identificare la tua
scheda.
Sonoro Integrato
Qualche sistema con dispositivi audio integrati nella scheda madre
può richiedere l'opzione seguente nella configurazione del
kernel:
options PNPBIOS
+
+
+ Se stai usando &os; 5.0 o successivi l'opzione
+ PNPBIOS non è necessaria. L'opzione
+ è stata rimossa e la funzionalità è ora sempre
+ abilitata.
+
Creazione e Test dei Dispositivi
dispositivi
Dopo aver riavviato, loggati e cerca il dispositivo nel file
/var/run/dmesg.boot , come mostrato qui
sotto:
&prompt.root; grep pcm /var/run/dmesg.boot
pcm0: <SB16 DSP 4.11> on sbc0
L'output del tuo sistema può essere differente. Se non
appare nessun dispositivo pcm , qualcosa
è andato storto in precedenza. Se questo accade, riguarda il
file di configurazione del kernel e assicurati di aver scelto il
dispositivo corretto. I problemi più comuni sono elencati nella
.
Se stai usando FreeBSD 5.0 o seguenti, puoi tranquillamente
saltare il resto di questa sezione. Queste versioni usano
&man.devfs.5; per creare automaticamente i dispositivi.
Se il precedente comando ha restituito
pcm0 , dovrai eseguire il seguente come
root :
&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0
Se il comando ha restituito pcm1 , segui gli
stessi passi mostrati qui sopra, sostituendo
snd0 con snd1 .
I suddetti comandi non creeranno un
dispositivo /dev/snd !
MAKEDEV creerà un gruppo di dispositivi,
comprendente:
Dispositivo
Descrizione
/dev/audio
Dispositivo audio compatibile &sparc;
/dev/dsp
Dispositivo per la voce digitalizzata
/dev/dspW
Come /dev/dsp , ma con 16 bit per
canale
/dev/midi
Dispositivo per l'accesso midi in modalità
diretta
/dev/mixer
Dispositivo per il controllo del mixer
/dev/music
Interfaccia di secondo livello al sequenziatore
/dev/sequencer
Sequenziatore
/dev/pss
Interfaccia di dispositivo programmabile
Se tutto va bene, ora dovresti avere una scheda audio funzionante.
Se il tuo drive CD-ROM o DVD-ROM è collegato correttamente alla
scheda audio, puoi inserire un CD nel drive e riprodurlo con
&man.cdcontrol.1;:
&prompt.user; cdcontrol -f /dev/acd0c play 1
Varie applicazioni, come audio/workman offrono una migliore
interfaccia. Potresti voler installare una applicazione come
audio/mpg123 per ascoltare i file
audio MP3.
Problemi Comuni
dispositivi
I/O port
IRQ
DSP
Errore
Soluzione
unsupported subdevice XX
Non è stato creato correttamente qualche
dispositivo. Ripeti i precedenti passi.
sb_dspwr(XX) timed out
Non è stata impostata correttamente la porta
di I/O.
bad irq XX
È stato configurato erroneamente l'IRQ.
Assicurati che l'IRQ impostato e quello della scheda siano
gli stessi.
xxx: gus pcm not attached, out of
memory
Non c'è abbastanza memoria disponibile per
usare il dispositivo.
xxx: can't open /dev/dsp!
Controlla con fstat | grep dsp
se un'altra applicazione sta usando il dispositivo.
Esound e il supporto audio di
KDE sono famosi per creare
problemi.
Munish
Chopra
Contributo di
Utilizzo di Sorgenti Audio Multiple
È spesso desiderabile avere più sorgenti di audio che
siano in grado di suonare contemporaneamente, per esempio quando
esound o artsd non
supportano la condivisione del dispositivo audio con una certa
applicazione.
FreeBSD ti permette di fare questo attraverso i Virtual
Sound Channels , che possono essere impostati con
&man.sysctl.8;. I canali virtuali permettono di multiplexare i canali
di riproduzione della tua scheda audio mixando l'audio nel
kernel.
Per impostare il numero dei canali virtuali, ci sono due variabili
sysctl che, se sei l'utente root , possono essere
impostate così:
&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4
L'esempio qui sopra alloca quattro canali viruali, che è un
numero adatto all'uso di ogni giorno.
hw.snd.pcm0.vchans è il numero dei canali
virtuali che ha pcm0 , ed è configurabile
una volta che il dispositivo è collegato.
hw.snd.maxautovchans è il numero dei canali
virtuali che vengono dati a un nuovo dispositivo audio quando viene
collegato tramite &man.kldload.8;. Visto che il modulo
pcm può essere caricato
indipendentemente dai driver dell'hardware,
hw.snd.maxautovchans può contenere tanti
canali virtuali quanti ne verranno allocati successivamente ad ogni
dispositivo collegato.
Se non stai usando &man.devfs.5;, dovrai indirizzare la tua
applicazione su
/dev/dsp0 .x , dove
x va da 0 a 3 se
hw.snd.pcm.0.vchans è impostato a 4 come nel
precedente esempio. Su un sistema che usa &man.devfs.5;, questo
verrà fatto automaticamente in modo trasparente per
l'utente.
Chern
Lee
Contributo di
Audio MP3
Il formato MP3 (Audio MPEG Livello 3) raggiunge una qualità
- audio vicino a quella dei CD, non lasciandoti motivi per non utilizzarlo
+ audio vicina a quella dei CD, non lasciandoti motivi per non utilizzarlo
sulla tua workstation FreeBSD.
Lettori MP3
Da tempo, il più famoso lettore MP3 per
&xfree86; MP3 è
XMMS (X Multimedia System). Le skin per
Winamp possono essere usate con
XMMS visto che la GUI è praticamente
identica a quella di Winamp della Nullsoft.
XMMS ha inoltre supporto nativo ai
plug-in.
XMMS può essere installato dal
port o dal package multimedia/xmms .
L'interfaccia di XMMS è intuitiva,
comprende una lista di brani da eseguire, un equalizzatore grafico, ed
altro. Coloro che sono familiari con Winamp
troveranno XMMS semplice da usare.
Il port audio/mpg123 è
un lettore MP3 alternativo, da riga di comando.
mpg123 può essere eseguito
specificando il dispositivo audio e il nome del file MP3 sulla riga di
comando, come mostrato qui sotto:
&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
/dev/dsp1.0 deve essere sostituito con il
dispositivo dsp presente sul tuo
sistema.
Estrazione delle Tracce Audio dei CD
Prima di codificare un CD o una traccia di CD in MP3, i dati audio
sul CD devono essere estratti sul disco fisso. Questo avviene copiando
direttamente i dati CDDA (CD Digital Audio) in file WAV.
Il tool cdda2wav , che fa parte della suite
sysutils/cdrtools , viene usato per
estrarre le informazioni audio dai CD e i dati associati.
Mentre il CD audio è nel lettore, può essere eseguito
il seguente comando (come root ) per estrarre un
intero CD in singoli (per traccia) file WAV:
&prompt.root; cdda2wav -D 0,1,0 -B
cdda2wav supporta anche i lettori CDROM
ATAPI (IDE). Per estrarre da un lettore IDE, specifica il nome del
dispositivo al posto nel numero dell'unità SCSI. Ad esempio, per
estrarre la traccia 7 dal lettore IDE:
&prompt.root; cdda2wav -D /dev/acd0a -t 7
Il -D 0,1,0
indica il dispositivo SCSI 0,1,0 , che
corrisponde all'output di cdrecord -scanbus .
Per estrarre tracce singole, usa l'opzione -t come
mostrato:
&prompt.root; cdda2wav -D 0,1,0 -t 7
Questo esempio estrae la settima traccia del CD audio. Per estrarre
una serie di tracce, per esempio dalla traccia uno alla sette, specifica
un intervallo:
&prompt.root; cdda2wav -D 0,1,0 -t 1+7
L'utility &man.dd.1; può anche essere usata per estrarre le
tracce audio dai drive ATAPI, leggi per maggiori informazioni su questa
possibilità.
Codifica in MP3
Al giorno d'oggi, il programma di codifica in mp3 da scegliere
è lame .
Lame può essere trovato in audio/lame nell'albero dei port.
Usando i file WAV estratti, il seguente comando convertirà
audio01.wav in
audio01.mp3 :
&prompt.root; lame -h -b 128 \
--tt "Titolo " \
--ta "Artista " \
--tl "Album " \
--ty "2002 " \
--tc "Estratto e codificato da Blah " \
--tg "Genere " \
audio01.wav audio01.mp3
128 kbits sembra essere il bitrate standard in uso per gli MP3.
Molti preferiscono la qualità maggiore dei 160, o 192.
Più alto è il bitrate, più spazio consumerà
l'MP3 risultante--ma la qualità sarà maggiore. L'opzione
-h attiva il modo qualità migliore ma un
po' più lento"
. Le opzioni che iniziano con
--t indicano i tag ID3, che solitamente contengono le
informazioni sulla canzone, da inserire all'interno del file MP3.
Ulteriori opzioni di codifica possono essere trovate consultando la
pagina man di lame.
Decodifica da MP3
Per masterizzare un CD audio partendo dagli MP3, questi ultimi
devono essere convertiti in un formato WAV non compresso. Sia
XMMS che mpg123
supportano l'output di un MP3 in un formato non compresso.
Scrittura su Disco con XMMS :
Avvia XMMS .
Clicca con il tasto destro sulla finestra per far comparire il
menu di XMMS .
Seleziona Preference sotto
Options .
Cambia l'Output Plugin in Disk Writer
Plugin
.
Premi Configure .
Inserisci (o scegli browse) la directory in cui salvare i file
decompressi.
Carica il file MP3 in XMMS come al
solito, con il volume al 100% e le impostazioni dell'equalizzatore
disattivate.
Premi Play —
XMMS apparirà come se stesse
riproducendo l'MP3, ma non si sentirà nessuna musica. Sta
riproducendo la musica su un file.
Assicurati di reimpostare l'Output Plugin di default come prima
per ascoltare nuovamente gli MP3.
Scrittura su stdout con mpg123 :
Esegui mpg123 -s audio01.mp3
> audio01.pcm
XMMS scrive un file nel formato WAV,
mentre mpg123 converte l'MP3 direttamente in
dati audio PCM. Entrambi questi formati possono essere usati con
cdrecord per creare CD audio.
Devi utilizzare PCM con &man.burncd.8;. Se usi file WAV, noterai un
breve ticchettio all'inizio di ogni traccia, questo suono è
l'intestazione del file WAV. Puoi semplicemente rimuovere
l'intestazione del file WAV con l'utility SoX
(può essere installata dal port o dal package audio/sox ):
&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.raw
Leggi per ulteriori informazioni su
come usare un masterizzatore con FreeBSD.
Ross
Lippert
Contributo di
Riproduzione Video
La riproduzione video è un'area applicativa molto recente e
in rapido sviluppo. Sii paziente. Non tutto funzionerà
così facilmente come è stato per l'audio.
Prima di iniziare, dovresti conoscere il modello della scheda video
che possiedi e il chip che usa. Sebbene
&xfree86; supporti una vasta varietà di
schede video, poche offrono buone prestazioni in riproduzione.
Per ottenere una lista di estensioni supportate dall'X server con la tua
scheda usa il comando &man.xdpyinfo.1; mentre X11 sta girando.
È una buona idea avere un piccolo file MPEG che possa essere
trattato come un file di test per la valutazione di vari riproduttori e
opzioni. Visto che alcuni riproduttori di DVD cercheranno di default i
DVD in /dev/dvd , o hanno questo nome di dispositivo
codificato permanentemente al loro interno, potresti trovare utile creare
dei link simbolici al dispositivo corretto:
&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvd
Nota che, data la natura del &man.devfs.5;, i collegamenti creati a
mano come questi non rimarranno se riavvii il sistema. Per creare i
collegamenti simbolici automaticamente quando avvii il sistema, aggiungi
le seguenti righe in /etc/devfs.conf :
link acd0 dvd
link acd0 rdvd
Su FreeBSD 5.X, che usa &man.devfs.5; c'è un insieme di
link raccomandati leggermente diverso:
&prompt.root; ln -sf /dev/acd0c /dev/dvd
&prompt.root; ln -sf /dev/acd0c /dev/rdvd
In aggiunta, la decrittazione dei DVD, che richiede l'invocazione
di speciali funzioni dei DVD-ROM, richiede il permesso in scrittura sui
dispositivi DVD.
opzioni del kernel
options CPU_ENABLE_SSE
opzioni del kernel
options USER_LDT
Alcuni dei port discussi si basano sulle seguenti opzioni del kernel
per compilarsi correttamente. Prima di provare a compilarli, aggiungi
queste opzioni al file di configurazione del kernel, compila un nuovo
kernel, e riavvia:
option CPU_ENABLE_SSE
option USER_LDT
option USER_LDT non esiste su
&os; 5.X.
Per migliorare l'interfaccia della memoria condivisa di X11, è
consigliabile incrementare i valori di alcune variabili
&man.sysctl.8;:
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
Determinazione delle Capacità Video
XVideo
SDL
DGA
Ci sono molti modi possibili per visualizzare immagini e filmati con
X11. Quello che funzionerà meglio in pratica dipende in gran
parte dal tuo hardware. Ogni metodo descritto qui sotto avrà una
qualità variabile su hardware differente. In secondo luogo, il
rendering video in X11 è un argomento che sta ricevendo un sacco
di attenzione ultimamente, e con ogni nuova versione di
&xfree86; ci possono essere notevoli
miglioramenti.
Una lista di interfacce video comuni:
X11: normale output di X11 che usa la memoria condivisa.
XVideo: un'estensione all'interfaccia X11 che supporta grafica
e filmati in ogni oggetto X11 disegnabile.
SDL: Simple Directmedia Layer.
DGA: Direct Graphics Access.
SVGAlib: interfaccia di basso livello per la grafica da
console.
XVideo
&xfree86; 4.X ha un'estensione chiamata
XVideo (aka Xvideo, aka Xv, aka xv) che permette
di visualizzare grafica e filmati direttamente negli oggetti
disegnabili attraverso una speciale accelerazione.
Questa estensione fornisce una riproduzione di ottima qualità
anche su macchine poco potenti (per esempio sul mio portatile
PIII 400 Mhz).
Sfortunatamente, la lista di schede che supportano questa
caratteristica out of the box
è
attualmente:
3DFX Voodoo 3
&intel; i810 e i815
alcuni chip S3 (come il Savage/IX e il Savage/MX)
Se la tua scheda non è fra queste, non disperarti ancora.
&xfree86; 4.X aggiunge il supporto a nuove
schede con ogni release
Una nota famiglia di schede video con ottime prestazioni in
&xfree86; , nVidia, deve ancora
rilasciare le proprie specifiche sul supporto XVideo al team
&xfree86; . Potrà passare un po'
di tempo prima che &xfree86;
supporterà completamente XVideo per queste schede.
. Per controllare se l'estensione sta girando, usa
xvinfo :
&prompt.user; xvinfo
XVideo è supportato dalla tua scheda se il risultato
è simile a:
X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_BRIGHTNESS" (range -128 to 127)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_SATURATION" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_HUE" (range -180 to 180)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 1024 x 1024
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x36315652 (RV16)
guid: 52563135-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x3e0, 0x7c00
id: 0x35315652 (RV15)
guid: 52563136-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x7e0, 0xf800
id: 0x31313259 (Y211)
guid: 59323131-0000-0010-8000-00aa00389b71
bits per pixel: 6
number of planes: 3
type: YUV (packed)
id: 0x0
guid: 00000000-0000-0000-0000-000000000000
bits per pixel: 0
number of planes: 0
type: RGB (packed)
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0
Inoltre tieni presente che i formati elencati (YUV2, YUV12, ecc)
non sono presenti in tutte le implementazioni di XVideo e la loro
assenza può ostacolare alcuni programmi.
Se il risultato è:
X-Video Extension version 2.2
screen #0
no adaptors present
Allora XVideo probabilmente non è supportato per la tua
scheda.
Se XVideo non è supportato per la tua scheda, questo vuol
dire solamente che sarà più difficile soddisfare le
richieste computazionali per il rendering video. A seconda della tua
scheda video e del tuo processore, comunque, potresti essere ancora in
grado di avere un'esperienza soddisfacente. Dovrai probabilmente
dare un occhio ai modi per migliorare le prestazioni nella lettura
avanzata .
Simple Directmedia Layer
Il Simple Directmedia Layer, SDL, vuole essere un'interfaccia di
portabilità tra µsoft; Windows, BeOS, e &unix;, che possa
permettere di sviluppare applicazioni multi-piattaforma che facciano
buon uso di suoni e grafica. L'interfaccia SDL fornisce una
astrazione di basso livello all'hardware che può a volte
essere più efficiente dell'interfaccia X11.
L'SDL può essere trovata in devel/sdl12
+ role="package">devel/sdl12.
Direct Graphics Access
Direct Graphics Access è un'estensione
&xfree86; che permette a un programma di
evitare il server X ed alterare direttamente il buffer video.
Siccome si basa su una mappatura di memoria a basso livello per
effettuare questa condivisione, i programmi che la usano devono
essere avviati da root .
L'estensione DGA può essere testata con &man.dga.1;.
Quando dga è in esecuzione, cambia i colori
del display ogni volta che viene premuto un tasto. Per uscire, premi
q .
Port e Package che Riguardano il Video
port video
package video
In questa sezione si discuterà del software disponibile
nella FreeBSD Port Collection che possono essere usati per
la riproduzione video. La sezione software sulla riproduzione video
è in continuo sviluppo, per cui le caratteristiche delle varie
applicazioni sono destinate a differire dalla descrizione che
segue.
In primo luogo, è importante sapere che molte delle
applicazioni video che girano su FreeBSD sono stati sviluppate come
applicazioni Linux. Molte di queste applicazioni sono ancora in fase
beta. Alcuni dei problemi che puoi incontrare con i package video su
FreeBSD comprendono:
Un'applicazione non riesce a riprodurre un file generato
da un'altra applicazione.
Un'applicazione non riesce a riprodurre un file che lei
stessa ha prodotto.
Lo stesso applicativo posto su due computer diversi,
ricompilato su ognuno dei due computer, riproduce lo stesso
file in modo diverso.
Da un filtro apparentemente banale quale il ridimensionamento
di un'immagine si ottenga un pessimo risultato derivato da una
routine di ridimensionamento bacata.
Un'applicazione che genera frequentemente file
core
.
La documentazione non viene installata con il port e può
essere trovata sul web o nella directory work del port.
Molte di queste applicazioni possono anche esibire
Linuxismi
. Ovvero, ci possono essere problemi risultanti
dal modo in cui le librerie standard sono state implementate nelle
distribuzioni Linux, o alcune modifiche al
kernel di Linux che sono state apportate dagli autori delle
applicazioni. Questi problemi possono non essere stati
notati e aggirati dal mantainer del port, e possono
portare comunque a problemi come questi:
L'uso di /proc/cpuinfo per riconoscere
le caratteristiche del processore.
Un uso errato dei thread che può portare un programma
a bloccare la propria esecuzione piuttosto che terminare
correttamente.
Software non ancora presente nella collezione dei port di
FreeBSD che è comunemente usato unitamente
all'applicazione.
A questo punto, gli sviluppatori di queste applicazioni sono stati
collaborativi con i maintainer dei port al fine di minimizzare la
ricerca di soluzioni necessarie al processo di porting.
MPlayer
MPlayer è stata sviluppata di
recente ed è un player in rapida evoluzione. Gli obbiettivi
degli sviluppatori di MPlayer sono la
velocità e la flessibilità su Linux e le altre famiglie
di &unix;. Il progetto è partito non appena il fondatore del
gruppo si stancò delle prestazioni degli altri riproduttori.
C'è chi dice che l'interfaccia grafica sia stata sacrificata
per un design essenziale. Tuttavia, una volta che si sono imparate
perfettamente le opzioni da riga di comando e le scorciatoie,
funziona decisamente bene.
Compilazione di MPlayer
MPlayer
compilazione
MPlayer è reperibile
sotto multimedia/mplayer .
MPlayer
effettua una serie di controlli sull'hardware durante il
processo di compilazione, che ha come risultato un binario
che non potrà essere considerato portabile da una
piattaforma ad un'altra. Questo è il motivo per cui
risulta importante compilarlo usando il port piuttosto che
il pacchetto contenente il binario.
Inoltre, ulteriori opzioni possono essere specificate nella riga di
comando di make , come descritto all'inizio della
compilazione.
&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
You can enable additional compilation optimizations
by defining WITH_OPTIMIZED_CFLAGS
You can enable GTK GUI by defining WITH_GUI.
You can enable DVD support by defining WITH_DVD.
You can enable SVGALIB support by defining WITH_SVGALIB.
You can enable VORBIS sound support by defining WITH_VORBIS.
You can enable XAnim DLL support by defining WITH_XANIM.
Se hai installato x11-toolkits/gtk12 , a questo punto si
potrà abilitare la compilazione della GUI. Altrimenti, non
vale la pena la fatica. Se si ha intenzione di vedere DVD
(possibilmente codificati in CSS) con
MPlayer si sarà
costretti ad abilitare l'opzione per il supporto DVD qui
La riproduzione non autorizzata di DVD è un grave
atto criminale in alcuni paesi. Controlla le leggi locali
prima di abilitare questa opzione.
. Alcune opzioni utili sono:
&prompt.root; make WITH_DVD=yes WITH_SVGALIB=yes
Al momento, il port MPlayer
creerà la sua documentazione in HTML e l'eseguibile
mplayer .
Sarà anche possibile compilare un codificatore,
mencoder , uno strumento utile per ricodificare i
video. Una modifica al Makefile lo rende
disponibile. È possibile che venga abilitato di default
nelle versioni successive del port.
La documentazione HTML di MPlayer
è molto istruttiva.
Qualora il lettore trovasse le informazioni sull'hardware e le
interfacce video in questo capitolo scarne, la documentazione di
MPlayer risulta essere un ottimo
supplemento.
Se si stanno cercando informazioni riguardo il supporto video sotto
&unix;, sarebbe utile trovare il tempo di leggere in modo preciso
la documentazione di MPlayer .
Utilizzo di MPlayer
MPlayer
utilizzo
Ogni utente che voglia usare MPlayer
deve creare la directory .mplayer sotto
la propria home. Per creare questa directory necessaria, puoi
digitare il seguente comando:
&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-user
Le opzioni del comando mplayer sono elencate
nella pagina del manuale. Per qualunque altro dettaglio consulta
la documentazione HTML. In questa sezione, descriveremo solamente
alcuni degli usi più comuni.
Per riprodurre un file, ad esempio
testfile.avi , usando
una delle varie interfacce video usa l'opzione
-vo :
&prompt.user; mplayer -vo xv testfile.avi
&prompt.user; mplayer -vo sdl testfile.avi
&prompt.user; mplayer -vo x11 testfile.avi
&prompt.root; mplayer -vo dga testfile.avi
&prompt.root; mplayer -vo 'sdl:dga' testfile.avi
È utile provare tutte queste opzioni, considerando che le
prestazioni dipendono da svariati fattori e variano in modo
considerevole a seconda dell'hardware.
Per riprodurre un DVD, sostituisci
testfile.avi con l'opzione -dvd
- <N>DISPOSITIVO
- dove <N> corrisponde al numero del titolo da riprodurre
+ N
+ DISPOSITIVO dove
+ N corrisponde al numero del titolo da
+ riprodurre
e DISPOSITIVO al
dispositivo che identifica il DVD-ROM. Per esempio, per riprodurre
il terzo titolo da /dev/dvd :
- &prompt.root; mplayer -vo dga -dvd 2 /dev/dvd
+ &prompt.root; mplayer -vo dga -dvd 3 /dev/dvd
Per interrompere, mettere in pausa, andare avanti e così
via, leggi l'elenco delle associazioni dei tasti, che
vengono elencati eseguendo mplayer -h o
consulta la pagina man.
Ulteriori opzioni utili per la riproduzione sono:
-fs -zoom che abilita la modalità schermo
intero e -framedrop che aiuta le
prestazioni.
Perchè la riga di comando di mplayer non diventi
eccessivamente lunga, l'utente può creare il file
.mplayer/config ed impostare lì i
valori predefiniti:
vo=xv
fs=yes
zoom=yes
In ultimo, è possibile usare mplayer
per estrarre una traccia DVD in un file .vob .
Per estrarre la seconda traccia dal DVD, digita questo:
&prompt.root; mplayer -dumpstream -dumpfile out.vob -dvd 2 /dev/dvd
Il file ottenuto, out.vob , sarà
in formato MPEG e potrà manipolato da un'altro programma
descritto in questa sezione.
mencoder
mencoder
Se hai scelto di installare mencoder quando
hai compilato MPlayer , sei avvisato che
è ancora un componente sperimentale. Prima di usare
mencoder è una buona
idea familiarizzare con le opzioni contenute nella
documentazione HTML. Esiste anche una pagina man, ma non
è utile senza la documentazione HTML. Esiste un numero
considerevole di modi per migliorare la qualità, un
bitrate più basso, cambiare codifica ed alcuni di
questi trucchi può fare la differenza tra prestazioni
più o meno accettabili. Di seguito un paio di esempi per
cominciare. Prima di tutto, una semplice copia:
&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.avi
Combinazioni errate di opzioni da riga di comando possono
portare a file di output irriproducibili perfino con
mplayer .
Di conseguenza, se si vuole semplicemente estrarre una traccia,
usare l'opzione -dumpfile eseguendo
in mplayer .
Per convertire il file input.avi
in formato MPEG4 con l'audio codificato in MPEG3 (è
necessario audio/lame ):
&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi
Questo comando ha creato un file riproducibile con
mplayer e xine .
Il parametro input.avi può
essere sostituito con -dvd 1 /dev/dvd ed
eseguire il comando come root per
ricodificare il capitolo DVD direttamente. Poichè
si sarà certamente poco soddisfatti del risultato la prima
volta, è consigliato eseguire il dump del capitolo
e lavorare direttamente sul file.
Il Riproduttore Video xine
Il riproduttore video xine è un
progetto dagli ampi obiettivi e non solo l'essere una soluzione
unica per la riproduzione, ma anche una libreria di base
riutilizzabile ed un eseguibile modulare che possa essere
esteso con i plugin. È disponibile sia come pacchetto che
come port, sotto multimedia/xine .
xine
è ancora un pò rozzo, ma è chiaramente un buon
inizio.
In pratica, xine necessita sia di una
CPU veloce che di una scheda video veloce o il supporto per
l'estensione XVideo. L'interfaccia grafica è utilizzabile,
ma ancora mal disegnata.
Allo stato attuale, non ci sono moduli distribuiti con
xine che possano riprodurre DVD
codificati in CSS. Esistono distribuzioni di terze parti che
hanno moduli di questo genere già compilati, ma nessuno
di questi esiste nella FreeBSD Ports Collection.
Comparato con MPlayer ,
xine offre maggiori caratteristiche
all'utente ma, allo stesso tempo, non rende disponibile
all'utente un controllo più accurato. Il riproduttore video
xine funziona molto meglio sulle interfacce
XVideo.
Di default, xine si avvierà con
un'interfaccia grafica. Si possono quindi usare i menu per aprire
per aprire un file specifico:
&prompt.user; xine
Alternativamente, può essere invocato per aprire
- firettamente un file senza l'interfaccia GUI, con il comando:
+ direttamente un file senza l'interfaccia grafica, con il
+ comando:
&prompt.user; xine -g -p mymovie.avi
Le Utility transcode
Il software transcode non è un
riproduttore, piuttosto un insieme di strumenti per ricodificare file
.avi e .mpg . Con
transcode , si ha la possibilità di
unire file video, riparare file corrotti ed utilizzare strumenti
da riga di comando con interfaccie che utilizzano i flussi
stdin/stdout .
Così come MPlayer , anche
transcode è un software in
fase sperimentale che deve essere compilato usando il port
multimedia/transcode . Sono
disponibili parecchie opzioni da passare a make .
Io consiglio:
&prompt.root; make WITH_LIBMPEG2=yes
Se hai intenzione di installare multimedia/avifile , allora aggiungi
l'opzione WITH_AVIFILE alla riga di comando di
make , così come di seguito:
&prompt.root; make WITH_AVIFILE=yes WITH_LIBMPEG2=yes
Ecco due esempi di come usare transcode
per la conversione video che produce un output ridimensionato.
Il primo, codifica il risultato come un file openDIVX AVI,
mentre il secondo codifica nel formato MPEG, più
portabile.
&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y opendivx -N 0x55 -o output.avi
&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y mpeg -N 0x55 -o output.tmp
&prompt.user; tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1
Esiste una pagina man per transcode ,
ma c'è poca documentazione sulle utility tc*
(come per esempio tcmplex ) che vengono installate.
Tuttavia, l'opzione a riga di comando -h può
sempre essere usata per avere delle brevi istruzioni d'uso del
comando.
In confronto, transcode gira molto
più lentamente rispetto a mencoder , ma
risulta essere un'ottima alternativa per produrre file in
formati più vari.
Si sa che gli MPEG creati con transcode funzionano
con &windows.media; Player ed Apple
&quicktime; , ad esempio.
Ulteriori Letture
I vari package di applicazioni video per FreeBSD si stanno
evolvendo rapidamente. È abbastanza possibile che in un futuro
vicino molti dei problemi discussi qui saranno risolti. Nel frattempo,
chiunque voglia ottenere il massimo dalle
capacità A/V di FreeBSD, dovrà unire alla meglio la
conoscenza che deriva dalle svariate FAQ e guide con l'uso di queste
poche applicazioni. Questa sezione esiste per fornire al lettore
indicazioni a queste informazioni aggiuntive.
La Documentazione
di MPlayer è molto istruttiva sul piano tecnico.
Questa documentazione, probabilmente, dovrà essere consultata
da chiunque voglia ottenere un alto grado di conoscenza del video
sotto &unix;. La mailing list di MPlayer
risulta abbastanza ostile a chiunque non si sia preoccupato di
leggere la documentazione, se si ha intenzione di segnalar loro un
bug, RTFM.
L'HOWTO
di xine contiene un capitolo su come aumentare le prestazioni
che è comune a tutti i riproduttori.
In ultimo, ci sono alcuni applicativi promettenti che il
lettore può provare:
Avifile che
è anche un port multimedia/avifile .
Ogle
che è anche un port multimedia/ogle .
Xtheater
multimedia/dvdauthor , un package open
source per la creazione di DVD.
Josef
El-Rayes
Contributo originale di
Marc
Fonvieille
Ampliato e adattato da
Configurazione delle Schede TV
schede TV
Introduzione
Le schede TV permettono di visualizzare la TV via onde radio o via
cavo sul tuo computer. La maggior parte di queste accettano in input
video composito tramite connettori RCA o S-video e alcune di queste
schede hanno un sintonizzatore radio FM.
&os; fornisce supporto per le schede TV su bus PCI che usano un
chip di acquisizione video Brooktree Bt848/849/878/879 o Conexant
CN-878/Fusion 878a tramite il driver &man.bktr.4;. Devi anche
assicurarti che la scheda abbia un sintonizzatore supportato, consulta
la pagina man di &man.bktr.4; per una lista dei sintonizzatori
supportati.
Aggiunta del Driver
Per usare la scheda, devi caricare il driver &man.bktr.4;, e questo
può essere fatto aggiungendo la seguente riga al file
/boot/loader.conf in questo modo:
bktr_load="YES"
Alternativamente, puoi compilare staticamente il supporto per la
scheda TV nel tuo kernel, in questo caso aggiungi le seguenti righe
alla configurazione del tuo kernel:
device bktr
device iicbus
device iicbb
device smbus
Questi driver aggiuntivi sono necessari poiché le
componenti della scheda sono interconnesse tramite un bus I2C.
Quindi compila ed installa un nuovo kernel.
Una volta che hai aggiunto il supporto al tuo sistema, devi
riavviare la macchina. Durante il processo di avvio, la tua scheda TV
dovrebbe apparire, come in questo esempio:
bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.
Ovviamente questi messaggi possono differire a seconda
dell'hardware. Tuttavia dovresti controllare se il sintonizzatore
viene rilevato correttamente; è sempre possibile modificare
alcuni dei parametri rilevati tramite le MIB di &man.sysctl.8; e le
opzioni nel file di configurazione del kernel. Ad esempio, se vuoi
imporre che il sintonizzatore sia un Philips SECAM, dovresti aggiungere
la riga seguente al file di configurazione del kernel:
options OVERRIDE_TUNER=6
o puoi usare direttamente &man.sysctl.8;:
&prompt.root; sysctl hw.bt848.tuner=6
Guarda la pagina man di &man.bktr.4; e il file
/usr/src/sys/conf/NOTES per maggiori dettagli
sulle opzioni disponibili. (Se sei sotto &os; 4.X, sostituisci
/usr/src/sys/conf/NOTES con
/usr/src/sys/i386/conf/LINT .)
Applicazioni Utili
Per usare la tua scheda TV devi installare una delle seguenti
applicazioni:
multimedia/fxtv
fornisce capacità di TV-in-una-finestra e acquisizione di
immagini/audio/video.
multimedia/xawtv
è anch'esso un'applicazione TV, con le stesse caratteristiche
di fxtv .
misc/alevt decodifica e
visualizza Videotext/Teletext.
audio/xmradio ,
un'applicazione per usare il sintonizzatore radio FM che hanno
alcune schede TV.
audio/wmtune ,
un'applicazione desktop maneggevole per i sintonizzatori
radio.
Altre applicazioni sono disponibili nella &os; Ports
Collection.
Risoluzione dei Problemi
Se incontri qualche problema con la tua scheda TV, dovresti
verificare dapprima se il chip di acquisizione video e il
sintonizzatore sono realmente supportati dal driver &man.bktr.4; e se
hai usato le corrette opzioni di configurazione. Per maggiore supporto
e varie domande sulla tua scheda video potresti voler leggere ed
usare gli archivi della mailing list &a.multimedia.name;.
diff --git a/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml b/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml
index 7474842d95..f1e299c6e3 100644
--- a/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml
@@ -1,721 +1,791 @@
Chiavi PGP
chiavi pgp
Nel caso tu debba verificare una firma o inviare un messaggio cifrato
a una delle cariche ufficiali o a uno degli sviluppatori, qui puoi trovare
per tua comodità una serie di chiavi. Un keyring completo degli
utenti FreeBSD.org è disponibile per il download da http://www.FreeBSD.org/doc/pgpkeyring.txt .
Cariche Ufficiali
&a.security-officer;
&pgpkey.security-officer;
&a.core-secretary;
&pgpkey.core-secretary;
Membri del Core Team
&a.imp;
&pgpkey.imp;
+
+ &a.jhb;
+ &pgpkey.jhb;
+
+
&a.kuriyama;
&pgpkey.kuriyama;
&a.murray;
&pgpkey.murray;
&a.peter;
&pgpkey.peter;
&a.wes;
&pgpkey.wes;
Sviluppatori
&a.will;
&pgpkey.will;
&a.mat;
&pgpkey.mat;
&a.asami;
&pgpkey.asami;
&a.dougb;
&pgpkey.dougb;
&a.tobez;
&pgpkey.tobez;
&a.mbr;
&pgpkey.mbr;
&a.harti;
&pgpkey.harti;
&a.obraun;
&pgpkey.obraun;
&a.jmb;
&pgpkey.jmb;
&a.brueffer;
&pgpkey.brueffer;
+
+ &a.markus;
+ &pgpkey.markus;
+
+
&a.wilko;
&pgpkey.wilko;
&a.jon;
&pgpkey.jon;
&a.luoqi;
&pgpkey.luoqi;
&a.ache;
&pgpkey.ache;
&a.seanc;
&pgpkey.seanc;
&a.cjh;
&pgpkey.cjh;
&a.cjc;
&pgpkey.cjc;
&a.marcus;
&pgpkey.marcus;
&a.nik;
&pgpkey.nik;
&a.ceri;
&pgpkey.ceri;
&a.brooks;
&pgpkey.brooks;
+
+ &a.pjd;
+ &pgpkey.pjd;
+
+
&a.bsd;
&pgpkey.bsd;
&a.dd;
&pgpkey.dd;
&a.ale;
&pgpkey.ale;
+
+ &a.peadar;
+ &pgpkey.peadar;
+
+
&a.josef;
&pgpkey.josef;
&a.ue;
&pgpkey.ue;
&a.ru;
&pgpkey.ru;
+
+ &a.le;
+ &pgpkey.le;
+
+
&a.jedgar;
&pgpkey.jedgar;
&a.green;
&pgpkey.green;
&a.lioux;
&pgpkey.lioux;
&a.fanf;
&pgpkey.fanf;
&a.blackend;
&pgpkey.blackend;
&a.petef;
&pgpkey.petef;
&a.billf;
&pgpkey.billf;
&a.patrick;
&pgpkey.patrick;
&a.gioria;
&pgpkey.gioria;
&a.jmg;
&pgpkey.jmg;
&a.dannyboy;
&pgpkey.dannyboy;
+
+ &a.dhartmei;
+ &pgpkey.dhartmei;
+
+
&a.jhay;
&pgpkey.jhay;
&a.sheldonh;
&pgpkey.sheldonh;
&a.mikeh;
&pgpkey.mikeh;
&a.ghelmer;
&pgpkey.ghelmer;
&a.mux;
&pgpkey.mux;
&a.mich;
&pgpkey.mich;
&a.foxfair;
&pgpkey.foxfair;
&a.jkh;
&pgpkey.jkh;
&a.trevor;
&pgpkey.trevor;
&a.phk;
&pgpkey.phk;
&a.joe;
&pgpkey.joe;
+
+ &a.vkashyap;
+ &pgpkey.vkashyap;
+
+
&a.kris;
&pgpkey.kris;
&a.keramida;
&pgpkey.keramida;
&a.fjoe;
&pgpkey.fjoe;
&a.andreas;
&pgpkey.andreas;
&a.sergei;
&pgpkey.sergei;
&a.maxim;
&pgpkey.maxim;
&a.jkoshy;
&pgpkey.jkoshy;
+
+ &a.rik;
+ &pgpkey.rik;
+
+
&a.rushani;
&pgpkey.rushani;
&a.clement;
&pgpkey.clement;
+
+ &a.mlaier;
+ &pgpkey.mlaier;
+
+
&a.alex;
&pgpkey.alex;
&a.erwin;
&pgpkey.erwin;
&a.leeym;
&pgpkey.leeym;
&a.netchild;
&pgpkey.netchild;
&a.ijliao;
&pgpkey.ijliao;
&a.clive;
&pgpkey.clive;
&a.arved;
&pgpkey.arved;
&a.scottl;
&pgpkey.scottl;
&a.pav;
&pgpkey.pav;
&a.bmah;
&pgpkey.bmah;
&a.mtm;
&pgpkey.mtm;
&a.dwmalone;
&pgpkey.dwmalone;
&a.matusita;
&pgpkey.matusita;
&a.ken;
&pgpkey.ken;
&a.dinoex;
&pgpkey.dinoex;
&a.sanpei;
&pgpkey.sanpei;
&a.jim;
&pgpkey.jim;
&a.marcel;
&pgpkey.marcel;
&a.tmm;
&pgpkey.tmm;
&a.rich;
&pgpkey.rich;
&a.knu;
&pgpkey.knu;
&a.max;
&pgpkey.max;
&a.yoichi;
&pgpkey.yoichi;
&a.bland;
&pgpkey.bland;
&a.simon;
&pgpkey.simon;
&a.anders;
&pgpkey.anders;
&a.obrien;
&pgpkey.obrien;
&a.philip;
&pgpkey.philip;
+
+ &a.hmp;
+ &pgpkey.hmp;
+
+
&a.mp;
&pgpkey.mp;
&a.roam;
&pgpkey.roam;
&a.den;
&pgpkey.den;
&a.pirzyk;
&pgpkey.pirzyk;
&a.jdp;
&pgpkey.jdp;
&a.krion;
&pgpkey.krion;
&a.markp;
&pgpkey.markp;
&a.thomas;
&pgpkey.thomas;
&a.dfr;
&pgpkey.dfr;
&a.trhodes;
&pgpkey.trhodes;
&a.benno;
&pgpkey.benno;
&a.paul;
&pgpkey.paul;
&a.roberto;
&pgpkey.roberto;
&a.guido;
&pgpkey.guido;
+
+ &a.niklas;
+ &pgpkey.niklas;
+
+
+
+ &a.marks;
+ &pgpkey.marks;
+
+
&a.hrs;
&pgpkey.hrs;
&a.wosch;
&pgpkey.wosch;
&a.das;
&pgpkey.das;
&a.schweikh;
&pgpkey.schweikh;
&a.gshapiro;
&pgpkey.gshapiro;
&a.arun;
&pgpkey.arun;
&a.vanilla;
&pgpkey.vanilla;
&a.cshumway;
&pgpkey.cshumway;
&a.demon;
&pgpkey.demon;
&a.jesper;
&pgpkey.jesper;
&a.scop;
&pgpkey.scop;
&a.kensmith;
&pgpkey.kensmith;
&a.ben;
&pgpkey.ben;
&a.des;
&pgpkey.des;
&a.sobomax;
&pgpkey.sobomax;
&a.dcs;
&pgpkey.dcs;
&a.brian;
&pgpkey.brian;
&a.nsouch;
&pgpkey.nsouch;
+
+ &a.vs;
+ &pgpkey.vs;
+
+
&a.gsutter;
&pgpkey.gsutter;
&a.nyan;
&pgpkey.nyan;
&a.mi;
&pgpkey.mi;
&a.gordon;
&pgpkey.gordon;
+
+ &a.thierry;
+ &pgpkey.thierry;
+
+
&a.viny;
&pgpkey.viny;
&a.nectar;
&pgpkey.nectar;
&a.adamw;
&pgpkey.adamw;
&a.nate;
&pgpkey.nate;
&a.wollman;
&pgpkey.wollman;
&a.joerg;
&pgpkey.joerg;
&a.phantom;
&pgpkey.phantom;
diff --git a/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml b/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
index c29d8d7795..08fcddb19a 100644
--- a/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
@@ -1,1268 +1,1310 @@
Installazione delle Applicazioni: Port e Package
Sinossi
port
package
FreeBSD è distribuito con una ricca collezione di strumenti di
sistema come parte base del sistema. Comunque, c'è molto che si
può fare prima che sia necessario installare un'applicazione
aggiuntiva di terze parti. FreeBSD fornisce due tecnologie complementari
per installare software di terze parti sul tuo sistema: la FreeBSD Port
Collection, ed i packages contenenti i binari del software. Puoi usare
entrambi questi sistemi per installare l'ultima versione della tua
applicazione preferita dai dispositivi locali o direttamente dalla
rete.
Dopo aver letto questo capitolo, saprai:
Come installare i package contenenti i binari delle applicazioni
di terze parti.
Come compilare le applicazioni di terze parti dalla collezione dei
port.
Come rimuovere i package o i port installati in precedenza.
Come modificare i valori di default utilizzati dalla collezione
dei port.
Come aggiornare i tuoi port.
Uno Sguardo all'Installazione del Software
Se hai già usato un sistema &unix; prima d'ora saprai che la
procedura tipica per installare software di terze parti è simile a
questa:
Scaricare il software, che potrebbe essere distribuito sotto forma
di codice sorgente, o come binario.
Scompattare il software dal suo formato di distribuzione
(tipicamente un tarball compresso con &man.compress.1;, &man.gzip.1;,
o con &man.bzip2.1;).
Individuare la documentazione (probabilmente un file
INSTALL o un file README ,
o qualche file nella sottodirectory doc/ ) e
leggere come installare il software.
Se il software è stato distribuito sotto forma di sorgente,
compilarlo. Questa fase può coinvolgere la modifica di un
Makefile , oppure l'esecuzione di uno script
configure , e qualche altro lavoro.
Installare e testare il software.
E questo se tutto va bene. Se stai installando del software di cui
non è stato deliberatamente effettuato il porting in FreeBSD
potresti perfino dover modificare il codice per farlo funzionare
correttamente.
Se vuoi, puoi continuare ad installare il software su FreeBSD nel modo
tradizionale
. Comunque, FreeBSD fornisce due tecnologie
che possono farti risparmiare molti sforzi: i package e i port. Nel
momento in cui scrivo, sono disponibili più di &os.numports;
applicazioni di terze parti tramite questi due metodi.
Per ogni applicazione, il package di FreeBSD per quella applicazione
consiste in un singolo file che devi scaricare. Il package contiene una
copia pre-compilata di tutti i comandi dell'applicazione, così
come i file di configurazione e di documentazione. Una volta scaricato il
package, questo può essere manipolato con i comandi di gestione
dei package di FreeBSD, come &man.pkg.add.1;, &man.pkg.delete.1;,
&man.pkg.info.1;, e così via. L'installazione di una nuova
applicazione può essere fatta con un singolo comando.
In FreeBSD un port di un'applicazione è un insieme di file
predisposti per automatizzare il processo di compilazione
dell'applicazione partendo dal codice sorgente.
Ricorda che ci sono molte fasi che normalmente devi eseguire se vuoi
compilare un programma autonomamente (scaricare, scompattare, correggere,
compilare, installare). I file che costituiscono un port contengono tutte
le informazioni necessarie per permettere al sistema di fare questo lavoro
al posto tuo. Tu esegui una manciata di semplici comandi e il codice
sorgente dell'applicazione viene automaticamente scaricato, estratto,
corretto, compilato, ed installato.
Di fatto, il sistema dei port può anche essere usato per
generare package che possono essere successivamente manipolati
con pkg_add ed altri comandi di gestione dei package
che saranno presentati tra poco.
Sia i package che i port comprendono il meccanismo delle
dipendenze . Supponiamo che tu voglia installare
un'applicazione che dipende da un specifica libreria. Sia l'applicazione
che la libreria sono disponibili in FreeBSD come port o come package. Se
usi il comando pkg_add o il sistema dei port per
installare l'applicazione, entrambi noteranno che la libreria non è
installata, e automaticamente la installeranno per prima.
Dato che le due tecnologie sono abbastanza simili, probabilmente
vorrai sapere perché FreeBSD le usa entrambe. I package e i port
hanno i loro punti forte, e l'utilizzo dell'uno o dell'altro dipende dalle
proprie preferenze personali.
Benefici dei Package
Il tarball compresso di un package è tipicamente più
piccolo del tarball compresso contenente il codice sorgente
della stessa applicazione.
I package non richiedono alcuna compilazione aggiuntiva. Per
grandi applicazioni, come Mozilla ,
KDE , oppure
GNOME questo può essere importante,
sopra tutto se usi un sistema lento.
I package non richiedono la conoscenza del processo di
compilazione del software su FreeBSD.
Benefici dei Port
I package sono normalmente compilati con opzioni conservative,
poiché devono poter funzionare su un parco macchine il
più ampio possibile. Con l'installazione dai port, puoi
aggiustare le opzioni di compilazione per produrre (per esempio) del
codice che sia specifico per un Pentium IV o un processore
Athlon.
Alcune applicazioni hanno delle opzioni attivabili al tempo di
compilazione che permettono di modificare il comportamento delle
applicazioni stesse. Per esempio, Apache
può essere configurato con un'ampia varietà di
differenti opzioni built-in. Effettuando la compilazione dal port non
sei costretto ad accettare le opzioni di default, e puoi settarle tu
stesso.
In alcuni casi, ci possono essere più package per la stessa
applicazione a seconda dei settaggi ivi contenuti. Per esempio,
Ghostscript è disponibile come
package ghostscript e come package
ghostscript-nox11 , a seconda che tu abbia o meno
installato un server X11. Questa sorta di adattamento è
possibile con i package, ma diviene impossibile nel caso in cui
un'applicazione ha più di una o due diverse opzioni che si
possono dare al tempo di compilazione.
Le condizioni di licenza di alcune distribuzioni di software
proibiscono la distribuzione dei binari. Tali software devono essere
distribuiti come codice sorgente.
Alcune persone non si fidano della distribuzione dei binari.
Con il codice sorgente, puoi (in teoria) controllare il codice e
cercare i suoi potenziali problemi.
Se hai delle patch, hai bisogno del sorgente per
applicarle.
Ad alcune persone piace avere il codice sorgente, in modo tale da
poterlo leggerlo se sono annoiati, hackerarlo, prenderne in prestito
delle parti (licenza permettendo, naturalmente), e così
via.
Per tenersi al corrente sugli aggiornamenti dei port, iscriviti alla
&a.ports; e alla &a.ports-bugs;.
+
+ Prima di installare qualche applicazione, dovresti verificare per eventuali problemi di
+ sicurezza relativi alla tua applicazione.
+
+ Inoltre puoi installare il port security/portaudit che verificherà
+ in modo automatico tutte le applicazioni installate a caccia di
+ vulnerabilità note, e verrà fatta una verifica anche
+ prima della compilazione dei port. Puoi usare il comando
+ portaudit -F -a dopo che hai installato qualche
+ package.
+
+
Il resto del capitolo spiegherà come usare i package ed i
port per installare e gestire il software di terze parti su
FreeBSD.
Ricerca della Propria Applicazione
Prima di poter installare delle applicazioni devi sapere
quale applicazione ti serve, e come viene chiamata.
La lista delle applicazioni disponibili su FreeBSD cresce
continuamente. Fortunatamente, ci sono diversi sistemi per trovare
quello che ti serve:
Il sito web di FreeBSD mantiene all'indirizzo http://www.FreeBSD.org/ports/
una lista aggiornata in cui puoi cercare tutte le applicazioni
correntemente disponibili. I port sono divisi in categorie, e puoi
sia cercare un'applicazione in base al nome (se lo conosci), sia
visionare tutte le applicazioni disponibili in una data
categoria.
FreshPort
Dan Langille mantiene FreshPort, all'indirizzo .
FreshPort segue in tempo reale i cambiamenti delle applicazioni
nell'albero dei port, permettendoti di controllare
uno o più port, e dandoti la possibilità di essere
avvisato tramite email quando questi vengono aggiornati.
FreshMeat
Se non conosci il nome dell'applicazione che desideri, prova ad
usare un sito come FreshMeat ( )
per trovare l'applicazione, quindi controlla sul sito di FreeBSD
per vedere se è già stato effettuato il porting.
Chern
Lee
Contributo di
Utilizzo del Sistema dei Package
Installazione di un Package
package
installazione
pkg_add
Puoi usare l'utility &man.pkg.add.1; per installare un package di
FreeBSD da un file locale o da un server sulla rete.
Scaricare un Package Manualmente e Installarlo da Locale
&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
&prompt.root; pkg_add lsof-4.56.4.tgz
Se non hai una raccolta di package locale (per esempio il
set dei CDROM di FreeBSD) allora probabilmente ti risulterà
più facile usare &man.pkg.add.1; con l'opzione
-r . In questo modo &man.pkg.add.1; determina
automaticamente la corretta release e il giusto formato dell'oggetto,
quindi scarica il package da un sito FTP e lo installa.
pkg_add
&prompt.root; pkg_add -r lsof
L'esempio qui sopra scarica il giusto package e lo installa senza
nessun ulteriore intervento. Se vuoi specificare un sito mirror dei
package di &os; alternativo, invece del sito di distibuzione principale,
devi settare la variabile PACKAGESITE come desiderato,
in modo tale da sovrascrivere i settaggi di default. &man.pkg.add.1;
usa &man.fetch.3; per scaricare i file, il quale rispetta varie
variabili d'ambiente, incluse FTP_PASSIVE_MODE ,
FTP_PROXY , e FTP_PASSWORD . Puoi aver
bisogno di settarne qualcuna se la tua macchina è dietro un
firewall, o se utilizzi un proxy FTP/HTTP. Leggi &man.fetch.3; per la
lista completa. Nell'esempio precedente si può anche notare che
viene usato lsof al posto di
lsof-4.56.4 . Quando viene usata la modalità
di prelevamento da remoto, il numero di versione del package non deve
essere specificato. &man.pkg.add.1; prenderà automaticamente
l'ultima versione dell'applicazione.
I file dei package sono distribuiti nel formato
.tgz . Puoi trovarli in ,
oppure sui CDROM della distribuzione di FreeBSD. Ogni CD contenuto
nel set dei quattro CD (e nel PowerPak, ecc.) contiene i package nella
directory /packages . La disposizione dei package
è simile a quella dell'albero /usr/ports .
Ogni categoria ha la propria directory, ed ogni package può
essere trovato dentro la directory All .
La struttura delle directory del sistema dei package eguaglia
quella dei port; questi due sistemi lavorano l'uno con l'altro per
formare l'intero sistema dei package/port.
Gestione dei Package
package
gestione
L'utility &man.pkg.info.1; elenca e descrive i vari package
installati.
pkg_info
&prompt.root; pkg_info
cvsup-16.1 Un comune sistema di distribuzione dei file in rete ottimizzato per CVS
docbook-1.2 Meta-port delle varie versioni del DTD DocBook
...
L'utility &man.pkg.version.1; riassume le versioni di tutti i
package installati. Paragona le versioni dei package con le versioni
correnti trovate nell'albero dei port.
pkg_version
&prompt.root; pkg_version
cvsup =
docbook =
...
I simboli nella seconda colonna indicano il risultato del confronto
tra la versione installata e quella disponibile in locale nell'albero
dei port.
Simbolo
Significato
=
Le versioni del package installato e di quello disponibile
in locale nell'albero dei port sono uguali.
<
La versione installata è precedente a quella
disponibile nell'albero dei port.
>
La versione installata è più aggiornata di
quella trovata in locale nell'albero dei port. (L'albero
dei port locale è probabilmente da aggiornare)
?
Il package installato non può essere trovato
nell'indice dei port. (Questo può succedere, per esempio,
se un port installato viene rimosso dalla collezione dei port
oppure viene rinominato.)
*
Ci sono più versioni del package.
Cancellazione di un Package
pkg_delete
package
cancellare
Per rimuovere un package installato in precedenza, usa l'utility
&man.pkg.delete.1;.
&prompt.root; pkg_delete xchat-1.7.1
Miscellanea
Tutte le informazioni sui package sono memorizzate nella
directory /var/db/pkg . La lista dei file
installati e le descrizioni di ogni package possono essere trovate
all'interno dei file di questa directory.
Utilizzo della Collezione dei Port
Le sezioni seguenti forniscono le istruzioni basilari sull'uso della
collezione dei port per installare e rimuovere programmi dal tuo
sistema.
Ottenimento della Collezione dei Port
Prima che tu possa installare i port, devi procurarti la collezione
dei port—che essenzialmente è un set di
Makefiles , patch, e file di descrizione collocati
in /usr/ports .
Durante l'installazione del tuo sistema FreeBSD,
- Sysinstall ti ha chiesto se volevi installare
+ sysinstall ti ha chiesto se volevi installare
la collezione dei port. Se hai rifiutato, puoi seguire queste
istruzioni per ottenerla:
Il Metodo Sysinstall
Questo metodo richiede ancora l'uso di
sysinstall per installare
manualmente la collezione dei port.
Esegui da root
/stand/sysinstall come mostrato qui sotto:
&prompt.root; /stand/sysinstall
Scorri verso il basso e seleziona
Configure , premi
Invio .
Scorri verso il basso e seleziona
Distributions , premi
Invio .
Scorri verso il basso fino a ports ,
premi Spazio .
Scorri verso l'alto fino a Exit ,
premi Invio .
Seleziona il modo di installazione desiderato, come CDROM,
FTP, e così via.
Scorri verso l'alto fino a Exit e
premi Invio .
Premi X per uscire da
sysinstall .
Un altro metodo per ottenere la tua collezione dei port e per
mantenerla aggiornata consiste nell'utilizzo di
CVSup . Dai un'occhiata al file di
CVSup riguardante i port,
/usr/share/examples/cvsup/ports-supfile .
Guarda Usare CVSup () per maggiori informazioni sull'uso di
CVSup e del file menzionato.
Il Metodo CVSup
Questo è un rapido metodo che utilizza
CVSup per ottenere la collezione dei
port. Se vuoi mantenere il tuo albero dei port aggiornato, o imparare
di più su CVSup , leggi la sezione
menzionata in precedenza.
Installa il port net/cvsup .
Guarda Installazione di CVSup
() per maggiori dettagli.
Da root , copia il file
/usr/share/examples/cvsup/ports-supfile
in un nuovo posto, come in /root o nella tua
directory home.
Edita ports-supfile .
Cambia CHANGE_THIS.FreeBSD.org in un
server CVSup vicino a te. Guarda Mirror CVSup () per una lista completa dei siti
mirror.
Esegui cvsup :
&prompt.root; cvsup -g -L 2 /root/ports-supfile
Poco dopo aver eseguito questo comando verranno scaricate
e applicate alla tua collezione dei port tutte le modifiche
recenti, anche se di fatto i port già compilati sul tuo
sistema non verranno aggiornati.
Installazione dei Port
port
installazione
La prima cosa che dovrebbe essere chiara quando si ha a che fare con
la collezione dei port è l'effettivo significato di
scheletro
di un port. Brevemente, lo scheletro di un
port è un insieme minimo di file che dice al tuo sistema FreeBSD
come compilare ed installare un programma in modo pulito. Ogni
scheletro di un port include:
Un Makefile . Il
Makefile contiene varie espressioni che
specificano come l'applicazione deve essere compilata e dove
deve essere installata sul tuo sistema.
Un file distinfo . Questo file contiene
informazioni sui file che devono essere scaricati per la
compilazione del port e sui loro checksum (somme di controllo),
utilizzati per verificare che quei file non siano stati corrotti
durante il download.
Una directory files . Questa directory
contiene le patch utilizzate per la compilazione e per
l'installazione del programma sul tuo sistema FreeBSD. Le patch
sono sostanzialmente piccoli file che specificano come modificare
alcuni file. Sono in puro formato di testo, e in modo grossolano
dicono Rimuovi la riga 10
o
Cambia la riga 26 in ...
. Le patch sono anche
conosciute con il termine diff
poichè sono
generate dal programma &man.diff.1;.
Questa directory può anche contenere altri file
utilizzati per la costruzione del port.
Un file pkg-descr . Questo file contiene
una descrizione del programma più dettagliata, spesso su
più righe di testo.
Un file pkg-plist . Questo file contiene
l'elenco di tutti i file che saranno installati dal port.
Dice anche al sistema dei port quale file rimuovere durante la
disinstallazione.
Alcuni port hanno altri file, come
pkg-message . Il sistema dei port li usa
per affrontare speciali situazioni. Se vuoi maggiori dettagli
su questi file, e sui port in generale, leggi attentamente il
Manuale del Porter di
FreeBSD .
Ora che hai acquisito abbastanza informazioni sull'utilizzo
della collezione dei port, sei pronto per installare il tuo primo
port. Ci sono due modi per installare un port, entrambi spiegati qui
sotto.
Comunque, prima di addentrarci in questi due metodi, devi decidere
quale port installare. Ci sono vari modi per farlo, e quello più
semplice è consultare la lista dei port sul sito web di
FreeBSD . Puoi sia navigare tra i port ivi elencati sia usare
la funzione di ricerca del sito. Ogni port include anche una breve
descrizione che puoi leggere prima di decidere se installarlo o
meno.
Un altro metodo è quello di usare il comando &man.whereis.1;.
Semplicemente digita whereis
file , dove
file è il programma che vuoi
installare. Se viene trovato sul tuo sistema, ti verrà indicato
dove si trova, in modo simile a quanto segue:
&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsof
Questo ci dice che lsof (un'utility di sistema)
si trova nella directory
/usr/ports/sysutils/lsof .
Un altro modo per trovare un determinato port è quello
di usare il meccanismo di ricerca contenuto nella collezione dei port.
Per usare questo servizio di ricerca, devi posizionarti nella directory
/usr/ports . Una volta in quella directory, lancia
make search
name=nome-programma dove
nome-programma è il nome del programma
che vuoi cercare. Per esempio, se vuoi cercare
lsof :
&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Elenca informazioni sui file aperti (simile a fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps:
La parte di output sulla quale devi porre particolare attenzione
è la riga Path:
, che ti dice dove puoi trovare
il port. Le altre informazioni riportate non sono necessarie per
installare il port, e quindi non saranno trattate in questa sede.
Inoltre per una ricerca più complessa puoi usare
make search key=stringa
dove stringa fa parte del testo da cercare.
Questo ricerca nei nomi dei port, nei commenti, nelle descrizioni e
nelle dipendenze e può essere usato per cercare port che si
riferiscono ad un argomento particolare anche se non conosci il nome del
programma che stai cercando.
In entrambi i casi, la stringa di ricerca è case-insensitive.
La ricerca per LSOF
produrrà gli stessi risultati
della ricerca per lsof
.
Devi essere root per installare i
port.
Ora che hai trovato un port da installare, sei pronto per
l'installazione vera e propria. Il port include istruzioni su come
compilare il codice sorgente, ma non include il codice sorgente stesso.
Devi prendere il codice sorgente da un CDROM o da Internet. L'autore
del codice sorgente può distribuirlo come desidera. Quasi sempre
è un file di archivio tar compresso con gzip, ma potrebbe essere
stato compresso con un altro tool o perfino potrebbe essere non
compresso. Il codice sorgente del programma, in qualsiasi forma sia,
è chiamato con il termine distfile
. Puoi ottenere
questo distfile da un CDROM o da Internet.
+
+ Prima di installare qualche port, dovresti assicurarti di avere
+ l'albero della collezione dei port aggiornato e dovresti verificare
+ per eventuali problemi di
+ sicurezza relativi alla tua applicazione.
+
+ Una verifica delle vulnerabilità di sicurezza può
+ essere fatta in modo automatico con
+ portaudit prima dell'installazione di nuove
+ aplicazioni. Questo strumento può essere trovato nella
+ collezione dei port (security/portaudit ). Esegui
+ portaudit -F prima di installare un nuovo port,
+ per aggiornare la base di dati delle vulnerabilità. Durante
+ la verifica giornaliera del sistema verrà fatto un controllo
+ di integrità e un aggiornamento della base di dati delle
+ vulnerabilità. Per maggiori informazioni leggi le pagine man
+ &man.portaudit.1; e &man.periodic.8;.
+
+
Installazione dei Port dal CDROM
port
installazione da CDROM
Le immagini ufficiali su CDROM del progetto FreeBSD non
includono più i distfile. Occupano molto spazio che è
meglio utilizzato per i package precompilati. I prodotti su CDROM
come il FreeBSD PowerPak includono i distfile, e puoi ordinare questi
set da un venditore come FreeBSD Mall .
Questa sezione presuppone che tu abbia un simile set di CDROM di
FreeBSD.
Metti il tuo CDROM di FreeBSD nell'apposito lettore. Montalo
su /cdrom . (Se usi un punto di mount differente,
l'installazione non funzionerà.) Per prima cosa, vai nella
directory del port che vuoi installare:
&prompt.root; cd /usr/ports/sysutils/lsof
Una volta dentro la directory lsof ,
vedrai lo scheletro del port. Il prossimo passo riguarda la
compilazione, o costruzione
, del port. Questo viene
fatto semplicemente digitando make al prompt. Una
volta che hai fatto questo, dovresti vedere qualcosa simile a quanto
segue:
&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for lsof-4.57
...
[l'output dell'estrazione è stato tagliato]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[l'output della configurazione è stato tagliato]
...
===> Building for lsof-4.57
...
[l'output della compilazione è stato tagliato]
...
&prompt.root;
Nota che una volta terminata la compilazione ritornerai al tuo
prompt. Il prossimo passo riguarda l'installazione del
port. Per installarlo, devi semplicemente affiancare una parola al
comando make , e questa parola è
install :
&prompt.root; make install
===> Installing for lsof-4.57
...
[l'output dell'installazione è stato tagliato]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
I binari di questo port richiedono l'esecuzione con alti privilegi.
&prompt.root;
Quando ritornerai al tuo prompt, dovresti essere in grado di
eseguire l'applicazione che hai appena installato. Siccome
lsof è un programma che lavora con alti
privilegi, viene mostrato un avvertimento di sicurezza. Durante la
compilazione e l'installazione dei port, dovresti fare attenzione ad
ogni avvertimento che appare.
Potresti anche evitare un passaggio lanciando solamente
make install invece dei due passi separati
make e make install .
Alcune shell mantengono una cache dei comandi che sono
disponibili nelle directory elencate nella variabile d'ambiente
PATH , per velocizzare le operazioni di ricerca dei
file eseguibili di questi comandi. Se stai usando una di queste
shell, potresti dover usare il comando rehash
dopo l'installazione di un port, prima di poter usare il nuovo
comando. Questo succede sia per le shell che fanno parte del
sistema base (come tcsh ) sia per le shell
che sono disponibili dai port (per esempio,
shells/zsh ).
Per cortesia sii consapevole che le licenze di alcuni port non
permettono l'inclusione degli stessi sul CDROM. Questa limitazione
potrebbe essere dovuta dalla necessità di compilare un form
di registrazione prima di scaricare il software, o perché la
ridistribuzione non è permessa, o per altre ragioni. Se
desideri installare un port non incluso nel CDROM, dovrai essere
collegato ad Internet per farlo (vedi la prossima sezione).
Installazione dei Port da Internet
Questa sezione presuppone che tu abbia una connessione ad Internet
funzionante. Se non ce l'hai, dovrai utilizzare l'installazione da CDROM, oppure dovrai
copiare manualmente il distfile in
/usr/ports/distfiles .
L'installazione di un port da Internet viene fatta nello stesso
modo con cui viene fatta l'installazione da CDROM. L'unica differenza
tra i due modi è che il distfile del port viene preso da
Internet invece che dal CDROM.
I passi richiesti sono gli stessi:
&prompt.root; make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[l'output dell'estrazione è stato tagliato]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[l'output della configurazione è stato tagliato]
...
===> Building for lsof-4.57
...
[l'output della compilazione è stato tagliato]
...
===> Installing for lsof-4.57
...
[l'output dell'installazione è stato tagliato]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
I binari di questo port richiedono l'esecuzione con alti privilegi.
&prompt.root;
Come puoi vedere, la sola differenza sta nella riga che dice
da dove il sistema sta ottenendo il distfile del port.
Il sistema dei port usa &man.fetch.1; per scaricare i file,
il quale rispetta varie variabili d'ambiente, incluse
FTP_PASSIVE_MODE , FTP_PROXY ,
e FTP_PASSWORD . Puoi aver bisogno di settarne
qualcuna se sei dietro a un firewall, o se usi un proxy FTP/HTTP.
Guarda &man.fetch.3; per la lista completa.
Gli utenti che non possono essere sempre connessi ad Internet
possono usare l'opzione make
fetch . Esegui tale comando in
cima alla directory (/usr/ports ) e i file
richiesti saranno scaricati. Questo comando funziona anche nelle
categorie di livello inferiore, per esempio:
/usr/ports/net . Nota che se un port dipende
da una libreria o da altri port, quel comando non
preleverà anche i distfile di questi port. Sostituisci
fetch con
fetch-recursive se vuoi prelevare anche
tutte le dipendenze di un port.
Puoi compilare tutti i port di una categoria o perfino tutti
i port eseguendo make in cima alla directory,
in modo simile a quanto fatto per il suddetto metodo make
fetch . Comunque, questo è
rischioso poichè alcuni port non possono coesistere. Inoltre,
alcuni port potrebbero richiedere di installare due diversi file con
lo stesso nome.
In alcuni casi rari, gli utenti potrebbero voler acquisire i
tarball da un sito diverso dal MASTER_SITES
(la locazione di default dove i file sono scaricati). Puoi
sovrascrivere l'opzione MASTER_SITES con il comando
seguente:
- &prompt.root; cd /usr/ports/directory
-
- &prompt.root; make MASTER_SITE_OVERRIDE= \
- ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
+ &prompt.root; cd /usr/ports/directory
+&prompt.root; make MASTER_SITE_OVERRIDE= \
+ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
In questo esempio abbiamo settato MASTER_SITES
a ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ .
Alcuni port permettono (o perfino richiedono) l'impostazione
di alcune opzioni di compilazione che abilitano/disabilitano parti
dell'applicazione opzionali, settaggi di sicurezza, e altre
personalizzazioni. Alcune applicazioni che mi vengono in mente sono
www/mozilla , security/gpgme , e mail/sylpheed-claws . Quando sono
disponibili simili opzioni viene visualizzato un
messaggio.
Cambiare le Directory dei Port di Default
Qualche volta è utile (o necessario) utilizzare
directory per i distfile e i port diverse da quelle di default. Le
variabili PORTSDIR e PREFIX
possono sovrascrivere le directory di default. Per esempio:
&prompt.root; make PORTSDIR=/usr/home/example/ports install
compilerà il port in
/usr/home/example/ports e installerà ogni
cosa sotto /usr/local .
&prompt.root; make PREFIX=/usr/home/example/local install
compilerà in /usr/ports ed
installerà in
/usr/home/example/local .
E naturalmente,
&prompt.root; make PORTSDIR=../ports PREFIX=../local install
è una combinazione dei due (è troppo lungo da
scrivere per intero su questa pagina, ma dovrebbe darti lo stesso
un'idea generale).
Alternativamente, queste variabili potrebbero essere settate nel
tuo ambiente. Leggi la pagina man della tua shell per sapere come
fare.
Avere a che Fare con imake
- Alcuni port che usano imake (una parte del
- sistema a finestre X) non funzionano bene con
+ Alcuni port che usano imake (una parte dell'X
+ Window System) non funzionano bene con
PREFIX , e si ostinano ad installarsi sotto
/usr/X11R6 . In modo analogo, alcuni port di Perl
ignorano PREFIX e si installano nell'albero del
Perl. Far rispettare a questi port PREFIX è
spesso un lavoro difficile o persino impossibile.
Rimozione dei Port Installati
port
rimozione
Ora che sai come installare i port, probabilmente ti chiederai come
rimuoverli, caso mai ne installassi uno e successivamente ti accorgessi
che hai installato il port sbagliato. Rimuoveremo il port utilizzato
nel nostro esempio precedente (che era lsof se non
sei stato attento). Come con l'installazione dei port, la prima cosa
che devi fare è andare nella directory del port,
/usr/ports/sysutils/lsof . Dopo aver cambiato
directory, sei pronto per disinstallare lsof .
Questo viene fatto con il comando
make deinstall :
&prompt.root; cd /usr/ports/sysutils/lsof
&prompt.root; make deinstall
===> Deinstalling for lsof-4.57
È stato abbastanza facile. In questo modo hai rimosso
lsof dal tuo sistema. Se volessi reinstallarlo, puoi
farlo lanciando make reinstall dalla directory
/usr/ports/sysutils/lsof .
Le sequenze make deinstall e make
reinstall non funzionano più una volta che hai dato
un make clean . Se vuoi disinstallare un port dopo un
make clean , usa &man.pkg.delete.1; come
discusso nella sezione del Manuale
riguardante i Package.
Port e Spazio su Disco
port
spazio su disco
Usando la collezione dei port puoi facilmente esaurire lo spazio del
tuo disco. Per questa ragione dovresti sempre ricordarti di ripulire
le directory di lavoro dei port usando l'opzione make
clean . Questo rimuoverà la
directory work usata per la compilazione ed
l'installazione del port. Inoltre puoi rimuovere i file tar dalla
directory distfiles , e rimuovere i port installati
che non sono più utilizzati.
Alcuni utenti limitano le categorie dei port mettendo un elemento
nel file refuse . In questo modo, quando viene
eseguita l'applicazione CVSup , questa non
scaricherà i file delle categorie specificate nel file
refuse .
Aggiornamento dei Port
portupgrade
port
aggiornamento
+
+ Dopo che hai aggiornato la tua collezione dei port, prima di
+ tentare di aggiornare un port, dovresti verificare il file
+ /usr/ports/UPDATING . Questo file riporta alcuni
+ problemi che gli utenti potrebbero incontrare durante l'aggiornamento
+ di un port con le relative soluzioni.
+
+
Mantenere i tuoi port aggiornati può essere un lavoro noioso.
Per esempio, per aggiornare dovresti andare nella directory del port,
compilare il port, disinstallare il vecchio port, installare quello
nuovo, e quindi ripulire la directory di lavoro. Immagina di fare
tutto ciò per cinque port, noioso vero? Questo era uno dei
maggiori problemi per gli amministratori di sistema, e ora abbiamo
strumenti che fanno questo lavoro per noi. Per esempio l'utility
- sysutils/portupgrade fa tutto questo!
- Installalo come qualsiasi altro port, usando il comando
+ sysutils/portupgrade fa tutto
+ questo! Installalo come qualsiasi altro port, usando il comando
make install clean .
Ora crea un database con il comando pkgdb -F .
Verrà letta la lista dei port installati e verrà creato
un file database nella directory /var/db/pkg .
D'ora in avanti, quando esegui portupgrade -a , questo
leggerà il database e il file dei port
INDEX . Infine,
portupgrade incomincerà a scaricare,
compilare, effettuare backup, installare, e ripulire i port che devono
essere aggiornati. portupgrade è
fornito di molte opzioni a seconda dei casi di utilizzo, tra i quali
- uno è particolarmente importante:
+ uno è particolarmente importante.
Se vuoi aggiornare solo una determinata applicazione, e non il
database completo, usa portupgrade
pkgname , con l'opzione
-r se portupgrade dovrebbe
agire anche su tutti i package che dipendono dal dato package, o con
l'opzione -R per agire su tutti i package richiesti
dal dato package. Se vuoi usare i package invece dei port per
l'installazione, usa l'opzione -P e se vuoi scaricare
solo i distfile senza compilare o installare nulla, allora usa l'opzione
-F . Per maggiori informazioni guarda la pagina man di
&man.portupgrade.1;.
È importante aggiornare in modo regolare il database dei
package usando il comando pkgdb -F per rattoppare
eventuali incoerenze, specialmente quando
portupgrade te lo chiede. Non interrompere
portupgrade mentre sta aggiornando il
database dei package, poichè ciò comporterà
un database inconsistente.
Esistono altre utility che fanno simili lavori, controlla la
directory ports/sysutils e guarda se ti viene
qualche idea.
Attività del Dopo Installazione
Di solito dopo aver installato una nuova applicazione dovresti
leggere la documentazione che potrebbe essere stata inclusa, modificare
qualche file di configurazione, assicurarti che l'applicazione parta nella
fase di avvio (se è un demone), e così via;.
I passi precisi che devi seguire per configurare un'applicazione
sono ovviamente diversi da applicazione a applicazione. Comunque, se hai
appena installato una nuova applicazione e ti stai chiedendo
Cosa faccio ora?
questi consigli potrebbero
aiutarti:
Usa &man.pkg.info.1; per scoprire quali file sono stati
installati, e dove sono stati installati. Per esempio, se hai appena
installato la versione 1.0.0 di FooPackage, allora questo
comando
&prompt.root; pkg_info -L foopackage-1.0.0 | less
mostrerà tutti i file installati dal package. Fai molta
attenzione ai file nelle directory man/ , che
sono le pagine man, a quelli nella directory
etc/ , che sono i file di configurazione, e a
quelli in doc/ , che forniscono una documentazione
più esauriente.
Se non sei sicuro della versione dell'applicazione che hai appena
installato, questo comando
&prompt.root; pkg_info | grep foopackage
troverà tutti i package installati che contengono nel nome
foopackage . Rimpiazza
foopackage nella tua riga di comando a
seconda delle tue necessità.
Una volta che hai scoperto dove sono state posizionate le pagine
man dell'applicazione, esaminale usando &man.man.1;. Analogamente,
esamina i file di configurazione d'esempio, ed ogni ulteriore
documentazione che può essere stata fornita.
Se l'applicazione ha un sito web, cerca della documentazione
aggiuntiva, le domande più frequenti (FAQ), ed altro ancora.
Se non sei sicuro dell'indirizzo del sito web questo potrebbe essere
presente nell'output di
&prompt.root; pkg_info foopackage-1.0.0
Una riga contenete WWW: , se presente, dovrebbe
fornire l'URL del sito dell'applicazione.
I port che dovrebbero avviarsi in fase di avvio (come i server
Internet) di solito installano uno script di esempio in
/usr/local/etc/rc.d . Dovresti verificare questo
script ed eventualmente modificarlo o rinominarlo. Vedi la sezione
Avvio dei
Servizi per maggiori informazioni.
Avere a che Fare con Port non Funzionanti
Se ti dovessi imbattere in un port che per te non funziona, ci
sono alcune cose che puoi fare, tra le quali:
Aggiustarlo! Il Manuale del Porter
contiene informazioni dettagliate sull'infrastruttura dei
Ports
affinchè tu possa aggiustare quel port che
occasionalmente non funziona o perfino proporne uno tutto tuo!
Brontolare—solo attraverso email !
Prima manda una email a colui che mantiene il port.
Digita make maintainer o leggi il
Makefile per trovare il suo indirizzo email.
Ricorda di includere nel messaggio il nome e la versione del port
(manda la riga $FreeBSD: del
Makefile ) e l'output che descrive
l'errore. Se non ottieni risposta dal maintainer, puoi usare
&man.send-pr.1; per inoltrare il report del bug.
Prendi il package da un sito FTP vicino a te. La
principale
collezione dei package è su ftp.FreeBSD.org nella directory
dei package , ma prima assicurati di
controllare il tuo mirror locale! È più probabile
che funzionino i package rispetto alla compilazione dal sorgente e
sono anche molto più sbrigativi. Usa il programma
&man.pkg.add.1; per installare i package sul tuo sistema.
diff --git a/it_IT.ISO8859-15/books/handbook/security/chapter.sgml b/it_IT.ISO8859-15/books/handbook/security/chapter.sgml
index 313fed58f9..fe564e90d7 100644
--- a/it_IT.ISO8859-15/books/handbook/security/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/security/chapter.sgml
@@ -1,158 +1,323 @@
Sicurezza
Sinossi
Questo capitolo dà una introduzione di base sui concetti dei
sistemi di sicurezza, alcune buone regole di comportamento e alcuni
argomenti avanzati per &os;. Molti degli argomenti qua tratati possono
essere applicati anche ai sistemi e alla sicurezza su Internet in
generale. Internet non è più il luogo
amichevole
dove ognuno vuole essere il tuo amichevole
vicino. Mettere in sicurezza il tuo ssitema è un imperativo per la
protezione dei tuoi dati, della tua proprietà intelletuale, il tuo
tempo e molto altro dalla mano di hackere simili.
&os; dà un insieme di utility e di meccanismi per assicurare
l'integrità e la sicurezza del tuo sistema e della tua rete.
Dopo la lettura di questo capitolo, conoscerai:
Concetti di base dei sistemi di sicurezza, rispetto a &os;.
Vari meccanismi di crittografia disponibili in &os;,
come DES e MD5 .
Come configurare l'autenticazione OTP (password a singolo
uso).
Come configurare KerberosIV su release
&os; precedenti alla 5.0.
Come configurare Kerberos5 su &os; 5.0
o successive.
Come creare firewall usando IPFW .
Come configurare IPsec e creare una VPN tra
macchine &os;/&windows;.
Come configurare e usare OpenSSH ,
l'implementaizone SSH usata da &os;.
Come configurare e caricare i moduli aggiuntivi per il controllo
degli accessi usando il Framework MAC di
TrustedBSD.
Cosa sono le ACL del file system e come
usarle.
-
+
Come utilizzare le pubblicazioni sugli avvisi di sicurezza di
- &os;.
+ &os;.
Prima di leggere questo capitolo dovresti:
Capire concetti base di &os; e Internet.
- Introduction
+ Introduzione
+
+ La sicurezza è una funzione che inizia e finisce con
+ l'amministratore di sistema. Nonostante ogni sistema multi-utente &unix;
+ BSD abbia della sicurezza insita, il lavoro di costruire e mantenere
+ meccanismi di sicurezza aggiuntivi in modo da mantenere
+ onesti
gli utenti è probabilmente uno dei maggiori
+ lavori di un amministratore di sistema. La macchine sono sicure solo
+ quanto le si rende e le richieste di sicurezza si scontrano sempre con
+ l'umana necessità per la comodità. I sistemi &unix;, in
+ generale, sono capaci di eseguire un gran numero di processi contemporanei
+ e ognuno di questi processi opera come server – nel senso che
+ entità esterne possono connettersi e parlarci. Mentre i mini e i
+ mainframe di ieri diventano i desktop di oggi, mentre i computer diventano
+ interconnessi e internet-connessim, la sicurezza diventa un problema
+ sempre maggiore.
+
+ Il modo migliore per implementare la sicurezza è con un
+ approccio a cipolla
. In pratica, quello che vuoi fare
+ è creare tanti livelli di sicurezza quanto è conveniente e
+ poi tenere sotto controllo il sistema per vedere eventuali intrusioni.
+ Non vuoi esagerare nella sicurezza o interferirai con l'individuazione e
+ quest'ultima è una delle parti più importanti di ogni
+ meccanismo di sicurezza. Per esempio, ha poco senso imopstare il flag
+ schg (vedi &man.chflags.1;) su ogni binario di sistema
+ dato che questo potrà sì proteggere temporaneamente i
+ binari, ma evita che l'attaccante faccia una modifica facilmente
+ individuabile e potrebbe far in modo che il tuo meccanismo di sicurezza
+ non individui l'attaccante del tutto.
+
+ La sicurezza di un sistema riguarda anche il gestire varie forme di
+ attacco, compresi attacchi che tentano di bloccare, o comunque rendere
+ inusabile, il sistema, anche se non necessariamente cercano di
+ compromettere l'account di root root (rompere
+ root
). I problemi di sicurezza possono essere suddivisi in
+ svariate categorie:
+
+
+
+ Attacchi che limitano la disponibilità dei servizi
+ (Denial of service
o, in breve, DoS).
+
- Traduzione in corso
+
+ Compromissione degli account utente.
+
+
+
+ Compromissione di root tramite server accessibili.
+
+
+
+ Compromissione di root tramite gli account utente.
+
+
+
+ Crazione di backdoor (letteralmente porte sul
+ retro
, ovvero accessi secondari personalizzati).
+
+
+
+
+ attacchi DoS
+ Denial of Service (DoS)
+
+
+ sicurezza
+ attacchi DoS
+ Denial of Service (DoS)
+
+ Denial of Service (DoS)
+
+ Un attacco DoS è un'azione che priva la macchina di risorse.
+ Tipicamente un attacco DoS è un meccanismo a forza-bruta che tenta
+ di bloccare e comunque rendere inusabile una macchina travolgendo di
+ richieste i server che rende disponibili o direttamente lo stack di rete.
+ Alcuni attacchi DoS tentano di trarre vantaggio da bug nello stack di rete
+ per bloccare la macchina con un singolo pacchetto. Questo genere di
+ attacchi può evitato solo mettendo a posto il bug direttamente nel
+ kernel. Gli attacchi sui server possono spesso essere evitati
+ specificando con attenzione dei limiti sul carico che i server stessi
+ devono accettare in caso che il sistema lavori in condizioni avverse.
+ Gli attacchi a forza-bruta generati da un'intera rete di attaccanti sono
+ più difficili da gestire. Ad esempio un attacco con pacchetti
+ in spoof (ovvero con il campo mittente falsato) è praticamente
+ impossibile da fermare, a meno di staccare del tutto il sistema da
+ Internet. Potrà anche non fermare la tua macchina, ma sicuramente
+ può saturare la tua connessione Internet.
+
+
+ sicurezza
+ compromissione degli account
+
+
+ La compromissione di un account utente è ancora più comune di un
+ attacco DoS. Molti sysadmin usano ancora i server standard telnetd , rlogind ,
+ rshd e ftpd sulle loro macchine. Questi programmi, normalmente, non usano connessioni crittate. Il risultato è che quando hai una base utenti di medie dimensioni, uno o più degli utenti connessi al tuo sistema da remoto (il modo più comune e conveniente per collegarsi a un sisetma) avrà una password compromessa da un'operaizone di sniffing. Gli amministratori di sistema attenti controllano i registri degli accessi remoto cercando indirizzi sospetti anche tra gli accessi permessi.
+
+ Bisogna sempre dare per scontato che una volta che un attaccante ha
+ accesso ad un account utente, può rompere anche root .
+ In realtà, comunque, in un sistema ben configurato e mantenuto, questo non è necessariamente vero. La distinzione è importante perché senza accesso a root l'attaccante ni genere non può nascondere le proprie tracce e può, alla peggio, rovinare i files dell'utente o mandaer la macchina in crash. La compromissione degli account utente è molto comune dato che gli utenti tendono a non prendere precauzioni tanto quanto i sysadmin.
+
+
+ sicurezza
+ backdoor
+
+
+ Gli amministratori di sistema devono ricordare che su una macchina ci
+ sono potenzialmente molti modi per rompere root .
+ L'attaccante potrebbe conoscere la password di root , potrebbe trovare un bug in un programma server in esecuzione con diritti di root e sfruttarlo per entrare da remoto, oppure una volta ottenuto un account utente potrebbe fare lo stesso con un bug in un programma con suid root .
+ If an attacker has found a way to break root
+ on a machine, the attacker may not have a need
+ to install a backdoor. Many of the root holes
+ found and closed to date involve a considerable amount of work
+ by the attacker to cleanup after himself, so most attackers install
+ backdoors. A backdoor provides the attacker with a way to easily
+ regain root access to the system, but it
+ also gives the smart system administrator a convenient way
+ to detect the intrusion.
+ Making it impossible for an attacker to install a backdoor may
+ actually be detrimental to your security, because it will not
+ close off the hole the attacker found to break in the first
+ place.
+
+
+ Security remedies should always be implemented with a
+ multi-layered onion peel
approach and can be
+ categorized as follows:
+
+
+
+ Securing root and staff accounts.
+
+
+
+ Securing root – root-run servers
+ and suid/sgid binaries.
+
+
+
+ Securing user accounts.
+
+
+
+ Securing the password file.
+
+
+
+ Securing the kernel core, raw devices, and
+ filesystems.
+
+
+
+ Quick detection of inappropriate changes made to the
+ system.
+
+
+
+ Paranoia.
+
+
+
+ The next section of this chapter will cover the above bullet
+ items in greater depth.
Securing &os;
Traduzione in corso
DES, MD5, and Crypt
Traduzione in corso
S/Key
Traduzione in corso
Kerberos
Traduzione in corso
Firewalls
Traduzione in corso
OpenSSL
Traduzione in corso
IPsec
Traduzione in corso
OpenSSH
- Traduzione in corso
+
+ SSH Tunneling
+
+ Traduzione in corso
+
diff --git a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml
index 14596aa8e0..7ba60d977b 100644
--- a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml
@@ -1,1140 +1,1468 @@
Il Gestore di Volumi Vinum
Sinossi
Qualunque siano i dischi che hai, ci saranno sempre delle
limitazioni:
Potrebbero essere troppo piccoli.
Potrebbero essere troppo lenti.
Potrebbero essere troppo inaffidabili.
Greg
Lehey
Originariamente scritto da
Dischi Troppo Piccoli
Vinum
RAID
Software
Vinum è un Volume
Manager , ovvero un driver virtuale di disco che si occupa dei
tre problemi indicati nella sinossi. Diamo un'occhiata in dettaglio a
questi problemi, per cui sono state proposte e implementate varie
soluzioni.
I dischi stanno diventando sempre più grandi, ma questo
è vero anche le necessità di spazio per i dati. Spesso
sentirai il bisogno di avere un file system più grande dei dischi
che possiedi. Effettivamente questo problema non è così
grave come lo era dieci anni fa, ma è sempre presente. Alcuni
sistemi risolvono la questione creando un dispositivo astratto che
ripartisce i suoi dati su vari dischi.
Colli di Bottiglia nell'Accesso
I moderni sistemi hanno frequentemente la necessità di
accedere ai dati in modo concorrente. Ad esempio, un grande server FTP o
HTTP può avere migliaia di sessioni concorrenti e molteplici
connessioni da 100 Mbit/s verso il mondo esterno, ben oltre il
transfer rate (velocità di trasferimento) che la maggior parte dei
dischi può sostenere.
I dischi odierni possono trasferire sequenzialmente dati fino a
70 MB/s, ma questo valore ha poca importanza in un ambiente dove
molti processi indipendenti accedono al disco, in quanto raggiungerebbero
solo una frazione di quella velocità. In questi casi è
più interessante vedere il problema dal punto di vista del
sottosistema dischi: il parametro importante è il carico che il
trasferimento pone sul sottosistema, in altre parole il tempo per cui il
trasferimento occupa i dischi necessari per lo stesso.
In ogni trasferimento da disco il drive deve prima posizionare le
testine, poi aspettare che il primo settore passi sotto la testina di
lettura e solo dopo può effettuare il trasferimento. Queste azioni
possono essere considerate atomiche: non ha alcun senso
interromperle.
Considera un tipico trasferimento di circa
10 kB: l'attuale generazione di dischi ad alte prestazioni può
posizionare le testine in circa 3,5 ms. I dischi più veloci
ruotano a 15.000 rpm, quindi la latenza media rotazionale (mezzo
giro) è di 2 ms. A 70 MB/s, il trasferimento in
sé occupa circa 150 μs, quasi nulla in confronto al tempo
di posizionamento. In questo caso il transfer rate effettivo può
scendere fino a poco oltre 1 MB/s e questo è charamente molto
dipendente dalla dimensione del trasferimento.
La tradizionale e ovvia soluzione a questo collo di bottiglia è
più assi
: invece di usare un grande disco si usano
molti piccoli dischi con la stessa dimensione totale. Ogni disco è
capace di posizionarsi e trasferire dati indipendentemente quindi la
velocità effettiva aumenta di un fattore vicino al numero di dischi
usati.
L'esatto fattore di miglioramento è, ovviamente, più
piccolo del numero di dischi: benché ogni disco sia capace di
trasferire in parallelo non c'è modo di assicurare che le richieste
siano distribuite uniformemente tra tutti i dischi. Inevitabilmente il
carico su uno dei dischi è più alto che sugli altri.
concatenazione dei dischi
Vinum
concatenazione
L'uniformità della distribuzione del carico sui dischi è
fortemente dipendente dal modo in cui i dati sono condivisi tra i dischi
stessi. Nella seguente discussione è conveniente pensare allo
spazio di immagazzinamento come se fosse diviso in un gran numero di
settori identificati da un indirizzo numerico, come pagine in un libro.
Il metodo più ovvio è di dividere il disco virtuale in
gruppi di settori consecutivi della dimensione dei dischi fisici e
immagazzinarli in questa maniera, come strappare un grosso libro in
piccole sezioni. Questo metodo è chiamato
concatenazione e ha il vantaggio di non avere
particolari richieste sulla dimensione degli specifici dischi.
Funziona bene quando l'accesso al
disco virtuale è ben ripartito tra tutto il suo spazio di
indirizzamento. Quando l'accesso è concentrato in una piccola area
il miglioramento è meno marcato. La
illustra la sequenza in cui le unità di immagazzinamento sono
allocate nell'organizzazione concatenata.
Organizzazione Concatenata
striping dei dischi
Vinum
striping
RAID
livello 0
RAID-0
Un metodo alternativo è dividere lo spazio in più
piccole componenti di egual dimensione e immagazzinarle sequenzialente su
differenti dispositivi. Per esempio i primi 256 settori potrebbero essere
immagazzinati sul primo disco, i seguenti 256 settori sul disco seguente e
così via. Dopo aver immagazzinato i dati sull'ultimo disco il
processo si ripete finché i dischi non sono pieni. Questo
mappamento è chiamato striping (letteralmente
"a bande") o RAID-0
RAID
RAID significa Redundant Array of
Inexpensive Disks (insieme ridondante di dischi non
costosi) e offre varie forme di tolleranza ai problemi. Nel caso del
RAID-0 il termine è leggermente fuorviante:
in effetti non dà alcuna ridondanza.
.
Lo striping richiede qualche sforzo aggiuntivo per localizzare i dati e
può causare carico di I/O aggiuntivo quando il trasferimento
è distribuito tra vari dischi, ma aiuta il carico a essere ben
distribuito tra i vari dischi. La illustra
la sequenza in cui i blocchi di dati sono allocati nell'organizzazione in
striping.
Organizzazione in Striping
Integrità dei Dati
L'ultimo problema dei dischi attuali è che sono inaffidabili.
Benché la loro affidabilità sia aumentata tremendamente
durante gli ultimi anni sono tuttora il componente di un server che ha
la maggior probabilità di rompersi. Quando succede i risultati
possono essere catastrofici: rimpiazzare un disco rotto e riempirlo dei
dati originari può richiedere giorni.
mirroring dei dischi
Vinum
mirroring
RAID
livello 1
RAID-1
Il metodo tradizionale per affrontare questo problema si chiama
mirroring (letteralmente "specchiatura") e consiste
nel tenere due copie dei dati su hardware fisici differenti. Con
l'avvento dei livelli RAID questa tecnica è
stata chiamata RAID di livello 1 o
RAID-1 . Ogni scrittura su disco scrive in entrambe le
locazioni; una lettura può essere soddisfatta da entrambi quindi se
un disco si rompe i dati sono sempre disponibili sull'altro disco.
Il mirroring ha due problemi:
Il prezzo. Richiede il doppio dello spazio di
immagazzinamento delle soluzioni non ridondanti.
L'impatto sulle prestazioni. La scrittura deve essere
compiuta su entrambi i dischi quindi la banda occupata raddoppia.
Le letture non soffrono di problemi sulle prestazioni: possono
perfino essere più veloci.
Vinum
striping con parità
RAID
livello 5
RAID-5
Una soluzione alternativa è la
parità , implementata nel
RAID di livello 2, 3, 4 e 5. Di questi, il
RAID-5 è il più interessante. La sua
implementazione in Vinum è una variante dell'organizzazione in
striping che dedica un blocco di ogni banda alla parità degli
altri blocchi. Per come è implementato in Vinum, ogni blocco
RAID-5 è simile a un blocco in striping, con
la differenza che implementa il RAID-5 includendo un
blocco di parità per ogni banda. Come richiesto dal
RAID-5 la locazione di questi blocchi di parità
cambia da ogni banda alla successiva. I numeri nei blocchi dati indicano
il numero dei blocchi relativi.
Organizzazione RAID-5
Comparandolo al mirroring, il RAID-5 ha il
vantaggio di richiedere molto meno spazio di immagazzinamento. La
velocità di lettura è simile all'organizzazione in
striping, ma in scrittura l'accesso è significativamente più
lento, circa il 25% della performance di lettura. Se uno dei dischi si
rompe l'aggregato continua a lavorare con performance peggiorate: la
lettura da uno dei dischi rimanenti continua normalmente, ma la lettura
dal disco rotto è ricalcolata dai corrispondenti blocchi dei
dischi rimanenti.
Oggetti Vinum
Per risolvere questi problemi Vinum implementa una categoria di
oggetti a quattro livelli:
L'oggetto più visibile è il disco virtuale,
chiamato volume . I volumi hanno essenzialmente
le stesse proprietà di un disco &unix;, benché ci
sia qualche differenza minore. Non hanno limiti di dimensione.
I volumi sono composti da plex , ognuno dei
quali rappresenta il completo spazio di indirizzamento del volume.
È quindi questo il livello della gerarchia che gestisce la
ridondanza dei dati. Pensa ai plex come a singoli dischi collegati
tra loro in mirroring, ognuno contenete gli stessi dati.
Dato che Vinum vive all'interno del framework &unix; di
immagazzinamento dei dati sarebbe possibile utilizzare le partizioni
&unix; come blocchi basilari per costruire i plex multidisco, ma
questo approccio sarebbe in effetti troppo poco flessibile: i dischi
&unix; possono avere solo un limitato numero di partizioni; al
contrario Vinum suddivide le singole partizioni &unix;
(drive , ovvero dischi) in aree contigue chiamate
subdisks (sottodischi), che solo a loro volta
utilizzati come elementi per costruire i plex.
I sottodischi risiedono su drive Vinum, che
attualmente sono partizioni &unix;. I drive Vinum possono
contenere qualsiasi quantità di sottodischi. Con l'eccezione
di una piccola area all'inizio del drive, che è usata per
immagazzinare informazioni sulla configurazione e sullo stato,
l'intero drive è disponibile per l'ìimmagazzinamento
dei dati.
La sezione seguente descrive come gli oggetti sopra discussi possano
dare le funzionalità richieste.
Considerazioni sulle Dimensioni dei Volumi
I plex possono contenere molteplici sottodischi distribuiti tra
tutti i drive presenti nella configurazione di Vinum, questo permette
alla dimensione dei plex, e quindi anche dei volumi, di non essere
limitata dalla dimensione dei singoli dischi.
Immagazzinamento Ridondante dei Dati
Vinum implementa il mirroring collegando più plex allo stesso
volume, ogni plex contiene la rappresentazione di tutti i dati del
volume. Un volume può contenere da uno ad otto plex.
Nonostante un plex rappresenti i dati di un volume per intero,
è possibile che parti di questa rappresentazione vengano a
mancare o per scelta (non definendo dei sottodischi per alcune parti del
plex) o per accidente (come risultato della rottura del disco che le
conteneva). Finché almeno un plex contiene i dati di tutto lo
spazio d'indirizzamento del volume, il volume stesso è
completamente funzionale.
Considerazioni sulle Prestazioni
Vinum implementa sia la concatenazione che lo striping al livello di
plex:
Un plex concatenato usea lo spazio di
indirizzamento di ogni sottodisco a turno.
Un plex in striping suddivide i dati tra
ogni sottodisco. I sottodischi devono tutti avere la stessa
dimensione e devono essere presenti almeno due sottodischi
perché esista differenza da un plex concatenato.
Quale Organizzazione per i Plex?
La versione di Vinum distribuita con FreeBSD &rel.current;
implementa due tipi di plex:
I plex concatenati, che sono i più flessibili: possono
contenere qualsiasi numero di sottodischi e questi possono avere
qualsiasi dimensione. Il plex può essere esteso aggiungendo
sottodischi. Richiede meno tempo di CPU di un
plex in striping, benché la differenza in carico di
CPU non sia misurabile. D'altro canto sono
più suscettibili agli hot spot (letteralmente zona
calda
): casi in cui un disco è molto attivo mentre
gli altri sono fermi.
Il più grande vantaggio dei plex in striping
(RAID-0 ) è la loro capacità di
ridurre gli hot spot: scegliendo una dimensione di striping ottimale
(circa 256 kB) si può ridistribuire il carico sui drive.
Gli svantaggi di questo approccio sono codice più complesso e
restrizioni sui sottodischi: devono essere tutti della stessa
dimensione, inoltre estendere il plex aggiungendo sottodischi
è così complicato che attualmente Vinum non lo
implementa. Vinum aggiunge anche un'ulteriore restrizione
elementare: un plex in striping deve contenere almeno due
sottodischi, dato che sarebbe altrimenti indistinguibile da un plex
concatenato.
La riassume vantaggi e svantaggi
di ogni tipo di organizzazione dei plex.
Organizzazione dei Plex Vinum
Tipo di plex
Sottodischi minimi
Sottodischi aggiungibili
Dimensioni forzatamente uguali
Applicazione
concatenato
1
sì
no
Immagazzinamento di grandi moli di dati con la massima
flessibilità e prestazioni moderate
striping
2
no
sì
Alte prestazioni in casi di accessi altamente
concorrenti
Alcuni Esempi
Vinum mantiene un database della configurazione
che descrive gli oggetti del sistema conosciuti. Inizialmente l'utente
crea il database della configurazione da uno o più file di
configurazione, con l'aiuto del programma &man.vinum.8;. Vinum
immagazzina una copia del database di configurazione in ogni slice del
disco (che Vinum chiama device , ovvero
dispositivo
) sotto il suo controllo.
Questo database è aggiornato a ogni cambi
di stato in modo che un riavvio possa recuperare accuratamente lo stato di
ogni oggetto Vinum.
Il File di Configurazione
Il file di configurazione descrive singoli oggetti Vinum. La
definizione di un semplice volume potrebbe essere:
drive a device /dev/da3h
volume myvol
plex org concat
sd length 512m drive a
Questo file descrive quattro oggetti Vinum:
La linea drive descrive la partizione del
disco (drive ) e la sua locazione relativa
all'hardware sottostante. Gli viene assegnato il nome simbolico
a . Questa separazione dei nomi simbolici dai
nomi di dispositivo permette di muovere i dischi da una locazione ad
un'altra senza confusione.
La linea volume descrive un volume.
L'unico attributo richiesto è il nome, in questo caso
myvol .
La linea plex definisce un plex.
L'unico parametro richiesto è il tipo di organizzazione, in
questo caso concat . Non è necessario
un nome: il sistema genera un nome automaticamente a partire dal
nome del volume, aggiungendo un suffisso
.p x , dove
x indica il numero del plex nel volume. Il
plex verrà quindi chiamato
myvol.p0 .
La linea sd descrive un sottodisco.
Le spefiche minime sono il nome del drive su cui immagazzinarlo e
la lunghezza del sottodisco. Come per i plex non è
necessario un nome: il sistema assegna automaticamente nomi
derivati dal nome del plex, agigungendo il suffisso
.s x , dove
x indica il numero del sottdisco nel plex,
quindi Vinum darà a questo sottodisco il nome di
myvol.p0.s0 .
Dopo aver elaborato questo file, &man.vinum.8; produce il seguente
output:
&prompt.root; vinum -> create config1
Configuration summary
Drives: 1 (4 configured)
Volumes: 1 (4 configured)
Plexes: 1 (8 configured)
Subdisks: 1 (16 configured)
D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
Questo output mostra il formato di elenco breve di &man.vinum.8;,
che è rappresentato graficamente nella
.
Un Semplice Volume Vinum
Questa figura e quelle che seguono rappresentano un volume
contenente dei plex che a loro volta contengono dei sottodischi.
In questo semplice esempio il volume contiene un plex e il plex
contiene un sottodisco.
Questo particolare volume non ha specifici vantaggi su una
convenzionale partizione di disco. Contiene un singolo plex, quindi non
è ridondante. Il plex contiene un solo sottodisco, quindi non
c'è differenza nell'immagazzinamento dei dati. Le sezioni
seguenti mostrano vari metodi di configurazione più
interessanti.
Aumentare la Resistenza alle Rotture: il Mirroring
Il mirroring può aumentare, in un volume, la resistenza alle
rotture. Quando si definisce un volume in mirroring è importante
assicurarsi che i sottodischi di ogni plex siano su dischi differenti,
in modo che la rottura di un drive non blocchi entrambi i plex. La
seguente configurazione mostra un volume in mirroring:
drive b device /dev/da4h
volume mirror
plex org concat
sd length 512m drive a
plex org concat
sd length 512m drive b
In questo esempio non è necessario specificare nuovamente la
definizione del drivea , dato che Vinum mantiene
traccia di tutti gli oggetti nel suo database di configurazione. Dopo
aver elaborato questa definizione, la configurazione appare
così:
Drives: 2 (4 configured)
Volumes: 2 (4 configured)
Plexes: 3 (8 configured)
Subdisks: 3 (16 configured)
D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)
D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
mostra la struttura
graficamente.
Un Volume Vinum in Mirroring
In questo esempio ogni plex contiene l'intero spazio di
indirizzamento di 512 MB. Come nel precedente esempio ogni plex
contiene un solo sottodisco.
Ottimizzazione delle Prestazioni
Il volume in mirroring dell'esempio precedente è più
resistente alle rotture di un volume non in mirroring, ma le sue
prestazioni sono inferiori: ogni scrittura sul volume richiede una
scrittura su ognuno dei drive, utilizzando quindi una maggior frazione
della banda passante totale dei dischi. Considerazioni sulle
prestazioni portano ad un differente approccio: al posto del mirroring,
i dati vengono posti su più dischi possibile utilizzando lo
striping. La seguente configruazione mostra un volume con un plex in
striping su quattro dischi:
drive c device /dev/da5h
drive d device /dev/da6h
volume stripe
plex org striped 512k
sd length 128m drive a
sd length 128m drive b
sd length 128m drive c
sd length 128m drive d
Come prima non è necessario definire i drive che Vinum
già conosce. Dopo aver elaborato queste definizioni la
configurazione appare così:
Drives: 4 (4 configured)
Volumes: 3 (4 configured)
Plexes: 4 (8 configured)
Subdisks: 7 (16 configured)
D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)
D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)
D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)
D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
V striped State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
P striped.p1 State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
S striped.p0.s0 State: up PO: 0 B Size: 128 MB
S striped.p0.s1 State: up PO: 512 kB Size: 128 MB
S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB
S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB
Un Volume Vinum in Striping
Questo volume è rappresentato nella
. L'intensità delle strisce
indica la posizione all'interno dello spazio di inidirizzamento del
plex: le più chiare all'inizio, le più scure alla
fine.
Resistenza alle Rotture e Prestazioni
Con hardware a sufficenza è
possibile creare volumi con miglioramenti sia nella resistenza alle
rotture che nelle prestazioni, comparati alle normali partizioni
&unix;. Una tipica configurazione potrebbe essere:
volume raid10
plex org striped 512k
sd length 102480k drive a
sd length 102480k drive b
sd length 102480k drive c
sd length 102480k drive d
sd length 102480k drive e
plex org striped 512k
sd length 102480k drive c
sd length 102480k drive d
sd length 102480k drive e
sd length 102480k drive a
sd length 102480k drive b
I sottodischi del secondo plex sono spostati di due posti rispetto a
quelli del primo plex: questo aumenta le probabilità che le
scritture non utilizzino lo stesso sottodisco anche in caso che un
trasferimento utilizzi entrambi i drive.
La rappresenta la struttura di
questo volume.
Un Volume Vinum in Mirroring e Striping
Nomenclatura degli Oggetti
Come descritto sopra, Vinum assegna nomi di default a plex e
sottodischi, benché questi possano essere cambiati. Cambiare il
nome di default non è raccomandato: l'esperienza con il VERITAS
volume manager, che permette la nomenclatura arbitraria degli oggetti, ha
mostrato che questa flessibilità non porta vantaggi significativi e
può causare confusione.
I nomi possono contenere ogni carattere non blank (i caratteri di
spazio, tabulazione, cambio riga) ma è consigliato limitarsi a
lettere, cifre e il carattere di underscore (il carattere di
sottolineatura). I nomi di volumi, plex e sottodischi possono essere
lunghi fino a 64 caratteri, i nomi di drive invece hanno un massimo di 32
caratteri.
/dev/vinum
I nomi assegnati agli oggetti Vinum sono nella gerarchia
/dev/vinum .
La configurazione di Vinum mostrata sopra creerebbe i seguenti
dispositivi:
I dispositivi di controllo
/dev/vinum/control e
/dev/vinum/controld , utilizzati
rispettivamente da &man.vinum.8; e dal demone Vinum.
Voci di dispositivi a blocchi e a caratteri per ogni volume.
Questi sono i principali dispositivi utilizzati da Vinum. I
dispositivi a blocchi hanno il nome dei relativi volumi, quelli a
caratteri, seguendo la tradizione BSD, hanno una lettera
r all'inizio del nome. Quindi la configurazione
vista sopra genererebbe i dispositivi a blocchi
/dev/vinum/myvol ,
/dev/vinum/mirror ,
/dev/vinum/striped ,
/dev/vinum/raid5 e
/dev/vinum/raid10 , e i dispositivi a
caratteri /dev/vinum/rmyvol ,
/dev/vinum/rmirror ,
/dev/vinum/rstriped ,
/dev/vinum/rraid5 e
/dev/vinum/rraid10 .
In questo c'è un ovvio problema: è possibile avere due
volumi chiamati r e rr che
avrebbero un conflitto nel creare il nodo
/dev/vinum/rr : sarebbe il dispositivo a
caratteri per il volume r o il dispositivo a
blocchi per il volume rr ? Attualmente Vinum non
si interessa di questo conflitto: il volume definito per primo prende
il nome.
Una directory /dev/vinum/drive con voci
per ogni disco. Queste voci sono in effetti dei collegamenti simbolici
ai rispettivi nodi di disco.
Una directory /dev/vinum/volume con voci per
ogni volume. Contiene sottodirectory per ogni plex, che a loro volta
contengono sottodirectory per ogni sottodisco.
Le directory /dev/vinum/plex ,
/dev/vinum/sd e
/dev/vinum/rsd contengono i dispositivi a
blocchi per ogni plex, dispositivo a blocchi e dispositivo a caratteri
per ogni sottodisco rispettivamente.
Ad esempio, considera il seguente file di configurazione:
drive drive1 device /dev/sd1h
drive drive2 device /dev/sd2h
drive drive3 device /dev/sd3h
drive drive4 device /dev/sd4h
volume s64 setupstate
plex org striped 64k
sd length 100m drive drive1
sd length 100m drive drive2
sd length 100m drive drive3
sd length 100m drive drive4
Dopo aver elaborato questo file, &man.vinum.8; crea la seguente
struttura in /dev/vinum :
brwx------ 1 root wheel 25, 0x40000001 Apr 13 16:46 Control
brwx------ 1 root wheel 25, 0x40000002 Apr 13 16:46 control
brwx------ 1 root wheel 25, 0x40000000 Apr 13 16:46 controld
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 drive
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex
crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 rs64
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rsd
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rvol
brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd
drwxr-xr-x 3 root wheel 512 Apr 13 16:46 vol
/dev/vinum/drive:
total 0
lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive1 -> /dev/sd1h
lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive2 -> /dev/sd2h
lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive3 -> /dev/sd3h
lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive4 -> /dev/sd4h
/dev/vinum/plex:
total 0
brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0
/dev/vinum/rsd:
total 0
crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0
crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1
crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2
crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3
/dev/vinum/rvol:
total 0
crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64
/dev/vinum/sd:
total 0
brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0
brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1
brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2
brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3
/dev/vinum/vol:
total 1
brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64
drwxr-xr-x 3 root wheel 512 Apr 13 16:46 s64.plex
/dev/vinum/vol/s64.plex:
total 1
brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 s64.p0.sd
/dev/vinum/vol/s64.plex/s64.p0.sd:
total 0
brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0
brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1
brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2
brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3
Benché sia raccomandato non allocare nomi specifici a plex e
sottodischi, i drive di Vinum devono avere un nome. Questo permette di
spostare un disco in una differente locazione e continuare a riconoscerlo
automaticamente. I nomi di drive possono essere lunghi fino a 32
caratteri.
Creare i File System
I volumi appaiono al sistema identici ai dischi, con un'eccezione.
Differentemente dai dischi &unix;, Vinum non partiziona i volumi,
che quindi non contengono una tabella delle partizioni. Questo ha reso
necessario modificare alcuni programmi di utilità del disco, tra
cui &man.newfs.8;, che prcedentemente cercava di interpretare l'ultima
lettera di un volume Vinum come un identificatore di partizione.
Ad esempio un disco potrebbe avere un nome come
/dev/ad0a o /dev/da2h .
Questi nomi rappresentano la prima partizione
(a ) del primo (0) disco IDE
(ad ) e l'ottava partizione
(h ) del terzo (2) disco SCSI
(da ), rispettivamente. Al contrario un volume
Vinum potrebbe essere chiamato
/dev/vinum/concat , un nome che non ha alcuna
relazione con nomi di partizione.
Normalmente &man.newfs.8; interpreta il nome del disco e si lamenta
se non riesce a comprenderlo. Per esempio:
&prompt.root; newfs /dev/vinum/concat
newfs: /dev/vinum/concat: can't figure out file system partition
Queste informazioni sono valide solo per versioni di FreeBSD
precedenti alla 5.0:
Per poter creare un file system su questo volume usa &man.newfs.8;
con l'opzione -v :
&prompt.root; newfs -v /dev/vinum/concat
Configurare Vinum
Il kernel GENERIC non contiene Vinum.
È possibile creare un kernel speciale che lo contenga, ma questo
non è raccomandato: il metodo standard per lanciare Vinum è
come modulo del kernel (kld ). Non è neanche
necessario usare &man.kldload.8; per Vinum: quando lanci &man.vinum.8; il
programma controlla se il modulo è stato caricato e, in caso non
sia caricato, lo carica automaticamente.
Avvio
Vinum immagazzina le informazioni sulla configurazione dei dischi
essenzialmente nella stessa forma dei file di configurazione. Quando
legge il database di configurazione Vinum riconosce un numero di
parole chiave che non sono permesse nei file di configurazione, ad
esempio un file di configurazione del disco potrebbe contenere il
seguente testo:
volume myvol state up
volume bigraid state down
plex name myvol.p0 state up org concat vol myvol
plex name myvol.p1 state up org concat vol myvol
plex name myvol.p2 state init org striped 512b vol myvol
plex name bigraid.p0 state initializing org raid5 512b vol bigraid
sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b
Le ovvie differenze sono qua la presenza di informazioni esplicite
sulle locazioni e sulla nomenclatura (entrambe permesse, ma scoraggiate,
all'utente) e le informazioni sugli stati (che non sono disponibili
all'utente). Vinum non immagazzina informazioni sui drive tra le
informazioni della configurazione: trova i drive scandendo le partizioni
dei dischi configurati alla ricerca di un'etichetta Vinum. Questo
permette a Vinum di identificare i drive correttamente anche se gli
è stato assegnato un differente codice identificativo di drive
&unix;.
Avvio Automatico
Per poter lanciare Vinum automaticamente all'avvio del sistema
assicuratevi che le seguenti linee siano nel vostro
/etc/rc.conf :
start_vinum="YES" # set to YES to start vinum
Se non hai un file /etc/rc.conf , creane uno
con questo contenuto. Questo ordinerà al sistema di caricare
il Vinum kld all'avvio, inizializzando ogni oggetto
menzionato nella configurazione. Questo viene fatto prima del mount
dei file system quindi è possibile fare automaticamente
&man.fsck.8; e mount dei file system su volumi Vinum.
Quando esegui Vinum con il comando vinum start
Vinum legge il database di configurazione da uno dei drive Vinum. In
circostanze normali ogni drive contiene una copia identica del
database di configurazione quindi non conta da quale disco viene
letto. Dopo un crash, tuttavia, Vinum deve determinare quale drive
è stato aggiornato più recentemente e leggere la
configurazione da questo drive. Quindi aggiorna la configurazione, se
necessario, sui drive progressivamente più vecchi.
Usare Vinum nel Filesystem Root
Per una macchina con filesystem completamente in mirroring con Vinum
è desiderabile mettere in mirroring anche il filesystem di root;
fare questo è meno semplice che non per un filesystem arbitrario,
dato che:
- Il filesystem root deve essere disponibile nella parte iniziale
- del processo di boot, quindi l'infrastruttura di Vinum deve essere giÃ
- disponibile in quel momento.
+ Il filesystem root deve essere disponibile nella parte iniziale
+ del processo di boot, quindi l'infrastruttura di Vinum deve essere
+ già disponibile in quel momento.
- Il volume contenete il filesystem root contiene anche il sistema
+ Il volume contenete il filesystem root contiene anche il sistema
di avvio e il kernel, che devono essere letti usando le funzioni
native del sistema (ovvero il BIOS, sui PC) che spesso non conoscono i
dettagli di Vinum.
Nelle sezioni seguenti, il termine volume root
è usato generalmente per descrivere il volume Vinum che contiene il
filesystem root. È probabilmente una buona idea usare il nome
"root" per questo volume, ma non è necessario.
Tutti gli esempi nelle prossime sezioni usano questo nome.
Lanciare Vinum abbastanza presto per il Filesystem Root
Ci sono varie misure da prendere per fare in modo che questo
accada:
-
- Vinum deve essere disponibile nel kernel già all'avvio,
+
+ Vinum deve essere disponibile nel kernel già all'avvio,
quindi il metodo per lanciare Vinum automaticamente descritto
in non può essere
utilizzato e il parametro start_vinum in
realtà non va impostato in questo tipo
di configurazione. La prima possibilità è di
compilare Vinum staticamente dentro al kernel, in modo che sia
sempre disponibile, ma questo non è normalmente desiderabile.
Un'altra opportunità à di fare in modo che
/boot/loader () carichi il modulo kernel di Vinum prima di
+ linkend="boot-loader">) carichi il modulo kernel di Vinum prima di
lanciare il kernel. Questo può essere fatto utilizzando la
riga
- vinum_load="YES"
+ vinum_load="YES"
- nel file
- /boot/loader.conf .
-
+ nel file /boot/loader.conf .
+
-
- Vinum deve essere inizializzato subito in modo da poter fornire
+
+ Vinum deve essere inizializzato subito in modo da poter fornire
il volume per il filesystem root. Per default la porzione kernel di
Vinum non cerca dischi che contengano informazioni sui volumi Vinum
fino a quando un amministratore (o uno degli script di partenza) non
esegue un comando di vinum start .
- I seguenti paragrafi spiegano i passi necessari per
- &os; 5.x e superiori. L'impostaizone richiesta da &os; 4.x è
- diversa ed è descritta dopo, in .
+
+ I seguenti paragrafi spiegano i passi necessari per
+ &os; 5.x e superiori. L'impostaizone richiesta da
+ &os; 4.x è diversa ed è descritta dopo, in
+ .
+
- Inserendo la linea:
+ Inserendo la linea:
- vinum.autostart="YES"
+ vinum.autostart="YES"
- dentro a /boot/loader.conf , Vinum viene
+ dentro a /boot/loader.conf , Vinum viene
istruito, alla partenza del kernel, di controllare automaticamente
tutti i dischi alla ricerca di informazioni sui volumi Vinum.
- Da notare il fatto che non è necessario istruire il
+ Da notare il fatto che non è necessario istruire il
kernel sulla locazione del filesystem root.
/boot/loader cerca il nome del device di root
in /etc/fstab e passa l'informazione al kernel.
Quando è necessario montare il filesystem root, il kernel,
tramite il nome di device fornitogli, capisce a quale driver deve
chiedere la conversione di tale nome in ID interno di device (numero
maggiore/minore).
-
+
- Making a Vinum-based Root Volume Accessible to the
- Bootstrap
+ Rendere un volume di root basato su Vinum accessibile
+ dall'avvio
+
+ Dato che il codice di avvio di FreeBSD è attualmente di soli
+ 7.5 KB ed è già appesantito dalla lettura di file (come
+ /boot/loader ) da un filesystem UFS, è
+ semplicementeimpossibile insegnargil anche a leggere le strutture
+ internet di Vinum in modo da fargil leggere i dati della configurazione
+ di Vinum in modo da ricavarne gli elementi del volume di boot stesso.
+ Sono quindi necessari alcuni trucchi per dare al codice di avvio
+ l'illusione di una partizione "a" standard contenente
+ il filesystem di root.
+
+ Perché questo sia anche solo possibile, il volume di root
+ deve rispondere ai seguenti requisiti:
- Traduzione in corso
+
+
+ Il volume di root non deve essere in striping o in RAID-5.
+
+
+
+ Il volume di root non deve contenere la concatenazione di pi? di
+ un sottodisco per ogni plex.
+
+
+
+ Da notare che è desiderabile e possibile aere plex multipli,
+ contenente ognuno una replica del filesystem root. Il processo di
+ avvio, però, usa solo una di queste repliche per trovare i file
+ necessario all'avvio, fino a quando il kernel monta il filesystem di
+ root stesso. Ogni singolo sottodisco in questi plex avrà quindi
+ bisogno di una propria partizione "a" illusoria,
+ affinché la periferica relativa possa essere avviabile. Non
+ è strettamente necessario che ognuna di queste finte partizioni
+ "a" sia locato con lo stesso spiazzamento all'interno
+ della propria periferica, rispetto alle periferiche contenenti gli altri
+ plex del volume. È comunque probabilmente una buona idea creare
+ i volumi Vinum in modo che le periferiche in mirror siano simmetriche,
+ per evitare confusione.
+
+ Per poter configurare queste partizioni "a" ,
+ in ogni periferica contenente parte del volume di root, bisogna fare le
+ seguenti cose:
+
+
+
+ La locazione (spiazzamento dall'inizio della periferica) e la
+ dimensione del sottodisco che è parte del volume di root deve
+ essere esaminato, usando il comando
+
+ vinum l -rv root
+
+ Da notare che gli spiazzamenti e le dimensioni in Vinum sono
+ misurati in byte. Devono essere divisi per 512 per ottenere il
+ numero di blocchi necessari nel comando
+ disklabel .
+
+
+ Eseguire il comando
+
+ disklabel -e
+ devname
+
+ per ogni periferica che partecipa al volume di root.
+ devname deve essere o il nome della slice
+ (ad esempio ad0s1 ) o il nome del disco (ad
+ esempio da0 ) per dischi senza tabella delle
+ slice (ovvero i nomi che si usano anche con fdisk).
+
+ Se c'è già una partizione "a"
+ sulla periferica (presumibilmente contenente un filesystem root
+ precedente all'uso di Vinum), dovrebbe essere rinominata in altro
+ modo, in modo da restare accessibile (nno si sa mai), ma non essere
+ usata più per default per avviare il sistema. Da notare che
+ le partizioni attive (ad esempio un filesystem root attualmente
+ montato) non possono essere rinominati, quindi questo deve essere
+ eseguito o avviando da un disco Fixit
o (in caso di
+ mirror) in un processo a due passi dove il disco non di avvio viene
+ modificato per primo.
+
+ Infine, lo spiazzamento della partizione Vinum sulla periferica
+ va aggiunto allo spiazzamento del rispettivo sottodisco di root
+ rispetto alla periferica stessa. Il risultato sarà il valore
+ di "offset" (spiazzamento) per la nuova
+ partizione "a" . Il valore
+ "size" (dimensione) per questa partizione
+ può essere copiato pari pari dal calcolo fatto sopra.
+ Il valore "fstype" deve essere
+ 4.2BSD . I valori "fsize" ,
+ "bsize" e "cpg" devono
+ preferibilmente essere scelti per corrispondere al vero e proprio
+ filesystem, anche se in questo contesto non sono molto
+ importanti.
+
+ In questo modo una nuova partizione "a"
+ sarà creata ricoprendo le partizioni Vinum su questa
+ periferica. Da notare che disklabel
+ permetterà questa ricopertura solo se la partizione Vinum
+ è stata appropriatamente marcata usando un
+ "fstype" pari a "vinum"
+ fstype.
+
+
+ È tutto! Ora una falsa partizione "a"
+ esiste su ogni periferica che abbia una replica del volume di root.
+ È altamente raccomandabile verificare nuovamente i risultati,
+ usando un comando come
+
+ fsck -n
+ /dev/devname a
+
+
+
+ Bisogna ricordarsi che tutte le informazioni contenute nei file di
+ controllo devono essere relative al filesystem di root nel volume Vinum
+ che, quando si imposta un nuovo volume di root Vinum, potrebbe non
+ coincidere con quello del filesystem root attualmente attivo.
+ In particolare bisogna stare attenti ai file
+ /etc/fstab e
+ /boot/loader.conf .
+
+ Al seguente riavvio il sistema dovrebbe ricavare le informazioni di
+ controllo appropriate dal filesystem di root Vinum e agire di
+ consequenza. Alla fine del processo di inizializzazione del kernel,
+ dopo che tutte le periferiche sono state annunciate, l'avvertimento
+ principale che conferma il successo dell'avvio è un messaggio
+ simile a questo:
+
+ Mounting root from ufs:/dev/vinum/root
- Example of a Vinum-based root setup
+ Esempi di configurazioni con root basata su Vinum
+
+ Dopo aver creato il volume di root Vinum,
+ vinum l -rv root dovrebbe produrre qualcosa di simile
+ a:
- Traduzione in corso
+
+
+...
+Subdisk root.p0.s0:
+ Size: 125829120 bytes (120 MB)
+ State: up
+ Plex root.p0 at offset 0 (0 B)
+ Drive disk0 (/dev/da0h) at offset 135680 (132 kB)
+
+Subdisk root.p1.s0:
+ Size: 125829120 bytes (120 MB)
+ State: up
+ Plex root.p1 at offset 0 (0 B)
+ Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
+
+
+
+ I valori su cui fare caso sono il 135680 dello
+ spiazzamento (relativo alla partizione
+ /dev/da0h ). Questo si traduce in 265 blocchi da
+ 512 byte nei termini di disklabel .
+ /dev/da1h , contenente la seconda replica del
+ volume di root, ha una configurazione simmetrica.
+
+ La disklabel per queste periferiche dovrebbe
+ essere simile a questa:
+
+
+
+...
+8 partitions:
+# size offset fstype [fsize bsize bps/cpg]
+ a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)
+ c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)
+ h: 71771672 16 vinum # (Cyl. 0*- 4467*)
+
+
+
+ Si può notare che il parametro "size" per
+ la finta partizione "a" corrisponde al valore di cui
+ abbiamo parlato prima, mentre il parametro "offset"
+ è la somma dello spiazzamento all'interno della partizione Vinum
+ "h" e lo spiazzamento all'interno della periferica (o
+ slice). Questa è una tipica configurazione necessaria per
+ evitare il problema descritto in .
+ Si può anche notare che l'intera partizione
+ "a" è completamente contenuta dalla partizione
+ "h" , che contiene tutti i dati Vinum per questa
+ periferica.
+
+ Notate che in questo esempio l'intera perfierica è dedicata a
+ Vinum e nno c'è spazio per partizioni pre-Vinum, dato che questo
+ disco è stato configurato da nuovo per il solo scopo di far parte
+ di una configurazione Vinum.
- Troubleshooting
+ Risoluzione Problemi
+
+ Se qualcosa va storto, serve un modo per tornare in una situazione
+ di normalità. Segue una lista di alcuni tipici problemi,
+ completi di soluzione.
+
+
+ Il Codice di Avvio si Carica, ma il Sistema non si Avvia
+
+ Se per qualsiasi ragione in sistema non prosegue nell'avvio, si
+ può interrompere il processo di avvio premendo il tasto
+ spazio all'avviso dei 10 secondi. Le variabili di
+ avvio potranno quindi essere esaminate usando il comando
+ show e manipolate con set e
+ unset .
+
+ Se l'unico problema è che il modulo kernel di Vinum non
+ è ancora presente nella lista dei moduli da caricare
+ automaticamente, un semplice load vinum
+ aiuterà.
+
+ Quando pronti, il processo di avvio può continuare con un
+ boot -as . Le opzioni -as
+ comunicano al kernel di montare il filesysetm di root
+ (-a ) e di interrompere il processo di avvio in
+ modalità singolo utente (-s ),
+ quando il filesystem di root è montato a sola lettura. In
+ questo modo benché uno solo dei plex do un volume multi-plex
+ sia stato montato, non si rischia inconsistenza dei dati tra i vari
+ plex.
+
+ Alla richiesta di un filesystem di root da montare, ogni
+ periferica che contenga un filesystem di root valido può essere
+ usata. Se /etc/fstab è stato impostato
+ correttamente, il default dovrebbe essere
+ ufs:/dev/vinum/root o simile. Una tipica
+ alternativa potrebbe essere ufs:da0d , una
+ ipotetica partizione contenete un filesystem root pre-Vinum.
+ Bisogna fare attenzione quando si sceglie una delle partizioni
+ "a" alias di un sottodisco della periferica root di
+ Vinum, perché in una cifiguraizone in mirror questo monterebbe
+ solo un pezzo della root in mirror. Se questo filesystem deve poi
+ essere montato in lettura/scrittura è necessario rimuovere gli
+ altri plex del volume root di Vinum dato che conterrebbero comunque
+ dati non consistenti.
+
+
+
+ Si Carica Solo l'Avvio Primario
+
+ Se /boot/loader non si carica, ma l'avvio
+ primario si carica comunque (si capisce dal singolo trattino nella
+ colonna di sinistra dello schermo subito dopo l'inizio dell'avvio), si
+ può tentare di fermare l'avvio primario in questo punto,
+ premendo il tasto spazio . Questo fermerà
+ l'avvio nella seconda fase, vedi . Qua si
+ può fare un tentativo di caricare una differente partizione, ad
+ esempio la partizione contenente il precedente filesystem di root
+ "a" , prima di sostituirlo come sopra
+ indicato.
+
- Traduzione in corso
+
+ Non si Carica Niente, l'Avvio va in Panico
+
+ Questa situazione accade quando l'installazione di Vinum ha
+ distrutto il codice di avvio. Sfortunatamente Vinum lascia solo 4 KB
+ liberi all'inizio della sua partizione prima di scrivere il proprio
+ header. Purtroppo le due fasi dell'avvio e la disklabel compresa tra
+ le due attualmente occupa 8 KB, quindi se la partiozne Vinum è
+ creata con spiazzamento 0 in una slice o disco che dovrebbe essere
+ avviabile, la configurazione di Vinum distruggerà il codice di
+ avvio.
+
+ Similmente, se la situazione sopra descritta è stata
+ risolta avviando da un disco di Fixit
, e il codice di
+ avvio re-installato usando disklabel -B come
+ descritto in , il codice di avvio
+ distruggerà l'header di Vinum, che non saprà più
+ trovare i propri dischi. Benché nessun dato, di configurazione
+ o contenuto, sia distrutto da questo processo, che risulta quindi
+ recuperabile reinserendo la stessa configurazione di Vinum, la
+ situazione è in realtà di difficile risoluzione: sarebbe
+ necessario spostare l'intera partizione Vinum di almeno 4 KB, in modo
+ da lasciare abbastanza spazio sia per il codice di avvio che per
+ l'header Vinum.
+
- Differences for FreeBSD 4.x
-
- Traduzione in corso
+ Differenze per FreeBSD 4.x
+
+ In FreeBSD 4.x alcune funzioni interne necessarie a Vinum per poter
+ trovare automaticamente tutti i dischi non sono presenti e il codice che
+ ricava l'ID interno della periferica di root non è abbastanza
+ intelligente da gestire automaticamente nomi come
+ /dev/vinum/root , quindi le cose vengono fatte
+ in modo un po' diverso.
+
+ Bisogna dire esplicitamente a Vinum quali dischi controllare, usando
+ una riga di /boot/loader.conf come la
+ seguente:
+
+ vinum.drives="/dev/da0
+ /dev/da1 "
+
+ È importante indicare tutti i drive che possono contenere
+ dati Vinum. Non è un problema indicare drive di
+ troppo , non è neanche necessario aggiungere
+ esplicitamente ogni slice e/o partizione, dato che Vinum
+ cercherà header Vinum in tutte le slice e partizioni dei drive
+ nominati.
+
+ Dato che le procedure utilizzate per interpretare il nome del
+ filesystem di root e derivarne l'ID di periferica (numeri
+ maggiore e minore) sono adatte per gestire solo nomi
+ classici
di periferica come
+ /dev/ad0s1a , non riescono a capire nomi di
+ volumi root come /dev/vinum/root . Per questo
+ motivo Vinum ha bisogno di pre-impostare durante la propria
+ inzializzazione il parametro kernel interno che contiene l'ID della
+ periferica di root. Questo viene fatto indicando il nome della
+ volume di root nella variabile di avvio vinum.root .
+ La riga di /boot/loader.conf adatta per fare questo
+ è simile alla seguente:
+
+ vinum.root="root"
+
+ Quando l'inizializzaione del kernel cerca di trovare la periferica
+ root da montare controlla se qualche modulo del kernel ha già
+ pre-inizializzato il parametro kernel apposito; se questo è il
+ caso e la periferica che dice di essere la
+ periferica di root ha il numero maggiore e minore corrispondenti al
+ driver come trovato dal nome della periferica di root passata (ovvero
+ "vinum" , nel nostro caso), userà l'ID di
+ periferica pre-allocato, anziché cercar di trovarne uno da solo.
+ In tal modo durante l'usuale avvio automatico può continuare a
+ montare il volume di root Vinum per il filesystem di root.
+
+ Bisogna comunque notare che anche quando boot -a
+ richiede di inserire manualmente il nome della periferica di root tale
+ nome non può essere intepretato nel caso sia un nome rfierito a
+ un volume Vinum. Se è inserito un nome di periferica non
+ riferito a una periferica Vinum, la non corrispondenza col numero
+ maggiore pre-allocato del parametro di root e del driver ricavato dal
+ nome farà sì che la procedura utilizzi il normale
+ interprete, quindi una stringa come ufs:da0d
+ funzionerà come previsto. Da notare che se questo fallisce non
+ si può più provare una stringa come
+ ufs:vinum/root , dato che non verrebbe
+ interpretata; l'unica via di uscita è riavviare e ripartire da
+ zero. (Alla richiesta di askroot
, la parte iniziale
+ /dev/ può sempre essere omessa.)
diff --git a/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml
index eb93191798..04bc4ec863 100644
--- a/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml
+++ b/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml
@@ -1,2223 +1,2223 @@
Iniziamo
Effettuare il login
Una volta che l'utente si è collegato a un sistema Unix, gli
viene chiesto di inserire un login username
(nome utente) e una password (codice segreto). Il
login username è il nome univoco dell'utente sul sistema. La
password è un codice modificabile conosciuto solo dall'utente.
Alla richiesta di login , l'utente deve inserire lo
username e alla richiesta della password , deve essere
inserita la password effettiva.
Unix è un sistema case sensitive (fa
distinzione tra caratteri minuscoli e maiuscoli). Quindi sia il
login username che la password
devono essere inseriti esattamente come sono stati creati; il login
username è normalmente in minuscolo.
Tipi di terminali
Molti sistemi sono configurati in modo tale da richiedere all'utente
il tipo di terminale da usare, il quale dovrebbe essere settato al tipo
di terminale usato nella fase di login. Molti computer lavorano
se si sceglie il tipo vt100 . Gli utenti connessi
tramite una workstation Sun molto probabilmente useranno il tipo
sun ; quelli che usano un Terminale-X molto
probabilmente useranno xterms oppure
xterm .
Il tipo di terminale indica al sistema Unix come interagire quando
una sessione viene aperta.
Può essere necessario risettare il tipo di terminale,
digitando il comando:
setenv TERM <tipo di
terminale>
-se si usa la shell C
(vedere Capitolo 5)
(Inoltre su alcuni sistemi Unix, ad esempio MAGNUS, è
necessario dare il comando unsetenv
TERMCAP .)
oppure
TERM=<tipo di
terminale> ; export TERM
-se si usa la shell Bourne
(vedere Capitolo 5)
dove <tipo di terminale> è
il tipo di terminale, come vt100 , che si desidera
settare.
Password
Quando viene assegnato il proprio account, si riceve una password
iniziale. Questa password è importate sia per la sicurezza
del sistema sia per una sicurezza personale, perciò la password
per il proprio account può essere cambiata a propria scelta. Il
comando per cambiare una password è
&man.passwd.1;. Verrà chiesto di inserire sia la propria
vecchia password, sia la nuova password desiderata, quest'ultima due
volte. Se si sbaglia la propria vecchia password o non si inserisce
quella nuova nello stesso modo per due volte, il sistema
indicherà che la password non ha subito cambiamenti.
Alcuni amministratori di sistema hanno programmi che verificano
l'accuratezza di una password (che deve essere sufficientemente criptica
per assicurare una certa sicurezza al sistema). Un cambiamento di
password può essere rifiutato da questi programmi.
Quando si sceglie una password, è importante che questa non
sia in qualche modo indovinabile né per qualche sconosciuto
che tenta di scoprirla né per un conoscente. I suggerimenti per
scegliere e mantenere una password sono i seguenti:
non usare una parola (o parole) di un linguaggio;
non usare il proprio nome;
non usare informazioni che possono essere trovate nel proprio
portafoglio;
non usare informazioni comunemente conosciute circa se stessi
(come il soprannome, patente di guida, ecc.);
non usare caratteri di controllo. Alcuni sistemi non li
accettano;
non scrivere la password in qualche posto;
non dare la propria password a *nessuno*;
usare un mix di tipi di caratteri (alfabetici, numerici,
speciali);
usare un mix di caratteri maiuscoli e caratteri
minuscoli;
usare un minimo di 6 caratteri;
scegliere una password in modo da poterla ricordare;
cambiare di frequente la propria password;
assicurarsi che nessuna persona vicino a voi vi guardi quando si
inserisce la propria password.
Uscita
Ctrl
D
- indica la fine di un flusso di dati;
può far uscire dal sistema un utente. L'ultimo caso è
disabilitato su molti sistemi
Ctrl
C
- interruzione
&man.logout.1; - rilascia il sistema
&man.exit.1; - rilascia la shell
Identità
Il sistema identifica un utente attraverso il numero di utente e il
numero di gruppo (rispettivamente userid e
groupid ) assegnati dall'amministratore di sistema.
Generalmente non è necessario conoscere il proprio userid e
groupid, poichè il sistema traduce in modo automatico lo userid
in username (e viceversa) ed il groupid in groupname (e viceversa).
Probabilmente si conosce già lo username: è il nome
utilizzato per il login. Il groupname non è ovvio, e in
realtà si può appartenere a più di un gruppo. Il
proprio gruppo primario è quello associato con il proprio
username nel file database delle password, configurato
dall'amministratore di sistema. Similmente, c'è un file database
per i gruppi, dove l'amministratore di sistema può assegnare
gruppi aggiuntivi ad un utente.
Nei seguenti esempi il simbolo &prompt.user; è il proprio
prompt di shell e non va digitato.
Si può determinare il proprio userid e la lista dei gruppi di
appartenenza con i comandi &man.id.1; e &man.groups.1;. Su alcuni
sistemi &man.id.1; mostra le informazioni sull'utente e le informazioni
sul gruppo primario, esempio:
&prompt.user; id
uid=1101(frank) gid=10(staff)
su altri sistemi mostra anche le informazioni sui gruppi aggiuntivi
di appartenenza:
&prompt.user; id
uid=1101(frank) gid=10(staff) groups=10(staff),5(operator),14(sysadmin),110(uts)
Il comando &man.groups.1; mostra le informazioni di tutti i gruppi
di appartenenza, esempio:
&prompt.user; groups
staff sysadmin uts operator
Struttura della linea di comando di Unix
Un comando è un programma che chiama
il sistema Unix per qualche compito. Un comando ha la forma:
comando
[opzioni ]
[argomenti ]
dove un argomento indica su cosa il comando deve
realizzare la sua azione, generalmente un file o una serie di file.
Un'opzione modifica il comando, cambiandone il modo di esecuzione.
I comandi sono case sensitive (sensibili alle lettere maiuscole e
minuscole). comando
e Comando non sono
la stessa cosa.
Le opzioni sono generalmente precedute da un
trattino (- ) e per molti comandi, più opzioni
possono essere messe insieme nella forma:
comando
-[opzione ][opzione ][opzione ]
esempio:
ls -alR
che mostrerà un listato lungo di tutti i file che si trovano
nella directory corrente e ricorsivamente anche quelli che si trovano in
tutte le sotto-directory.
In molti comandi si possono separare le opzioni, facendole precedere
ognuna da un trattino, esempio:
comando
-opzione1 -opzione2 -opzione3
come in:
ls -a -l -R
Alcuni comandi hanno opzioni che richiedono parametri. Le opzioni che
richiedono parametri sono di solito specificate separatamente,
esempio:
lpr -Pprinter3 -#2 file
che trasmetterà 2 copie del file specificato a
printer3 .
Ci sono delle convenzioni standard per i comandi. Comunque, non tutti
i comandi Unix seguono questo standard. Alcuni non richiedono il trattino
prima dell'opzione e alcuni non permettono di mettere insieme più
opzioni, per esempio alcuni possono richiedere che ogni opzione sia
preceduta da un trattino e separata con uno spazio bianco da un'altra
opzione o argomento.
Le opzioni e la sintassi di un comando sono mostrate nelle
pagine man del comando.
Tasti di controllo
I tasti di controllo sono usati per realizzare
speciali funzioni su linea di comando o all'interno di un editor.
Queste funzioni possono essere generate premendo contemporaneamente il
tasto control e alcuni altri tasti .
Questa combinazione è generalmente indicata con
Ctrl
Tasto
(oppure
^
Tasto
).
Control
S
può essere scritto come
Ctrl
S
(oppure
^
S
). Con i tasti di controllo le lettere maiuscole e minuscole
sono la stessa cosa, così
Ctrl
S
è lo stesso di
Ctrl
s
. Questo particolare esempio (
Ctrl
S
) è un segnale di stop e
dice al terminale di non accettare più input. Il terminale
rimarrà sospeso finchè un segnale di
start
Ctrl
Q
non sarà generato.
Ctrl
U
è normalmente il segnale di
cancellazione di linea
per il proprio
terminale. Quando lo si digita, l'intera linea di input viene
cancellata.
Nell'editor &man.vi.1; si possono inserire i tasti
di controllo all'interno del file di testo facendo seguire a
Ctrl
V
il carattere di controllo desiderato; così per
inserire in un documento
Ctrl
H
si digita
Ctrl
V
,
Ctrl
H
.
stty - controllo del terminale
&man.stty.1; mostra o configura le opzioni di controllo del terminale.
L'abbreviazione tty
risale fino ai
giorni dei teletypewrite
, che erano associati alla
trasmissione di messaggi telegrafici ed erano primitivi modelli di
terminali di computer.
Per i nuovi utenti, l'uso principale del comando &man.stty.1; riguarda
l'assegnazione della funzione di cancellazione di linea
ad
un tasto specifico per i loro terminali. Per i programmatori di sistema o
per chi scrive script di shell, il comando &man.stty.1; fornisce uno
strumento prezioso per la configurazione di molti aspetti legati al
controllo di I/O di un dispositivo specifico, inclusi i seguenti:
carattere di erase (eliminazione carattere) e di
line-kill (eliminazione linea);
velocità di trasmissione dati;
controllo di parità sulla trasmissione dati;
controllo del flusso hardware;
carattere di nuova linea (<NL>), di return (<CR>) e di
alimentazione linea (<LF>);
interpretazione del carattere tab;
modifica di un input grezzo;
trasformazione di lettere minuscole in lettere maiuscole.
Il comando &man.stty.1; è molto dipendente dal sistema, quindi
consultare le relative pagine man sul proprio sistema
per i dettagli.
Sintassi
stty [opzioni ]
Opzioni generali
(none)
mostra i settaggi del terminale
all (-a)
mostra tutte le opzioni
echoe
richiama ERASE come BS-spazio-BS
dec
imposta la modalità specifica dei sistemi operativi
conformi al Digital Equipment Corporation (che distinguono ERASE
da BACKSPACE) (non disponibile su tutti i sistemi)
kill
imposta il carattere per LINE-KILL
erase
imposta il carattere per ERASE
intr
imposta il carattere per INTERRUPT
Esempi:
Con il comando &man.stty.1; si possono visualizzare e cambiare i
settaggi del proprio terminale di controllo. Per visualizzare tutti
(-a ) i settaggi correnti:
&prompt.user; stty -a
speed 38400 baud, 24 rows, 80 columns
parenb -parodd cs7 -cstopb -hupcl cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon -ixany -ixoff imaxbel
isig iexten icanon -xcase echo echoe echok -echonl -noflsh -tostop
echoctl -echoprt echoke
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel
erase kill werase rprnt flush lnext susp intr quit stop eof
^H ^U ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D
Per cambiare i settaggi usando &man.stty.1;, ad esempio per cambiare
il carattere di erase da
Ctrl
?
(il tasto elimina) a
Ctrl
H
:
&prompt.user; stty erase ^H
Questo setterà l'opzione del terminale solamente per la
sessione corrente. Per far in modo che questo comando sia eseguito
automaticamente ad ogni login, è possibile inserire tale comando
nel file .login o .profile di
cui si parlerà più avanti.
Ottenere aiuto
Il manuale di Unix, usualmente chiamato man page
(pagine man), è disponibile per spiegare l'uso del sistema Unix e
dei suoi comandi. Per servirsi di una pagina man digitare il comando
&man.man.1; al prompt di sistema seguito dal comando di cui si necessitano
informazioni.
Sintassi
man [opzioni ]
nome_comando
Opzioni generali
-k
parola_chiave
mostra alcune linee riassuntive dei comandi contenenti la
parola chiave richiesta
-M path
percorso per le pagine man
-a
mostra tutte le pagine man trovate (SVR4)
Esempi:
Si può usare &man.man.1; per ottenere una linea riassuntiva di
alcuni comandi che contengono la parola che si vuole ricercare con
l'opzione -k , ad esempio per cercare la parola
password , si digita:
&prompt.user; man -k password
passwd (5) - password file
passwd (1) - cambia la password
Il numero in parentesi indica la sezione delle pagine man dove sono
stati trovati i riferimenti. Si può accedere a quella pagina man
(di default si fa riferimento al numero di sezione più basso, ma si
può usare un'opzione su linea di comando per specificarne uno
differente) con:
&prompt.user; man passwd
PASSWD(1) USER COMMANDS PASSWD(1)
NOME
passwd - cambia password
SINTASSI
passwd [ -e login_shell ] [ username ]
DESCRIZIONE
passwd cambia (o setta) la password di un utente.
passwd chiede per due volte la nuova password, senza mostrarla.
Questo per prendere in considerazione la possibilità di digitare errori.
Solamente l'utente stesso e il super-user possono cambiare la password
di un utente.
OPZIONI
-e Cambia la shell di login dell'utente.
Qui l'output è stato parafrasato e troncato per una questione
di spazio e di copyright.
Navigazione e controllo delle directory
Il file system di Unix è organizzato come la struttura
ramificata di un albero a partire da root. La directory
root del sistema è rappresentata dal carattere
di slash in avanti (/ ). Le directory di sistema e
quelle degli utenti sono organizzate sotto la directory
root . In Unix l'utente non ha una directory root;
generalmente dopo il login gli utenti vengono posizionati nella loro
directory home . Gli utenti possono creare altre
directory sotto la loro directory home . La tabella
che segue mostra alcuni comandi per la navigazione tra directory.
Comandi di navigazione e controllo delle directory
Comando/Sintassi
Cosa fa
cd
[directory ]
cambia directory
ls
[opzioni ][directory
o file ]
lista il contenuto della directory o i permessi del
file specificato
mkdir
[opzioni ]
directory
crea una directory
pwd
mostra la directory (corrente) di lavoro
rmdir [opzioni ]
directory
rimuove una directory
Se si ha una certa familiarità con DOS la tabella che segue
paragona i suoi simili comandi a quelli Unix in modo tale da fornire un
appropriato quadro di riferimento.
Comandi di navigazione e controllo delle directory Unix vs
DOS
Comando
Unix
DOS
lista il contenuto di una directory
ls
dir
crea una directory
mkdir
md &
mkdir
cambia directory
cd
cd &
chdir
rimuove una directory
rmdir
rm &
rmdir
ritorna alla directory home dell'utente
cd
cd\
mostra la directory corrente di lavoro
pwd
cd
pwd - mostra la directory di lavoro
In ogni momento si può determinare in che punto si è
nella gerarchia del file system mostrando la directory di lavoro con il
comando &man.pwd.1;, esempio:
&prompt.user; pwd
/home/frank/src
cd - cambia directory
Ci si può portare in una nuova directory con il comando
&man.cd.1;, cambio di directory. &man.cd.1; accetta sia path name
(percorsi) assoluti sia path name relativi.
Sintassi
cd [directory ]
Esempi:
cd (oppure chdir in
alcune shell)
cambia directory
cd
si posiziona nella directory home dell'utente
cd /
si posiziona nella directory di sistema roor (/)
cd ..
sale di un livello di directory
cd ../..
sale di due livelli di directory
cd
/completo/path/name/da/root
cambia directory rispetto a un path name assoluto
(notare lo slash iniziale)
cd
path/da/posizione/corrente
cambia directory rispetto a un path name relativo alla
posizione corrente (no slash iniziale)
cd
~username/directory
cambia directory rispetto alla directory home dell'utente
specificato (il carattere ~ non è valido nella shell
Bourne; vedere il Capitolo 5).
mkdir - crea una directory
La gerarchia della propria directory home si estende creando
sotto-directory all'interno di essa. Questo è possibile con il
comando &man.mkdir.1;, crea directory. Di nuovo si può
specificare un path name assoluto o relativo della directory che si
vuole creare.
Sintassi
mkdir [opzioni ]
directory
Opzioni generali
-p
crea una directory intermedia (genitore), quando
necessario
-m modi
permessi di accesso (SVR4). (Si vedranno i
modi
più avanti in questo
Capitolo)
Esempi:
&prompt.user; mkdir /home/frank/data
oppure se la directory di lavoro corrente è
/home/frank , il seguente comando è
equivalente:
&prompt.user; mkdir data
rmdir - rimuove una directory
Per rimuovere una directory è necessario che questa sia
vuota. Altrimenti bisogna prima rimuovere i file contenuti in essa.
Inoltre, non si può rimuovere una directory se questa è la
directory di lavoro corrente, bisogna prima uscire da
quest'ultima.
Sintassi
rmdir
directory
Esempi:
Per rimuovere la directory vuota
/home/frank/data mentre si è in
/home/frank usare:
&prompt.user; rmdir data
oppure
&prompt.user; rmdir /home/frank/data
ls - mostra i contenuti delle directory
Il comando per visualizzare le proprie directory e i propri file
è &man.ls.1;. È possibile ottenere, attraverso le opzioni,
informazioni circa la dimensione, il tipo, i permessi, la data di
creazione, di modifica e di accesso del file.
Sintassi
ls [opzioni ]
[argomenti ]
Opzioni generali
Quando non viene usato nessun argomento, viene mostrato il contenuto
della directory corrente. Ci sono molte utili opzioni per il comando
&man.ls.1;. Segue una lista di alcune di queste. Quando si usa il
comando, le opzioni sono raggruppate insieme, precedute da un
trattino (-).
-a
mostra tutti i file, inclusi quelli che iniziano con
un punto (.)
-d
mostra solo i nomi delle directory, non i file
nella directory
-F
indica il tipo di elemento terminandolo con un
simbolo:
directory /
socket =
link simbolico @
eseguibile *
-g
mostra il gruppo Unix assegnato al file, richiede l'opzione
-l (BSD solamente) o su una macchina SVR4,
esempio Solaris, questa opzione ha l'effetto opposto
-L
se il file è un link simbolico, mostra le
informazioni del file o della directory a cui il link si
riferisce, non le informazioni del link stesso
-l
listato lungo: mostra i modi, informazioni di link, il
proprietario, la dimensione, la data dell'ultima modifica del
file. Se il file è un link simbolico, una freccia
(-->) precede il percorso del file collegato.
Il campo modi viene fornito dall'opzione
-l e consiste di 10 caratteri. Il primo carattere
è uno dei seguenti:
CARATTERE
SE L'ELEMENTO E'
d
directory
-
file ordinario
b
file speciale per dispositivi a blocchi
c
file speciale per dispositivi a caratteri
l
link simbolico
s
socket
I 9 caratteri successivi sono raggruppati in 3 blocchi di 3
caratteri ciascuno. Indicano i permessi di accesso al
file : i primi 3 caratteri si riferiscono ai permessi del
proprietario del file, i successivi 3 ai permessi
degli utenti del gruppo Unix assegnato al file e
gli ultimi 3 caratteri ai permessi degl'altri
utenti sul sistema. Possono assumere i seguenti simboli:
r
permesso di lettura
w
permesso di scrittura
x
permesso di esecuzione
-
permesso negato
Esistono altri permessi, specificamente progettati per essere usati
in speciali situazioni. Questi sono spiegati nelle pagine man di
&man.ls.1;.
Esempi:
Per mostrare i file in una directory
&prompt.user; ls
demofiles frank linda
Per mostrare tutti i file in una directory, inclusi i file nascosti
(iniziano con un punto):
&prompt.user; ls -a
. .cshrc .history .plan .rhosts frank
.. .emacs .login .profile demofiles linda
Per avere un listato lungo:
&prompt.user; ls -al
total 24
drwxr-sr-x 5 workshop acs 512 Jun 7 11:12 .
drwxr-xr-x 6 root sys 512 May 29 09:59 ..
-rwxr-xr-x 1 workshop acs 532 May 20 15:31 .cshrc
-rw------- 1 workshop acs 525 May 20 21:29 .emacs
-rw------- 1 workshop acs 622 May 24 12:13 .history
-rwxr-xr-x 1 workshop acs 238 May 14 09:44 .login
-rw-r--r-- 1 workshop acs 273 May 22 23:53 .plan
-rwxr-xr-x 1 workshop acs 413 May 14 09:36 .profile
-rw------- 1 workshop acs 49 May 20 20:23 .rhosts
drwx------ 3 workshop acs 512 May 24 11:18 demofiles
drwx------ 2 workshop acs 512 May 21 10:48 frank
drwx------ 3 workshop acs 512 May 24 10:59 linda
Comandi di gestione dei file
Per creare, copiare, rimuovere file e per modificarne i permessi
si possono usare i seguenti comandi.
Comandi di gestione dei file
Comando/Sintassi
Cosa fa
chgrp [opzioni ]
gruppo file
cambia il gruppo assegnato ad un file
chmod [opzioni ]
file
cambia i permessi di accesso a file o directory
chown [opzioni ]
proprietario file
cambia il proprietario di un file; può essere usato
solamente dal super-user
cp [opzioni ]
file1 file2
copia file1
in file2 ;
file2 non dovrebbe
già esistere. Questo comando crea o sovrascrive
file2
mv [opzioni ]
file1 file2
muove (rinomina)
file1 in
file2
rm [opzioni ]
file
elimina un file o una directory (-r rimuove
ricorsivamente le directory e il loro contenuto)
(-i chiede conferma prima di rimuove i
file)
Se si ha una certa familiarità con DOS la tabella che segue
paragona i suoi simili comandi a quelli Unix in modo tale da fornire un
appropriato quadro di riferimento.
Comandi di gestione dei file Unix vs DOS
Comando
Unix
Dos
copia un file
cp
copy
muove un file
mv
move (non supportato in tutte le
versioni di Dos)
rinomina un file
mv
rename &
ren
elimina un file
rm
erase &
del
mostra un file a schermo
cat
type
mostra un file a schermo, una pagina alla volta
more , less ,
pg
type /p (non supportato in tutte
le versioni di Dos)
cp - copia un file
Il comando &man.cp.1; copia il contenuto di un file in un altro
file.
Sintassi
cp [opzioni ]
filename1 filename2
Opzioni generali
-i
interattivo (chiede conferma prima di procedere)
-r
copia ricorsivamente una directory
Esempi:
&prompt.user; cp filename1 filename2
Si hanno due copie del file, ognuna con un identico contenuto.
Questi file sono completamente indipendenti tra loro e possono essere
editati e modificati entrambi quando necessario. Ciascuno di essi ha il
proprio inode, i propri blocchi di dati e il proprio elemento nella
tabella di directory.
mv - sposta un file
Il comando &man.mv.1; rinomina (sposta) un file.
Sintassi
mv [opzioni ]
vecchio_file nuovo_file
Opzioni generali
-i
interattivo (chiede conferma prima di procedere)
-f
non chiede la conferma quando si sovrascrive un file
esistente (ignora -i )
Esempi:
&prompt.user; mv vecchio_file nuovo_file
Il file nuovo_file
sostituisce
vecchio_file .
In realtà tutto quello che è stato fatto è aver
aggiornato l'elemento della tabella di directory per attribuire al file
il nuovo nome. Il contenuto del file rimane come era prima della
rinominazione.
rm - elimina un file
Il comando &man.rm.1; elimina un file.
Sintassi
rm [opzioni ]
filename
Opzioni generali
-i
interattivo (chiede conferma prima di procedere)
-r
rimuove una directory ricorsivamente, rimuovendo prima i file
e le directory sottostanti
-f
non chiede conferma prima di procedere
(ignora -i )
Esempi:
&prompt.user; rm filename
Visualizzando il contento della directory si vedrà che quel
file non esiste più. In realtà tutto quello che è
stato fatto è aver rimosso l'elemento dalla tabella di directory
e marcato l'inode come non usato
. Il contenuto del file
è ancora sul disco, ma ora il sistema non ha più modo di
identificare quei blocchi di dati con il nome del file eliminato. Non
c'è un certo comando per
riprendere
un file che è
stato eliminato in questo modo. Per questa ragione molti utenti alle
prime armi effettuano un alias del comando di eliminazione in
rm -i dove l'opzione -i chiede di
confermare prima di rimuovere il file. Simili alias sono generalmente
messi nel file .cshrc per la shell C (vedere il
Capitolo 5).
Permessi dei file
Ciascun file e directory ha permessi che stabiliscono chi può
leggerlo , scriverlo e/o
eseguirlo . Per scoprire i permessi assegnati a un
file, può essere usato il comando &man.ls.1; con l'opzione
-l . Quando si ha la necessità di conoscere il
gruppo per il quale i permessi sono stati assegnati si può usare
l'opzione -g insieme a ls -l
(solamente BSD).
Quando si usa il comando ls -lg su un file
(ls -l su SysV) l'output sarà mostrato come
il seguente:
-rwxr-x--- user Unixgroup size Month nn hh:mm filename
La zona dedicata ai caratteri e trattini
(-rwxr-x--- ) è la zona che mostra il tipo di
file e i permessi del file, come spiegato nella precedente sezione.
Quindi la stringa di permessi dell'esempio,
-rwxr-x--- , permette al proprietario
user del file di leggerlo, modificarlo ed
eseguirlo; gli utenti del gruppo Unixgroup del
file possono leggerlo ed eseguirlo; gli altri
utenti del sistema non possono accedere in alcun modo al file.
chmod - cambio dei permessi del file
Il comando per cambiare i permessi ad un elemento (file, directory,
ecc.) è &man.chmod.1; (cambio dei modi). La sintassi richiede
l'uso del comando con tre cifre (rappresentanti i permessi del
proprietario (u ), i permessi
del gruppo (g ) e i permessi
degli altri utenti (o ))
seguite da un argomento (che può essere un nome di un file o una
lista di file e directory). Oppure può essere usato con una
rappresentazione simbolica dei permessi, indicando a quale utenza questi
vanno applicati.
Ogni tipo di permesso è rappresentato dal proprio numero
equivalente:
lettura=4, scrittura=2, esecuzione=1
o da singoli caratteri:
lettura=r, scrittura=w, esecuzione=x
Il permesso 4 o r
specifica il permesso di lettura . Se i permessi
desiderati sono lettura e scrittura, il 4 (rappresentante la lettura) e
il 2 (rappresentante la scrittura) sono addizionati per ottenere il
permesso 6. Quindi, un permesso settato a 6 vorrà concedere un
permesso di lettura e di scrittura.
Alternativamente si può usare una notazione simbolica che
usa un carattere rappresentativo per l'utenza a cui ci si riferisce, uno
per il permesso e uno per l'operazione, dove l'operazione può
essere:
+
aggiunge permessi
-
rimuove permessi
=
setta permessi
Quindi per settare i permessi di lettura e di scrittura per il
proprietario del file si usa nella notazione simbolica
u=rw .
Sintassi
chmod nnn
[lista argomenti ]
modalità numerica
chmod [chi ]
op
[perm ]
[lista argomenti ]
modalità simbolica
dove nnn sono i tre numeri rappresentanti
i permessi del proprietario , del
gruppo e degli altri utenti;
chi può essere
u,g,o oppure a (tutti) e
perm può essere
r,w,x . Nella notazione simbolica si può
- separare la specifica dei permessi con una virgola, coma mostrato
+ separare la specifica dei permessi con una virgola, come mostrato
nell'esempio qui sotto.
Opzioni generali
-f
forza (nessun messaggio di errore viene generato se la
modifica non ha avuto successo)
-R
discesa ricorsiva attraverso la struttura delle directory
e cambio dei modi
Esempi:
Se i permessi desiderati per il file1 sono:
proprietario : lettura, scrittura ed esecuzione;
gruppo : lettura ed esecuzione;
altri : lettura ed esecuzione; il comando da usare
è:
chmod 755 file1 oppure
chmod u=rwx,go=rx file1
Quando si assegnano i permessi a un file per l'utenza
gruppo e per l'utenza altri
è necessario che il minimo permesso di esecuzione (inteso come
permesso di accesso) per la directory nella quale il file è
posizionato sia abilitato. Un semplice modo per far questo è
posizionarsi nella directory nella quale i permessi devo essere
garantiti e digitare:
chmod 711 . oppure
chmod u=rw,+x . oppure
chmod u=rwx,go=x .
dove il punto (.) indica la
directory corrente .
chown - cambio del proprietario del file
Il proprietario di un file può essere cambiato con il comando
&man.chown.8;. Su molte versioni Unix questo può essere
realizzato solo dal super-user, ad esempio, un utente normale non
può attribuire i suoi file ad altri proprietari. &man.chown.8;
è usato come qui sotto, dove &prompt.root; rappresenta il prompt
di shell per il super-user.
Sintassi
chown [opzioni ]
utente [:gruppo ]
file
(SVR4)
chown [opzioni ]
utente [.gruppo ]
file
(BSD)
Opzioni generali
-R
discende ricorsivamente attraverso la struttura della
directory
-f
forza, non riporta errori
Esempi:
&prompt.root; chown nuovo_proprietario file
chgrp - cambio del gruppo del file
Con il comando &man.chgrp.1; tutti possono cambiare il gruppo dei
propri file in un altro gruppo di appartenenza.
Sintassi
chgrp [opzioni ]
gruppo file
Opzioni generali
-R
discende ricorsivamente attraverso la struttura della
directory
-f
forza, non riporta errori
Esempi:
&prompt.user; chgrp nuovo_gruppo file
Comandi di visualizzazione
Ci sono alcuni comandi che si possono usare per
visualizzare o esaminare un
file. Alcuni di questi sono editor che verranno trattati più
avanti. Qui si illustreranno alcuni comandi normalmente usati per
visualizzare un file.
Comandi di visualizzazione
Comando/Sintassi
Cosa fa
-
- cat [opzioni ]
- file
-
- concatena (lista) un file
-
-
echo
[stringa ]
riporta in standard ouptut una stringa di testo
- head [-numero ]
+ cat [opzioni ]
file
- visualizza le prime 10 (o -numero )
- linee di un file
+ concatena (lista) un file
more (o less o
pg )
[opzioni ]
file
visualizzazione paginata di un file di testo
+
+ head [-numero ]
+ file
+
+ visualizza le prime 10 (o -numero )
+ linee di un file
+
+
tail [opzioni ]
file
visualizza le ultime linee (o parte) di un file
echo - mostra un'espressione
Il comando &man.echo.1; viene utilizzato per ripetere l'argomento
assegnato al comando nel dispositivo standard di uscita. Normalmente
l'argomento termina con un carattere di alimentazione di linea, ma si
può specificare un'opzione per impedirlo.
Sintassi
echo [stringa ]
Opzioni generali
-n
non stampa new-line (BSD, shell built-in)
\c
non stampa new-line (SVR4)
\0n
dove n è il codice del
carattere ASCII a 8 bit (SVR4)
\t
tab (SVR4)
\f
form-feed (emissione carta) (SVR4)
\n
new-line (SVR4)
\v
tab verticale (SVR4)
Esempi:
&prompt.user; echo Hello Class
oppure
&prompt.user; echo "Hello Class"
Per impedire il carattere di fine linea:
&prompt.user; echo -n Hello Class
oppure
&prompt.user; echo "Hello Class \c"
dove il modo utilizzato nell'ultimo esempio dipende dal comando
&man.echo.1; usato.
L'opzione \x deve essere
interna a un paio di caratteri di quoting singoli o doppi, con o senza
altri caratteri di stringa.
cat - concatena un file
Il comando di concatenazione &man.cat.1; visualizza il contenuto di
un file.
Sintassi
cat [opzioni ]
[file ]
Opzioni generali
-n
precede ogni linea con un numero
-v
visualizza i caratteri non stampabili, eccetto tab,
new-line e form-feed
-e
visualizza $ alla fine di ogni linea (prima di new-line)
(quando usato con l'opzione -v )
Esempi:
&prompt.user; cat filename
Si possono specificare una serie di file su linea di comando e
&man.cat.1; li concatenerà ciascuno a turno, seguendo lo stesso
ordine di immissione, esempio:
&prompt.user; cat file1 file2 file3
more, less e pg - visualizzazione paginata di un file
&man.more.1;, &man.less.1; e pg permettono di
visualizzare il contenuto di un file una schermata (pagina) alla volta.
Inoltre permettono di ritornare sulla precedente pagina, di cercare
parole, ecc. Questi comandi potrebbero non essere disponibili sul
proprio sistema Unix.
Sintassi
more [opzioni ]
[+/schema ]
[filename ]
less [opzioni ]
[+/schema ]
[filename ]
pg [opzioni ]
[+/schema ]
[filename ]
Opzioni
more
less
pg
Azione
-c
-c
-c
pulisce lo schermo prima di visualizzare
-i
ignora differenza tra maiuscole e minuscole
-w
default
default
non esce alla fine dell'input, ma si mette in attesa di
comandi
-linee
-linee
# (numero di) linee di avanzamento
+/schema
+/schema
+/schema
ricerca lo schema (pattern)
Controlli interni
more
visualizza (una schermata alla volta) il file
specificato
<spazio>
per vedere la schermata successiva
<return>o<CR>
per avanzare di una linea
q
per uscire
h
help
b
torna alla schermata precedente
/parola
cerca parola nel resto del
file
vedere le pagine man per altre
opzioni
less
simile a &man.more.1;, vedere le
pagine man per le opzioni
pg
in SVR4 equivale a &man.more.1; (pagina)
head - mostra l'inizio di un file
Il comando &man.head.1; visualizza l'inizio di un file.
Sintassi
head [opzioni ]
file
Opzioni generali
-n
numero
numero di linee da visualizzare partendo dall'inizio del
file
-numero
come sopra
Esempi:
Di default &man.head.1; mostra le prime 10 linee del file. Si
possono visualizzare più (o meno) linee con l'opzione
-n numero o
-numero , ad esempio, per
visualizzare le prime 40 linee:
&prompt.user; head -40 filename
oppure
&prompt.user; head -n 40 filename
tail - mostra la fine di un file
Il comando &man.tail.1; visualizza la fine di un file.
Sintassi
tail [opzioni ]
file
Opzioni generali
-numero
numero di linee da visualizzare, partendo dalla fine del
file
Esempi:
Di default &man.tail.1; mostra le ultime 10 linee del file, ma si
può specificare un numero differente di linee o di byte, o un
differente punto di inizio all'interno del file. Per visualizzare le
ultime 30 linee di un file, usare l'opzione
-numero :
&prompt.user; tail -30 filename
\ No newline at end of file
+-->
diff --git a/it_IT.ISO8859-15/share/sgml/mailing-lists.ent b/it_IT.ISO8859-15/share/sgml/mailing-lists.ent
index 0ecd21e40d..3efcbdc8ed 100644
--- a/it_IT.ISO8859-15/share/sgml/mailing-lists.ent
+++ b/it_IT.ISO8859-15/share/sgml/mailing-lists.ent
@@ -1,368 +1,376 @@
server delle liste di FreeBSD">
&a.mailman.listinfo;">
+
+mailing list su ACPI in FreeBSD">
+freebsd-acpi">
+
mailing list sull'avvocatura di FreeBSD">
freebsd-advocacy">
mailing list sul porting di AFS su FreeBSD">
freebsd-afs">
mailing list di discussione sugli Adaptec AIC7xxx in FreeBSD">
freebsd-aic7xxx">
mailing list sul porting di FreeBSD sui sistemi Alpha">
freebsd-alpha">
mailing list sul porting di FreeBSD sui sistemi AMD64">
freebsd-amd64">
mailing list di annunci su FreeBSD">
freebsd-announce">
mailing list sull'architettura e la progettazione di FreeBSD">
freebsd-arch">
mailing list sul porting di FreeBSD sui processori ARM">
freebsd-arm">
mailing list sulle reti ATM con FreeBSD">
freebsd-atm">
mailing list di controllo del codice sorgente di FreeBSD">
freebsd-audit">
mailing list sul sistema di update tramite binari di FreeBSD">
freebsd-binup">
mailing list sul sistema di segnalazione dei bug di FreeBSD">
freebsd-bugbusters">
mailing list di segnalazione dei problemi con FreeBSD">
freebsd-bugs">
mailing list di chiacchiere su FreeBSD">
freebsd-chat">
mailing list sul clustering con FreeBSD">
freebsd-cluster">
mailing list sui tool di installazione e configurazione di FreeBSD">
freebsd-config">
mailing list su &os.current;">
freebsd-current">
Annunci CTM">
ctm-announce">
Distribuzione CTM di file CVS">
ctm-cvs-cur">
mailing list di distribuzione CTM del ramo src 4-STABLE">
ctm-src-4">
mailing list di distribuzione CTM del ramo src -CURRENT">
ctm-src-cur">
+
+mailing list per gli utenti di CTM">
+ctm-users">
+
mailing list con i messaggi di commit sul CVS di FreeBSD">
cvs-all">
lista dei commit sul ramo doc del CVS di FreeBSD">
cvs-doc">
lista dei commit sul ramo ports del CVS di FreeBSD">
cvs-ports">
lista dei commit sul ramo projects del CVS di FreeBSD">
cvs-projects">
lista dei commit sul ramo src del CVS di FreeBSD">
cvs-src">
mailing list sul mantenimento di CVSweb di FreeBSD">
freebsd-cvsweb">
mailing list sui database sotto FreeBSD">
freebsd-database">
mailing list sul progetto di documentazione di FreeBSD">
freebsd-doc">
mailing list sull'emulazione FreeBSD">
freebsd-emulation">
mailing list di discussione su FireWire (IEEE 1394) in FreeBSD">
freebsd-firewire">
mailing list sul progetto di file system di FreeBSD">
freebsd-fs">
mailing list di FreeBSD su GEOM">
freebsd-geom">
mailing list su GNOME e sulle applicazioni GNOME con FreeBSD">
freebsd-gnome">
mailing list di discussioni tecniche su FreeBSD">
freebsd-hackers">
mailing list sull'hardware e le apparecchiature per FreeBSD">
freebsd-hardware">
mailing list sui siti mirror di FreeBSD">
freebsd-hubs">
mailing list sull'internazionalizzazione di FreeBSD">
freebsd-i18n">
mailing list sulle questioni specifiche all'architettura i386 di FreeBSD">
freebsd-i386">
mailing list sul porting di FreeBSD su IA32">
freebsd-ia32">
mailing list sul porting di FreeBSD su IA64">
freebsd-ia64">
mailing list sul codice IPFW di FreeBSD">
freebsd-ipfw">
mailing list sulle reti ISDN con FreeBSD">
freebsd-isdn">
mailing list degli Internet Service Provider che usano FreeBSD">
freebsd-isp">
mailing list sul linguaggio Java in FreeBSD">
freebsd-java">
mailing list sugli impieghi relativi a FreeBSD">
freebsd-jobs">
-
+
mailing list su KDE/Qt e le applicazioni KDE di FreeBSD">
freebsd-kde">
mailing list sul porting di LFS su FreeBSD">
freebsd-lfs">
mailing list sul sistema libh di FreeBSD di installazione e creazione dei package">
freebsd-libh">
mailing list sul porting di FreeBSD su MIPS">
freebsd-mips">
mailing list degli amministratori di un sito mirror di FreeBSD">
mirror-announce">
mailing list sui computer portatili con FreeBSD">
freebsd-mobile">
mailing list sul port per FreeBSD del browser Mozilla">
freebsd-mozilla">
mailing list sulle applicazioni multimediali con FreeBSD">
freebsd-multimedia">
mailing list sulle reti in FreeBSD">
freebsd-net">
mailing list per i nuovi utenti di FreeBSD">
freebsd-newbies">
mailing list sulla nuova architettura del bus di FreeBSD">
freebsd-new-bus">
mailing list su OpenOffice sotto FreeBSD">
freebsd-openoffice">
mailing list sulle prestazioni di FreeBSD">
freebsd-performance">
FreeBSD perl mailing list su perl sotto FreeBSD">
freebsd-perl">
mailing list sul porting di FreeBSD su piattaforme non Intel">
freebsd-platforms">
mailing list sulle decisioni del core team sulle politiche di FreeBSD">
freebsd-policy">
mailing list sui port di FreeBSD">
freebsd-ports">
mailing list sui bug dei port di FreeBSD">
freebsd-ports-bugs">
mailing list sul porting di FreeBSD su PowerPC">
freebsd-ppc">
mailing list sulla Garanzia di Qualità di FreeBSD">
freebsd-qa">
mailing list per le domande generiche su FreeBSD">
freebsd-questions">
mailing list sulle estensioni realtime di FreeBSD">
freebsd-realtime">
mailing list sul sottosistema SCSI di FreeBSD">
freebsd-scsi">
mailing list sulla sicurezza in FreeBSD">
freebsd-security">
mailing list sugli avvisi di sicurezza su FreeBSD">
freebsd-security-notifications">
mailing list su FreeBSD-small">
freebsd-small">
mailing list sul supporto multiprocessore di FreeBSD">
freebsd-smp">
mailing list sul porting di FreeBSD su SPARC">
freebsd-sparc64">
mailing list su &os.stable;">
freebsd-stable">
mailing list sulla conformità C99 e POSIX di FreeBSD">
freebsd-standards">
mailing list di prova di FreeBSD">
freebsd-test">
mailing list sui test di prestazioni e stabilità di FreeBSD">
freebsd-testing">
mailing list sui thread in FreeBSD">
freebsd-threads">
mailing list sulle reti tokenring in FreeBSD">
freebsd-tokenring">
mailing list di coordinamento dei gruppi utente di FreeBSD">
freebsd-user-groups">
mailing list di coordinamento dei distributori delle release di FreeBSD">
freebsd-vendors">
mailing list del Webmaster di FreeBSD">
freebsd-www">
mailing list di X11 per FreeBSD">
freebsd-x11">
majordomo@FreeBSD.org">