diff --git a/it_IT.ISO8859-15/articles/committers-guide/article.sgml b/it_IT.ISO8859-15/articles/committers-guide/article.sgml
index da0f93177b..de5f40839d 100644
--- a/it_IT.ISO8859-15/articles/committers-guide/article.sgml
+++ b/it_IT.ISO8859-15/articles/committers-guide/article.sgml
@@ -1,1634 +1,1688 @@
%man;
%freebsd;
%authors;
%teams;
+
+
+%it-trademarks;
%trademarks;
%mailing-lists;
%translators;
]>
Guida del CommitterThe FreeBSD Italian Documentation Project$FreeBSD$19992000200120022003The FreeBSD Italian Documentation Project
- &tm-attrib.freebsd;
+ &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.Traduzione a cura di &a.it.alex;.Dettagli AmministrativiHost con il Repository
Principalencvs.FreeBSD.orgMetodi di Accesso&man.ssh.1;, solo protocollo 2CVSROOT Principalencvs.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 NotaRELENG_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.
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 CommitIl 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 CommitterResponsabileComponenti dell'Alberosrccore@src/, doc/ soggetta ad appropriata revisionedocdoceng@doc/, www/, documentazione src/portsportmgr@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 CVSSi 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;RepositoryHostDirectorydocdcvs.FreeBSD.org/home/dcvsportspcvs.FreeBSD.org/home/pcvsprojectsprojcvs.FreeBSD.org/home/projcvssrcncvs.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
+
+ In questo modo è possibile fare tutte le operazioni di
+ CVS localmente ed usare Xcvs
+ 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 shazamQuesto 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 checkoutNon crea le directory vuoteEstrae solo un livello, non le sottodirectoryEstrai la versione, il ramo, o il tag
verEstrai 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 miscfsOra 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/miscfsOra 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 miscfsOra 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 miscfsOra 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 miscfsPuoi 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 miscfsNon 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' miscfsNon potrai effettuare modifiche.Estrai il modulo miscfs com'era una
settimana fa.&prompt.user; cvs co -D'last week' miscfsNon potrai effettuare modifiche.Tieni presente che cvs salva i metadati in sottodirectory chiamate
CVS.Gli argomenti di e
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 shazamQuesto visualizza lo stato del file shazam o
di ogni file nella directory shazam. Per ogni
file, lo stato è uno fra:Up-to-dateIl file à aggiornato e non è stato
modificato.Needs PatchIl file non è stato modificato, ma c'è una
nuova versione nel repository.Locally ModifiedIl file è aggiornato, ma è stato
modificato.Needs MergeIl file è stato modificato, e c'è una nuova
versione nel repository.File had conflicts on mergeCi 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 shazamQuesto 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:Estrae ogni directory aggiuntiva mancante.Scarica l'ultima versione del ramo principale.Altre magie (guarda sotto).Se hai estratto un modulo con o
, l'esecuzione di cvs update
con un argomento differente di o
o con selezionerà un
nuovo ramo, una nuova versione o una nuova data.
L'opzione elimina tutti i tag, le date o le
versioni fissate mentre e ne
impostano di nuove.Teoricamente, specificando HEAD come argomento
di avrai lo stesso risultato di
, ma è solo in teoria.L'opzione è utile se:qualcuno ha aggiunto delle sottodirectory al modulo che hai
estratto dopo averlo estratto.hai estratto con , 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:UIl file è stato aggiornato senza problemi.PIl file è stato aggiornato senza problemi (vedrai
questo solo quando lavorerai su un repository remoto).MIl file è stato modificato, ed è stato
fuso senza conflitti.CIl 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 è un po' voodoo. Aggiorna
il file locale alla versione specificata come se avessi usato
, 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 shazamApplica le modifiche tra la ver 1.14 e la 1.15:&prompt.user; cvs update -j1.14 -j1.15 shazam/shazam.cQuasi 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 shazammostra ogni modifica che hai fatto al file o al modulo
shazam.
Opzioni utili con cvs diffUtilizza il formato diff unificato.Utilizza il formato diff contestuale.Visualizza i file mancanti o aggiunti.
Vorrai sempre utilizzare , 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 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
o 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 o
.Guarda le righe di log con il comando
log.&prompt.user; cvs log shazamSe 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
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 al
comando log:&prompt.user; cvs log -r1.2 shazamQuesto 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 shazamAggiungi 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 commitForza il commit di un file non modificato.Specifica un messaggio di commit sulla riga di comando
anziché invocare un editor.
Usa l'opzione 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 diffInoltre, 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 -PQuesto 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 (visualizza i file
aggiunti o rimossi) e (formato diff unificato)
con &man.diff.1;.usa sempre le opzioni (elimina le
directory vuote) e (estrai le nuove directory)
quando si effettua l'update.usa sempre l'opzione (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 | cdiffAlternativamente 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 TradizioniCome 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.Se hai una chiave PGP o GnuPG, potresti volerla aggiungere in
doc/share/pgpkeys.&a.des; ha scritto uno script di shell per rendere questa
operazione molto semplice. Guarda il file README
per maggiori informazioni.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.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
fusi in &os.stable;. Nessuna nuova caratteristica importante o modifica
ad alto rischio dovrebbe essere fatta sul ramo &os.stable;.Relazioni tra SviluppatoriSe 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.GNATSIl 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.htmlhttp://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 localeSe 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=/usrQuesto 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/refuseIl 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/docsRipeti 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/indexVerifica la configurazione interrogando il database dei PR.
Questo comando visualizza i PR docs aperti.&prompt.root; query-pr -c docs -s openAnche 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 è ChiOltre 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;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 SSHSe 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.Invia la tua chiave pubblica
($HOME/.ssh/identity.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).
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 FreeBSDTraduzione in corsoSupporto per Diverse ArchitettureTraduzione in corsoFAQ Specifiche sui PortTraduzione in corsoBenefici del Lavoro
- Traduzione in corso
+ 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
+
+
+ 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 GeneraliTraduzione in corso
diff --git a/it_IT.ISO8859-15/articles/euro/article.sgml b/it_IT.ISO8859-15/articles/euro/article.sgml
index 2175ae56bc..b9b3ce0cfd 100644
--- a/it_IT.ISO8859-15/articles/euro/article.sgml
+++ b/it_IT.ISO8859-15/articles/euro/article.sgml
@@ -1,397 +1,399 @@
%man;
+
+%it-trademarks;
%trademarks;
%translators;
]>
Il simbolo dell'Euro su FreeBSDAaronKaplanaaron@lo-res.org20022003The FreeBSD Italian Documentation Project$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Questo documento cercherà di aiutarvi ad usare il nuovo
simbolo dell'Euro presente sulla vostra nuova tastiera
comprata all'inizio del 2002 per l'avvento della nuova valuta comune.
Inizieremo dalle parti più importanti come essere in grado di
visualizzare correttamente il simbolo in console. Le sezioni successive
tratteranno la configurazione di specifici programmi come
X11.Molti utili suggerimenti sono stati forniti da Oliver Fromm,
Tom Rhodes e innumerevoli altri.
Grazie! Senza di voi non sarebbe stato possibile realizzare questo
articolo!Traduzione a cura di &a.it.dema;.L'Euro in 5 minutiSe avete già familiarità con la
localizzazione come
descritta nel Manuale di FreeBSD
potreste essere interessanti solamente alle seguenti informazioni che
vi consentiranno di iniziare velocemente ad usare l'Euro:ISO8859-15Questa è una versione leggermente modificata della
più comune mappa caratteri ISO8859-1.
Include il simbolo dell'Euro. Usata per le variabili d'ambiente
LANG e LC_CTYPE.iso15-8x16.fntIl font per la console da usare con &man.vidcontrol.1;/usr/share/syscons/keymaps/*.iso.kbdMappe di tastiera per le diverse lingue. Impostate la vostra
variabile keymap in rc.conf
ad una di queste mappe.LC_CTYPEUsata per impostare il corretto tipo di caratteri nelle vostre
impostazioni locali.XkbLayout
"lingua(euro)"Opzione di configurazione di
XFree86./usr/X11R6/lib/X11/fonts/*/fonts.aliasAssicuratevi di modificare i nomi dei vostri file dei font di
X11 a -*-..-*-iso8859-15Nota generaleNelle sezioni seguenti ci riferiremo spesso a
ISO8859-15.
Questa è la notazione standard a partire da
FreeBSD 4.5.
Nelle versioni più vecchie la notazione standard era invece
ISO_8859-15 oppure
DIS_8859-15.Se state usando una versione di
FreeBSD più vecchia,
assicuratevi di guardare in
/usr/share/locale/ per scoprire quale notazione
è in uso nel vostro sistema.La consoleConfigurare il font della consoleIn base alla risoluzione e dimensione della vostra console
dovrete mettere una delle seguenti linee in
rc.conf:font8x16="iso15-8x16.fnt" # da /usr/share/syscons/fonts/*
font8x14="iso15-8x14.fnt"
font8x8="iso15-8x8.fnt"Questo imposterà effettivamente il font ISO8859-15 conosciuto
anche come Latin-9. ISO8859-15 è una variazione di ISO8859-1.
Potete notare la differenza tra i due esaminando il simbolo dell'Euro:
il suo valore decimale è 164. Nell'ISO8859-1 noterete un
cerchietto con quattro piccoli segnetti agli angoli. Questo è
spesso chiamato simbolo universale di valuta.
Nell'ISO8859-15, invece del cerchietto, avrete il simbolo dell'Euro.
Per il resto i font sono più o meno identici.Al momento della stesura di questo articolo l'unico font
utilizzabile sembra essere l'iso15-8x16.fnt.
Gli altri sembrano avere l'aspetto dello ISO8859-1 sebbene il nome
suggerisca altrimenti.Impostando questo font alcune applicazioni da console avranno
un aspetto rovinato.
Questo è dovuto al fatto che esse si
aspettano di trovare un diverso set di font/caratteri come per esempio
l'ANSI 850. Un tipico esempio è
sysinstall.
Comunque questo non dovrebbe essere un problema nella maggior parte
dei casi.Il vostro prossimo passo dovrebbe essere o riavviare il vostro
sistema affinché i cambiamenti abbiano effetto oppure
(manualmente) effettuare le modifiche nello stesso modo in cui
avverrebbero all'avvio:&prompt.user; vidcontrol -f iso15-8x16.fntPer controllare se il font è stato impostato eseguite il
seguente piccolo script
awk:#!/usr/bin/awk -f
BEGIN {
for(i=160;i<180;i++)
printf"%3d %c\n",i,i
}Il risultato dovrebbe mostrare il simbolo dell'Euro nella
posizione 164.Configurare la vostra tastiera per l'EuroLa maggior parte delle mappe di tastiera dovrebbe essere già
correttamente impostata. Per esempio, se avete una tastiera
italiana e vi funzionano le lettere accentate, potete tranquillamente
saltare questa sezione visto che la tastiera mappa correttamente la
combinazioni di caratteri, qualunque essa sia,
(ad esempio: Alt Gre) al valore decimale 164.
Se avete problemi la cosa migliore è controllare i file in
/usr/share/syscons/keymaps/*.kbd.
Il formato dei file delle mappe di tastiera è descritto in
&man.keyboard.4;. &man.kbdcontrol.1; può essere usato per
caricare una mappa personalizzata.Una volta che è stata trovata la corretta mappa di tastiera,
dovete aggiungerla a /etc/rc.conf con la
linea:keymap="it.iso" # o un'altra mappaCome spiegato in precedenza, questo passo probabilmente lo avete
già fatto al momento dell'installazione (con
sysinstall).
In caso contrario, riavviate oppure caricate la nuova mappa con
&man.kbdcontrol.1;.Per verificare la nuova mappatura della tastiera, passate ad una
nuova console e al prompt di login, invece di
loggarvi, provate a premere il tasto Euro.
Se non funziona assicuratevi di aver correttamente impostato la
giusta mappa di tastiera oppure inviate una segnalazione di bug
con &man.send-pr.1;.Al momento il tasto Euro non funziona ancora con
bash o
tcsh.Correggere le variabili d'ambienteLe shell (bash,
tcsh) si basano sulla libreria
&man.readline.3;, la quale a sua volta utilizza la variabile d'ambiente
LC_CTYPE. LC_CTYPE deve essere impostata
prima che la shell sia completamente operativa.
Fortunatamente è sufficiente aggiungere la linea:export LC_CTYPE=it_IT.ISO8859-15al vostro file .bash_profile
(bash), oppure:setenv LC_CTYPE it_IT.ISO8859-15al vostro file .login
(tcsh). Naturalmente,
it_IT deve essere sostituito con la
vostra lingua. Poi, sloggatevi e riloggatevi nuovamente, e verificate
che il tasto Euro funzioni.
Già così la maggior parte delle applicazioni console
dovrebbe funzionare correttamente col tasto Euro.
Ulteriori configurazioni per programmi speciali come
pine potrebbero essere comunque
necessarie.Un'alternativa alla modifica di .login e
.bash_profile è quella di impostare le
variabili d'ambiente tramite &man.login.conf.5;. Questo approccio
ha il vantaggio di assegnare classi di login a determinati utenti
(esempio, utenti Francesi, utenti Tedeschi, ecc.)
in un solo posto.Modificare X11Modificate /etc/XF86Config secondo le
seguenti istruzioni:Option "XkbLayout" "it(euro)"Come sempre, rimpiazzate it con la
vostra lingua. Così facendo la tastiera dovrebbe essere
configurata correttamente. Come in console, deve essere scelto il font
adatto. Per le applicazioni KDE andate in
KDE control center ->
Personalization -> Country & Language -> Charset e
cambiatelo in ISO8859-15.
Simili modifiche si devono effettuare per
kmail e altre applicazioni.Un'altra buona idea è modificare i vostri file
fonts.alias.
In particolar modo il font fixed dovrebbe essere
modificato per usare la giusta mappa caratteri. Il file
/usr/X11R6/lib/X11/fonts/misc/fonts.alias
dell'autore è mostrato come esempio:! $Xorg: fonts.alias,v 1.3 2000/08/21 16:42:31 coskrey Exp $
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
(...)Come in console, applicazioni speciali hanno ancora i font
ISO8859-1 configurati nei loro rispettivi database &man.xrdb.1;.
Un esempio importante è xterm.
Come regola generale è sufficiente cambiare il corrispondente file
di configurazione in
/usr/X11R6/lib/X11/app-defaults
e aggiungere il font corretto. Ecco come fare per
xterm.&prompt.root; cd /usr/X11R6/lib/X11/app-defaults/
&prompt.root; vi XTermAggiungete la seguente linea all'inizio del file:*font: -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15Infine, fate ripartire X e assicuratevi che i font siano
visualizzati correttamente eseguendo il precedente
script awk.
Tutte le principali applicazioni dovrebbero rispettare la mappatura di
tastiera e l'impostazione del font.Problemi non ancora risoltiNaturalmente, l'autore gradirebbe ricevere i vostri commenti.
Inoltre, fatemi almeno sapere se avete soluzioni per questi problemi
irrisolti.Descrivere metodi alternativi per configurare
XFree86:
x11/xkeycapsImpostazioni in GNOMEImpostazioni in XFCEImpostazioni per (X)EmacsDescrivere l'UTF-8Descrivere libiconv come un buon
sistema per convertire applicazioni da ISO8859-15 a UTF-{8,16}
diff --git a/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml b/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml
index 84f646b98e..475dad93ac 100644
--- a/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml
+++ b/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml
@@ -1,612 +1,614 @@
%man;
%freebsd;
+
+%it-trademarks;
%trademarks;
%translators;
]>
Panoramica su BSDGregLeheygrog@FreeBSD.org
&tm-attrib.freebsd;
&tm-attrib.apple;
&tm-attrib.linux;
&tm-attrib.opengroup;
&tm-attrib.sun;
&tm-attrib.xfree86;
&tm-attrib.general;
Nel mondo open source, la parola Linux è quasi
sinonimo di Sistema Operativo, ma non si tratta del solo
sistema operativo &unix; open source. Secondo
l'Internet
Operating System Counter, ad Aprile del 1999 il 31.3% delle
macchine connesse in rete ha in esecuzione Linux.
Il 14.6% fa girare BSD &unix;.
Alcuni dei più grandi operatori del web, come Yahoo!, usano BSD. Il server
FTP più affollato del mondo, ftp.cdrom.com, usa BSD per
trasferire 1.4 TB di dati al giorno. Chiaramente questo non è
un mercato di nicchia: BSD è un segreto ben mantenuto.Dunque, qual è il segreto? Perché BSD non è
conosciuto meglio? Questo documento risponde a questa e ad altre
domande.In questo documento, le differenze tra BSD e Linux verranno
evidenziate così.Traduzione a cura di &a.it.surrender;.Cos'è BSD?BSD sta per Berkeley Software Distribution. È
il nome delle distribuzioni di codice sorgente dell'Università
della California, Berkeley, che erano originariamente estensioni al
sistema operativo &unix; del settore Ricerca della AT&T.
Molti progetti open source di sistemi operativi sono basati
su una versione di questo codice sorgente noto come
4.4BSD-Lite. Inoltre, essi comprendono un gran numero di
pacchetti provenienti da altri progetti Open Source, incluso, in
particolare, il progetto GNU. L'intero sistema operativo
comprende:Il kernel BSD, che gestisce lo scheduling dei processi, l'utilizzo
della memoria, il supporto multiprocessore (SMP), i driver dei
vari dispositivi, ecc.Diversamente dal kernel Linux, ci sono differenti
kernel BSD con differenti caratteristiche.La libreria C, le API di base per il sistema.La libreria C BSD è basata su codice proveniente
da Berkeley, non dal progetto GNU.Utilità come shell, file manager, compilatori e
linker.Alcune delle applicazioni derivano dal
progetto GNU, altre no.L'X Window System, che gestisce la visualizzazione grafica.L'X Window System usato nella maggior parte delle versioni di
BSD viene mantenuto come un progetto separato, il
progetto &xfree86;.
Questo è lo stesso codice usato da Linux. BSD in genere non
specifica un desktop grafico come GNOME o KDE,
anche se questi sono disponibili.Molti altri programmi ed utilità.Cosa, un vero &unix;?I sistemi operativi BSD non sono cloni, ma derivati open source
del sistema operativo &unix; dell'AT&T Research, che è anche
l'antenato del moderno &unix; System V. Questo potrebbe sorprendere.
Come è potuto accadere questo, se la AT&T non ha mai rilasciato
il suo codice come open source?È vero che lo &unix; AT&T non è open source, e nel
senso del copyright BSD in definitiva non è
&unix;, ma d'altro canto l'AT&T ha importato sorgenti da altri
progetti, in maniera rilevante dal Computer Sciences Research Group
dell'Università della California a Berkeley, CA. Iniziato nel
1976, il CSRG ha iniziato a rilasciare nastri con il loro software,
chiamandolo Berkeley Software Distribution o
BSD.Le versioni iniziali di BSD consistevano principalmente di programmi
utente, ma questo cambiò drammaticamente quando il CSRG
sottoscrisse un contratto con la
Defense Advanced Projects Research Agency (DARPA) per migliorare
i protocolli di comunicazione della loro rete, ARPANET. I nuovi
protocolli furono conosciuti come Internet Protocols,
e in seguito come TCP/IP, ai nomi dei protocolli
più importanti. La prima implementazione distribuita in maniera
estesa fu parte di 4.2BSD, nel 1982.Nel corso degli '80, sorsero un certo numero di compagnie
che producevano workstation. Molti preferirono usare &unix; su licenza
piuttosto che sviluppare da soli un nuovo sistema operativo.
In particolare, la Sun Microsystems rilicenziò &unix; ed
implementò una versione commerciale di 4.2BSD, che chiamò
SunOS. Quando alla AT&T stessa fu permesso di vendere &unix;
commercialmente, cominciarono con una implementazione ridotta all'osso
nota come System III, presto seguita da System V.
Il codice fondamentale di System V non comprendeva la parte di rete,
dunque tutte le implementazioni includevano software addizionale tratto
da BSD, incluso il software legato al TCP/IP, ma anche utilità come
la shell csh e l'editor vi.
Complessivamente, questi miglioramenti furono conosciuti
come le Estensioni Berkeley.Il nastro BSD conteneva codice AT&T e dunque richiedeva
una licenza per il sorgente &unix;. Dal 1990, il finanziamento del CSRG
si stava esaurendo, e se ne stava per affrontare la chiusura.
Alcuni membri del gruppo decisero di rilasciare il codice BSD,
che era Open Source, senza il codice proprietario della AT&T.
Ciò accadde infine con il Networking Tape 2,
in genere noto come Net/2. Net/2 non era un sistema
operativo completo: mancava circa il 20% del codice del kernel. Uno dei
membri del CSRG, William F. Jolitz, scrisse il codice rimanente e lo
rilasciò all'inizio del 1992 come 386BSD.
Allo stesso tempo, un altro gruppo di ex membri del CSRG formò una
compagnia chiamata Berkeley Software
Design Inc. e rilasciò una versione beta di un sistema
operativo chiamato BSD/386,
che era basato sugli stessi sorgenti. Il nome del sistema operativo
è cambiato di recente in BSD/OS.386BSD non divenne mai un sistema operativo stabile. Invece, due
altri progetti se ne distaccarono nel 1993:
NetBSD e
FreeBSD.
I due progetti presero inizialmente direzioni divergenti, a causa della
differente pazienza nell'attendere miglioramenti a
386BSD: la gente di NetBSD cominciò all'inizio dell'anno,
e la prima versione di FreeBSD non fu pronta fino alla fine
dell'anno. Nel frattempo, i codici erano diventati abbastanza differenti
da renderne difficile la fusione. Inoltre, i progetti avevano obiettivi
differenti, come vedremo in seguito. Nel 1996, un ulteriore progetto,
OpenBSD, si divise da
NetBSD.Perché BSD non è più conosciuto?Per un certo numero di ragioni, BSD è relativamente
sconosciuto:Gli sviluppatori BSD sono spesso più interessati
a ripulire il loro codice che a fagli pubblicità.Molta della popolarità di Linux è dovuta a fattori
esterni al progetto Linux, come la stampa, e le compagnie formate per
fornire servizi relativi a Linux. Fino a poco tempo fa,
la varie versioni di BSD open source non avevano tali spinte.Gli sviluppatori BSD tendono ad avere più esperienza
di quelli di Linux, ed hanno meno interesse nel rendere il sistema
facile da usare.
I nuovi arrivati tendono a sentirsi più a loro agio con
Linux.Nel 1992, l'AT&T citò in giudizio
BSDI,
il produttore di BSD/386, sostenendo che il prodotto conteneva
codice sotto copyright della AT&T. Il caso fu risolto in
tribunale nel 1994, ma lo spettro della causa continua a perseguitare
alcune persone. Nel marzo 2000 un articolo pubblicato sul web
sosteneva che il caso era stato concluso
recentemente.Un dettaglio che venne chiarito dall'azione legale fu il nome:
negli anni '80, BSD era stato conosciuto come BSD
&unix;.
Con l'eliminazione delle ultima vestigia del codice AT&T da BSD,
si era perso anche il diritto di usare il nome &unix;. Per questo
noterete riferimenti nei libri al sistema operativo 4.3BSD
&unix; ed al sistema operativo 4.4BSD.C'è una certa percezione che il progetto BSD sia
frammentato e belligerante. Il Wall
Street Journal parlò di
balcanizzazione dei progetti BSD. Come per l'azione
legale, questa percezione si basa principalmente su vecchie
storie.Paragone tra BSD e LinuxDunque qual'è l'effettiva differenza tra, diciamo, Debian
Linux e FreeBSD? Per l'utente medio, la differenza è
sorprendentemente piccola: entrambi sono sistemi operativi tipo &unix;.
Entrambi vengono sviluppati da progetti non commerciali (questo non si
applica a molte altre distribuzioni di Linux, ovviamente). Nella sezione
seguente, daremo un'occhiata a BSD e lo paragoneremo a Linux.
La descrizione si applica molto da vicino a FreeBSD, che conta per un 80%
delle installazioni BSD, ma le differenza da NetBSD ed OpenBSD sono
piccole.Chi possiede BSD?Nessuna persona o società possiede BSD. Esso è creato
e distribuito da una comunità di persone con grande preparazione
tecnica e voglia di fare che contribuiscono da tutto il mondo.
Alcuni dei componenti di BSD sono progetti open source gestiti da
diversi responsabili.Come viene sviluppato ed aggiornato BSD?I kernel BSD vengono sviluppati ed aggiornati
seguendo il modello di sviluppo open source. Ogni progetto mantiene
un albero dei sorgenti liberamente accessibile in
un Concurrent Versions
System, un sistema di gestione delle versioni concorrenti,
che contiene tutti i file sorgenti del progetto,
inclusa la documentazione ed altri file inerenti. Il CVS
permette agli utenti di estrarre (in sostanza,
estrarre una copia di) ogni versione desiderata del sistema.Un grande numero di sviluppatori da tutto il mondo contribuisce al
miglioramento di BSD. Essi sono divisi in tre grandi gruppi:I contributor scrivono codice o
documentazione. Non gli è permesso di effettuare il commit
(aggiungere codice) direttamente all'albero dei sorgenti.
Affinché il loro codice sia incluso nel sistema, esso
deve essere rivisto e controllato da uno sviluppatore registrato,
noto come committer.I committer sono sviluppatori
con accesso in scrittura all'albero dei sorgenti.
Per poter divenire un committer, un individuo deve dimostrare
abilità nell'area nella quale è attivo.
È a discrezione del committer la volontà di
confrontarsi con qualcuno prima di effettuare cambiamenti. In
generale, un committer con esperienza può effettuare
cambiamenti che sono ovviamente corretti senza interrogare nessuno.
Ad esempio, un committer del progetto di documentazione può
correggere errori tipografici o grammaticali senza un confronto con
altri. D'altro canto, dagli sviluppatori che stanno per effettuare
cambiamenti profondi o complessi ci si aspetta che sottopongano i
cambiamenti a revisione prima di renderli effettivi. In casi
estremi, un membro del core team, con una funzione simile a un Capo
Architetto, può ordinare che i cambiamenti siano rimossi
dall'albero, un processo noto come marcia
indietro.
Tutti i committer ricevono una lettera che descrive ogni
modifica individuale, dunque non è possibile effettuare un
commit segretamente.Il Core Team. FreeBSD e NetBSD
hanno ognuno un core team che gestisce il progetto. I
core team si sono modificati nel corso del progetto, ed i loro
ruoli non sempre sono ben definiti. Non è necessario essere
uno sviluppatore per far parte del core team, anche se è
normale che sia così. Le regole
per il core team variano da un progetto ad un altro, ma in
generale chi ne fa parte ha più autorità
nell'indirizzamento del progetto rispetto agli altri membri.Questa organizzazione differisce da Linux in vari modi:Nessuna persona controlla il contenuto del sistema. In
pratica, questa differenza è sopravvalutata, poiché
il Capo Architetto può richiedere che il codice sia
rimosso, ed anche nel progetto Linux viene permesso a
molte persone di effettuare cambiamenti.D'altra parte, c'è un deposito
centrale, un punto singolo dove è possibile trovare i
sorgenti dell'intero sistema, incluse tutte le vecchie
versioni.I progetti BSD mantengono l'intero Sistema
Operativo, non solo il kernel. Questa distinzione
è utile solo marginalmente: né BSD né Linux
sono utili senza applicazioni. Le applicazioni usate su BSD sono
spesso le stesse usate su Linux.Come risultato di un mantenimento formalizzato
di un singolo CVS per l'albero dei sorgenti, lo sviluppo di BSD
è chiaro, ed è possibile accedere ad ogni versione del
sistema dal numero di release o dalla data.
Il CVS permette anche aggiornamenti incrementali del sistema: ad
esempio, il repository di FreeBSD viene aggiornato più o meno
100 volte al giorno. La maggior parte dei cambiamenti sono
piccoli.Release di BSDOgni progetto BSD fornisce il sistema in tre
release differenti. Come per Linux, alle release
vengono assegnati dei numeri come 1.4.1 o 3.5. Inoltre, il numero di
versione ha un suffisso che indica il suo scopo:la versione di sviluppo del sistema è chiamata
CURRENT. FreeBSD assegna un numero
alla CURRENT, ad esempio FreeBSD 5.0-CURRENT. NetBSD usa uno
schema di denominazione leggermente differente
ed aggiunge un suffisso di una singola lettera che indica
i cambiamenti nell'interfaccia interna, ad esempio NetBSD
1.4.3G. OpenBSD non assegna un numero
(OpenBSD-current).
Tutti gli sviluppi del sistema vanno in questo ramo.A intervalli regolari, tra le due e le quattro volte all'anno, i
progetti fanno uscire una versione RELEASE
del sistema, disponibile su CD-ROM e come libero download da siti
FTP, ad esempio OpenBSD 2.6-RELEASE o NetBSD 1.4-RELEASE.
La versione RELEASE è intesa per gli utenti finali ed
è la versione normale del sistema. NetBSD fornisce anche
patch release, versioni con solo piccole
correzioni, con una terza cifra, ad esempio NetBSD 1.4.2.Quando vengono trovati dei bug in una versione RELEASE,
vengono corretti, e le correzioni vengono aggiunte all'albero del
CVS. In FreeBSD, la versione risultante viene detta
STABLE, mentre in NetBSD ed OpenBSD continua
a chiamarsi RELEASE. Caratteristiche minori possono essere aggiunte
a questo ramo dopo un periodo di test nel ramo CURRENT.In contrasto, Linux mantiene due alberi di codice
differenti: la versione stabile e la versione di sviluppo.
Le versioni stabili hanno un numero di versione pari, come 2.0, 2.2 o
2.4. Le versioni di sviluppo hanno numero di versione dispari, come
2.1, 2.3 o 2.5. In ogni caso, il numero è seguito da un
ulteriore numero che indica la versione esatta. Inoltre, ogni
venditore aggiunge i suoi programmi utente o le sue utilità,
dunque anche il nome della distribuzione è importante. Ogni
venditore di distribuzione assegna anche un numero di versione alla
distribuzione, dunque una descrizione completa dovrebbe essere una
cosa del tipo TurboLinux 6.0 con kernel
2.2.14Quali versioni di BSD sono disponibili?In contrasto alle numerose distribuzioni Linux, ci sono solo
tre BSD open source. Ogni progetto BSD mantiene il suo albero dei
sorgenti ed il suo kernel. In pratica, comunque, ci sono meno
divergenze tra i codici dei programmi utente dei vari progetti di quante
ce ne siano in Linux.È difficile catalogare gli obiettivi di ogni progetto:
le differenze sono molto soggettive. Di base,FreeBSD punta alle alte prestazioni e alla facilità d'uso
per l'utente finale, ed è molto usato dai fornitori di
contenuti web. Funziona su PC e processori Alpha della Compaq.
Il progetto FreeBSD ha nettamente più utenti degli
altri.NetBSD punta alla massima portabilità: of course
it runs NetBSD, ovviamente ci gira NetBSD.
Funziona su macchine che vanno dai palmtop ai grossi
server, ed è anche stato usato dalla NASA in alcune missioni
spaziali. È una scelta particolarmente buona per il vecchio
hardware non Intel.OpenBSD punta alla sicurezza e alla purezza del codice: usa una
combinazione dei concetti open source e un rigoroso controllo
del codice per creare un sistema la cui correttezza sia
dimostrabile, rendendolo la scelta di organizzazioni attente alla
sicurezza come banche, borse e dipartimenti del governo
statunitense.
Come NetBSD, funziona su un gran numero di piattaforme.Ci sono anche altri due sistemi operativi BSD che non sono open
source, BSD/OS e il &macos; X della Apple:BSD/OS è il più antico dei derivati di 4.4BSD.
Non è open source, anche se licenze per il codice sorgente
sono disponibili ad un costo relativamente basso. Assomiglia a
FreeBSD in molti sensi.&macos;
X è l'ultima versione del sistema operativo per
la linea &macintosh; della Apple
Computer Inc.. L'anima BSD &unix; di questo sistema
operativo, Darwin, è
disponibile come un sistema operativo open source completamente
funzionante per computer x86 e PPC. Il sistema grafico Aqua/Quartz
e molti altri aspetti proprietari di &macos; X rimangono comunque
closed source. Numerosi sviluppatori di Darwin sono anche
committer di FreeBSD, e viceversa.Come differisce la licenza BSD dalla GNU Public?Linux è disponibile con licenza GNU General Public
License (GPL), che è pensata per eliminare il software
closed source. In particolare, ogni lavoro derivante da un prodotto
rilasciato sotto GPL deve essere fornito anche con il codice sorgente,
se richiesto. Al contrario, la licenza
BSD è meno restrittiva: le distribuzioni dei soli
binari sono permesse. Ciò è particolarmente attraente per
le applicazioni embedded.Cos'altro dovrei sapere?Poiché sono disponibili meno applicazioni per BSD che per
Linux, gli sviluppatori BSD hanno creato un pacchetto di
compatibilità con Linux, che permette ai programmi per Linux di
funzionare su BSD. Il pacchetto include sia modifiche al kernel, in
modo da permettere l'esecuzione corretta di chiamate di sistema
Linux, che file di compatibilità, come la libreria C. Non
c'è una differenza notevole nella velocità di esecuzione
tra una applicazione in esecuzione su una macchina Linux ed una
applicazione in esecuzione su una macchina BSD con pari
caratteristiche.La natura tutto da una sola fonte di BSD fa sì
che gli aggiornamenti siano molto più semplici da gestire
rispetto alla maggior parte dei casi in Linux. BSD gestisce gli
aggiornamenti della versione di libreria fornendo moduli di
compatibilità per le versioni precedenti, dunque è
possibile eseguire binari di parecchi anni prima senza problemi.Cosa dovrei usare, BSD o Linux?Cosa significa tutto questo in pratica? Chi dovrebbe usare BSD, chi
dovrebbe usare Linux?Questa è una domanda molto difficile a cui rispondere. Qui
ci sono alcune linee guida:Se non è rotto, non aggiustarlo: se usi
già un sistema operativo open source, e ne sei soddisfatto,
probabilmente non c'è ragione di cambiare.I sistemi BSD, in particolare FreeBSD, possono avere prestazioni
notevolmente migliori di Linux. Ma questo non avviene in tutti i
campi. In molti casi, c'è una differenza minima nelle
prestazioni. In alcuni casi, Linux può comportarsi meglio di
FreeBSD.In generale, i sistemi BSD hanno una reputazione migliore di
affidabilità, principalmente come risultato di una base di
codice più maturo.La licenza BSD può essere più attraente della
GPL.BSD può eseguire codice Linux, mentre Linux non
può eseguire codice BSD. Come risultato, c'è
più software disponibile per BSD che per Linux.Chi fornisce supporto, servizi, e training su BSD?BSD ha sempre supportato BSD/OS, e recentemente ha
annunciato contratti di supporto per FreeBSD.Inoltre, ognuno dei progetti ha una lista di consulenti a pagamento:
FreeBSD,
NetBSD,
e OpenBSD.
diff --git a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml
index 5561fc02b9..f25ec47788 100644
--- a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml
+++ b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml
@@ -1,433 +1,435 @@
%man;
+
+%it-trademarks;
%trademarks;
]>
Filtering BridgesAlexDupresysadmin@alexdupre.com$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, nonmuro 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'installazioneAggiungere 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 KernelCosì 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_VERBOSELa 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 ModuliSe 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 finaliPrima 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à ,
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à
(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à , 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 BridgeA 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=1La prima riga specifica tra quali interfacce va attivato il bridge,
la seconda abilita il firewall sul bridge ed infine la terza attiva il
bridge.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]
di queste righe al file /etc/sysctl.conf, in modo che
vengano eseguite all'avvio della macchina.Configurazione del FirewallOra è 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
oppure non verrà mai eseguita. Personalmente
uso che è una sintassi più antica,
ma che ha un senso quando la si legge.
Un'altra limitazione è che si possono usare solo i comandi
e per i pacchetti filtrati
dal bridge. Cose avanzate come ,
o 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à 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 anyColoro 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 fxp0Ovvero, 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 o
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 attraverso il
packet filter, dovrete fare un'eccezione per i pacchetti generati
localmente, in quanto non entrano tramite nessuna interfaccia.ContributiAlcune 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/article.sgml b/it_IT.ISO8859-15/articles/multi-os/article.sgml
index 21c7ba5400..290b5c5eac 100644
--- a/it_IT.ISO8859-15/articles/multi-os/article.sgml
+++ b/it_IT.ISO8859-15/articles/multi-os/article.sgml
@@ -1,792 +1,794 @@
%authors;
+
+%it-trademarks;
%trademarks;
%translators;
]>
Installazione e Utilizzo di FreeBSD con altri Sistemi
OperativiJayRichmondjayrich@sysc.com6 Agosto 1996
&tm-attrib.freebsd;
&tm-attrib.ibm;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.powerquest;
&tm-attrib.general;
Questo documento spiega come far coesistere felicemente
FreeBSD con altri sistemi operativi come Linux, &ms-dos;,
&os2;, e &windows; 95.
Un ringraziamento speciale va a: Annelise Anderson
andrsn@stanford.edu, Randall Hopper
rhh@ct.picker.com, e &a.jkh;.Traduzione a cura di &a.it.max;.IntroduzioneMolta gente non può far convivere questi sistemi operativi
senza avere a disposizione un hard disk di grosse dimensioni,
perciò sono state incluse informazioni speciali sui drive EIDE
di grosse dimensioni. Poiché ci sono così tante
combinazioni di possibili sistemi operativi e configurazioni di hard disk,
la potrebbe esserti di aiuto più
di altre. Contiene descrizioni di specifiche configurazioni che
usano molteplici sistemi operativi.Questo documento assume che tu abbia già fatto posto sul tuo
hard disk per un altro sistema operativo. Ogni volta che
ripartizioni il tuo hard disk, corri il rischio di distruggere
e quindi perdere i dati sulle partizioni originali. In ogni caso,
se il tuo hard disk è completamente occupato dal DOS, potresti
usare FIPS (incluso nel CDROM di FreeBSD nella directory
\TOOLS oppure via
ftp).
Ti permette di ripartizionare il tuo hard disk senza distruggere i
dati già contenuti. C'è anche un programma commerciale
chiamato &partitionmagic;, che ti permette
di ridimensionare e cancellare partizioni senza conseguenze.Panoramica sui Boot ManagerSi tratta solo di brevi descrizioni dei diversi boot manager che
potresti trovare. A seconda del tuo computer, potresti trovare
utile usarne più di uno sullo stesso sistema.Boot EasyQuesto è il boot manager standard fornito con FreeBSD.
Ha la possibilità di far partire qualsiasi cosa, incluso BSD,
&os2; (HPFS), &windows; 95 (FAT e FAT32), e Linux.
Le partizioni vengono scelte con i tasti funzione (F1-F12).Boot Manager di &os2;Questo fa partire FAT, FAT32, HPFS, FFS (FreeBSD), ed EXT2
(Linux). Le partizioni vengono scelte usando i tasti freccia.
L'&os2; Boot Manager è
l'unico ad usare una propria partizione separata, diversamente
dagli altri, che usano il master boot record (MBR). Di conseguenza,
deve essere installato prima del 1024esimo cilindro per evitare
problemi di avvio. Può far partire Linux usando LILO quando
questo è parte del settore di avvio, non dell'MBR.
Leggi gli HOWTO
di Linux sul World Wide Web per avere più
informazioni su come far partire Linux con il boot manager di
&os2;.OS-BSQuesta è un'alternativa a Boot Easy. Ti dà
più controllo sul processo di avvio, con la
possibilità di impostare la partizione di default da cui
partire e il timeout di avvio.
La versione beta di questo programma ti permette di avviare
scegliendo il sistema operativo con i tasti freccia. È
incluso nel cd di FreeBSD nella directory
\TOOLS oppure via ftp.LILO, o LInux LOaderQuesto è un boot manager limitato. Farà partire
FreeBSD, sebbene siano necessari alcuni accorgimenti e sistemazioni
nel file di configurazione.A proposito di FAT32FAT32 è il rimpiazzo al file system FAT incluso nella Release
Beta SR2 di Microsoft, che dovrebbe essere installata
con &windows; 95 a partire dalla fine del 1996. Converte il
normale file system FAT e ti permette di usare cluster di
dimensioni più piccole per hard disk di dimensioni maggiori.
Inoltre FAT32 modifica il settore di avvio tradizionale e la tabella
di allocazione, rendendola incompatibile con alcuni Boot
Manager.Una Installazione TipicaDiciamo che ho due grandi hard disk EIDE e voglio installarci
FreeBSD, Linux, e &windows; 95.Ecco come potrei fare usando questi due hard disk:/dev/wd0 (Primo hard disk)/dev/wd1 (Secondo hard disk)Tutti e due hanno 1416 cilindri.Parto dalla partizione &ms-dos; o dal dischetto di avvio
di &windows; 95 che contiene l'utility FDISK.EXE
e creo una piccola partizione primaria da 50 MB
(35-40 per &windows; 95, più un po' di spazio per respirare)
sul primo disco. Creo anche una partizione più grande sul
secondo hard disk per le applicazioni di &windows; e per i
dati.Faccio ripartire ed installo &windows; 95 (più facile a
dirsi che a farsi) sulla partizione C:.La prossima cosa che farò sarà installare Linux.
Non sono sicuro per le altre distribuzioni, ma la Slackware include
LILO (guarda la ). Quando ripartiziono il
mio hard disk con l'fdisk di Linux,
metterò tutto ciò che riguarda Linux sul primo hard
disk (probabilmente 300 MB per una partizione di
root decente e un po' di spazio di swap).Dopo aver installato Linux, quando viene chiesto di
installare LILO, assicurati di installarlo sul
settore di avvio della partizione di Linux, non
nell'MBR (Master Boot Record).La parte rimanente di hard disk va a FreeBSD.
Assicurati anche che la slice root di FreeBSD
non vada oltre il 1024esimo cilindro. (Il 1024esimo
cilindro è circa intorno ai 528 MB in un disco ipotetico,
il mio, di 720 MB). Userò il resto dell'hard disk
(circa 270 MB) per /usr e
/. Il resto del secondo hard
disk (la grandezza varia a seconda di quanto spazio
ho lasciato agli applicativi e ai dati per &windows;
quando ho creato la partizione nel primo passo) può
essere usata per /usr/src
e per lo spazio di swap.Se visualizzato con l'utility fdisk
di &windows; 95, l'hard disk dovrebbe risultare in questo modo:
---------------------------------------------------------------------
Display Partition Information
Current fixed disk drive: 1
Partition Status Type Volume_Label Mbytes System Usage
C: 1 A PRI DOS 50 FAT** 7%
2 A Non-DOS (Linux) 300 43%
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
Press Esc to continue
---------------------------------------------------------------------
Display Partition Information
Current fixed disk drive: 2
Partition Status Type Volume_Label Mbytes System Usage
D: 1 A PRI DOS 420 FAT** 60%
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
Press Esc to continue
---------------------------------------------------------------------
** Potrebbe essere FAT16 o FAT32 se stai usando l'aggiornamento OEM
SR2. Guarda la .Installazione di FreeBSD. Assicurati di avviare il computer
con il primo hard disk configurato con NORMAL nel BIOS.
Se non è così, dovrai settare la vera geometria
del disco all'avvio (per arrivare a fare ciò, fai partire
&windows; 95 e consulta Microsoft Diagnostics
(MSD.EXE), o controlla il BIOS) con il
parametro hd0=1416,16,63 dove
1416 è il numero di cilindri sull'hard disk,
16 è il numero di testine per
traccia, o heads per track, e
63 è il numero di settori per
traccia sul drive.Quando partiziono l'hard disk, cerco sempre di mettere Boot
Easy sul primo hard disk. Non mi preoccupo del secondo hard
disk, non parte nulla da quello.Al riavvio, Boot Easy dovrebbe riconoscere le tre partizioni
avviabili, cioè quella DOS (ovvero &windows; 95), Linux, e
BSD (FreeBSD).Considerazioni SpecialiMolti sistemi operativi sono molto pignoli su come e dove devono
essere messi sull'hard disk. &windows; 95 deve essere sulla prima
partizione primaria sul primo hard disk. &os2; fa eccezione. Può
essere installato in una partizione primaria o estesa sul primo o sul
secondo hard disk. Se non sei sicuro, mantieni la parte avviabile di
partizione sotto il 1024esimo cilindro.Se installi &windows; 95 su un sistema BSD esistente, questo
distruggerà l'MBR, e dovrai reinstallare il boot
manager precedente. Boot Easy può essere reinstallato usando
l'utility BOOTINST.EXE inclusa nella directory
\TOOLS sul cdrom, oppure
via ftp.
Puoi anche ricominciare l'installazione e andare all'editor delle
partizioni. Da lì, marcare la partizione di FreeBSD come
avviabile, scegliere Boot Manager, e quindi digitare W per scrivere le
informazioni nell'MBR. Puoi ora riavviare, e Boot Easy dovrebbe
riconoscere &windows; 95 e DOS.Ricordati che &os2; può leggere partizioni FAT e HPFS, ma non
FFS (FreeBSD) o EXT2 (Linux). Diversamente &windows; 95 può
leggere e scrivere solo su FAT o FAT32 (guarda la ).
FreeBSD può leggere gran parte degli altri file system, ma al
momento non può leggere partizioni HPFS. Linux può leggere
partizioni HPFS, ma non può scrivervi. Versioni recenti del kernel
di Linux (2.x) possono leggere e scrivere su partizioni di &windows; 95 di
tipo VFAT (VFAT è ciò che permette a &windows; 95 di avere
i nomi di file lunghi - è molto simile alla FAT).
Linux può leggere e scrivere sulla maggior parte dei file system.
Capito? Lo spero...Esempi(La sezione ha bisogno di lavoro, per favore spedisci
il tuo esempio a jayrich@sysc.com).FreeBSD + &windows; 95: Se hai installato FreeBSD dopo &windows; 95,
dovresti vedere DOS nel menu di Boot Easy. Questo
è &windows; 95. Se hai installato &windows; 95 dopo FreeBSD, leggi
la sopra.
Fin quando il tuo hard disk non ha più di 1024 cilindri, non
dovrebbero esserci problemi.
Se una partizione va oltre il 1024esimo cilindro, e hai
messaggi di errore come invalid system disk sotto
DOS (&windows; 95) e FreeBSD non parte, prova a cercare una opzione nel
BIOS chiamata > 1024 cylinder support o
NORMAL/LBA mode.
DOS potrebbe necessitare dell'LBA (Logical Block Addressing -
Indirizzamento Logico dei Blocchi) per partire correttamente. Se l'idea
di cambiare delle impostazioni nel BIOS ogni volta che si accende il
computer non ti piace, puoi far partire FreeBSD da DOS con l'utility
FBSDBOOT.EXE che trovi sul CD (dovrebbe trovare la
tua partizione FreeBSD e farla partire).FreeBSD + &os2; + &windows; 95: Nulla di nuovo qui. Il boot manager
di &os2; può far partire tutti questi sistemi operativi,
cosicché non dovrebbero esserci problemi.FreeBSD + Linux: Puoi usare Boot Easy per far partire tutti e due i
sistemi operativi.FreeBSD + Linux + &windows; 95: (guarda la )Altre Fonti di AiutoCi sono molti HOW-TO su
Linux che trattano come affrontare il problema di avere
più sistemi operativi sullo stesso hard disk.Il Linux+DOS+Win95+OS2
mini-HOWTO offre aiuto su come configurare il boot manager di
&os2; e il Linux+FreeBSD
mini-HOWTO potrebbe essere anch'esso interessante.
Anche il Linux-HOWTO
è di grande aiuto.L'&windowsnt;
Loader Hacking Guide fornisce buone informazioni sul
multibooting di &windowsnt;, '95, e DOS con altri sistemi
operativi.E il pacchetto di Hale Landis, How It Works contiene
alcune utili informazioni su tutti i tipi di geometrie dei drive e su
argomenti legati al processo di avvio. Puoi trovarlo su .Inoltre non perderti la documentazione del kernel di FreeBSD sul
processo di avvio, disponibile nella distribuzione dei sorgenti del kernel
(si scompatta in file:/usr/src/sys/i386/boot/biosboot/README.386BSD.Dettagli Tecnici(Contributo di Randall Hopper,
rhh@ct.picker.com)Questa sezione prova a fornire abbastanza informazioni di base
sugli hard disk e sul processo di avvio così da
essere poi capaci di determinare le cause dei problemi più
frequenti che potreste affrontare al momento dell'installazione e della
configurazione di più sistemi operativi. Inizia con un
linguaggio semplice, così potresti voler scorrere la pagina fino a
quando non ti sembri difficile e cominciare quindi da quel punto a
leggere.Introduzione agli Hard DiskSono generalmente usati tre termini fondamentali per descrivere
l'allocazione dei dati sull'hard disk: Cylinders (Cilindri), Heads
(Testine), e Sectors (Settori). Non è particolarmente importante
sapere esattamente cosa significano questi termini e quale sia il loro
compito specifico, ma interessa sapere che, insieme, identificano dove
si trovano fisicamente i dati sull'hard disk.Ogni hard disk ha un particolare numero di cilindri, di testine, e
di settori per ogni parte di cilindro relativa a una singola testina
(che generalmente viene chiamato track, o traccia).
Questi dati contribuiscono a determinare la geometria
fisica del disco dell'hard disk. Ci sono
generalmente 512 byte per settore, e 63 settori per traccia, mentre
il numero di cilindri e testine varia a seconda del tipo di hard disk.
In questo modo puoi trovare la quantità di dati che il disco
potrebbe contenere semplicemente calcolando:(numero di cilindri) × (numero di testine) × (63
settori/traccia) × (512 byte/settore)Per esempio, sul mio Western Digital AC31600 EIDE, questo
è:(3148 cilindri) × (16 testine) × (63
settori/traccia) × (512 byte/settore)che sarebbe 1,624,670,208 byte, o circa 1.6 Giga.Puoi scoprire la geometria fisica del disco (cioè il numero
di cilindri, testine, e il fattore settori/tracciati) del tuo hard disk
usando ATAID o altri programmi reperibili su Internet. Probabilmente il
tuo hard disk ti è stato venduto con queste informazioni.
Comunque stai attento: se stai usando l'opzione LBA del BIOS (vedi la
), non puoi usare un qualsiasi programma per
conoscere la geometria fisica. Questo perché molti programmi (ad
esempio MSD.EXE o l'fdisk di FreeBSD) non
identificano la geometria fisica del disco, fanno invece riferimento
alla geometria traslata (Numeri virtuali usando
LBA). Continua a leggere per saperne di più.Un altro aspetto interessante di questi termini. Dati 3
numeri—un numero di cilindri, un numero di testine, e un numero
di settori per tracciato—si può identificare uno specifico
settore assoluto (un blocco di 512 byte di dati) sull'hard disk. I
cilindri e le testine sono numerati partendo da 0, e i settori sono
numerati partendo da 1.Per quelli che sono interessati a dettagli più tecnici,
informazioni sulla geometria dei dischi, settori di avvio, BIOS, e
altro, possono trovare grandi quantità di informazioni in
Internet. Basta fare una ricerca con Lycos, Yahoo e altri digitando
boot sector o master boot record.
Tra le numerose informazioni utili che si possono trovare c'è il
pacchetto di documentazione How It Works (in
italiano Come Funziona) di Hale Landis. Guarda la
per alcuni puntatori a questo
pacchetto.Ok, troppa terminologia finora. Adesso parliamo del processo di
avvio.Il Processo di AvvioSul primo settore del tuo disco (Cyl 0, Head 0, Sector 1) risiede
il Master Boot Record (MBR). Questo contiene una mappa del tuo disco.
Identifica fino a 4 partizioni, ciascuna delle
quali è uno spazio, una parte, di quel disco. FreeBSD chiama
queste partizioni slices per evitare confusione
con le sue partizioni, di cui ora non parleremo.
Ciascuna partizione può contenere un sistema operativo
diverso.Ogni elemento che rappresenta una partizione presente nell'MBR ha un
Partition ID, un valore Start
Cylinder/Head/Sector, e un valore End
Cylinder/Head/Sector. Il Partition ID mostra di che tipo
di partizione si tratta (di che sistema operativo) e i valori di
inizio/fine dicono dove questa si trova. La
mostra una lista di partition ID più comuni.
Partition IDID (hex)Descrizione01DOS12 primaria (12-bit FAT)04DOS16 primaria (16-bit FAT)05DOS estesa06DOS primaria di grande dimensione (> 32MB)0A&os2;83Linux (EXT2FS)A5FreeBSD, NetBSD, 386BSD (UFS)
Nota che non tutte le partizioni sono avviabili (per esempio quelle
DOS estese). Alcune lo sono, altre no. Ciò che rende una
partizione avviabile è la configurazione del Partition
Boot Sector che si trova all'inizio di ciascuna
partizione.Quando configuri il tuo boot manager preferito, questo cerca gli
elementi nella tavola delle partizioni sull'MBR di tutti i tuoi hard
disk e fa in modo che tu possa dare un nome a tutte gli elementi della
lista. Quindi all'avvio, il boot manager viene invocato da un codice
particolare presente nell'MBR del primo hard disk che viene rilevato sul
tuo sistema. Questo guarda la tavola delle partizioni dell'MBR
corrispondente alla partizione che hai scelto, usa l'informazione sullo
Start Cylinder/Head/Sector per quella partizione, carica il Partition
Boot Sector per quella partizione, e sli dà il controllo.
Quel settore di avvio per la partizione contiene abbastanza informazioni
per cominciare a caricare il sistema operativo di quella
partizione.Un particolare che abbiamo sorvolato e che è importante
conoscere. Tutti gli hard disk hanno l'MBR. Ad ogni modo, quello
importante è quello del disco che viene rilevato per primo dal
BIOS. Se hai solo hard disk IDE, è il primo disco IDE
(cioè il disco primario del controller primario).
Stessa cosa per i sistemi SCSI. Se hai sia
SCSI che IDE invece, i dischi IDE vengono riconosciuti per primi dal
BIOS, quindi il primo disco IDE è quello che viene riconosciuto
per primo. Il boot manager che installerai si troverà quindi
sull'MBR del primo disco riconosciuto come descritto.Limitazioni sull'Avvio e AvvertimentiOra un po' di cose interessanti alle quali devi stare
attento.Il maledetto limite dei 1024 cilindri e l'aiuto dell'LBA del
BIOSLa prima parte del processo di avvio viene effettuata attraverso
il BIOS, (se questo è un termine nuovo per te, il BIOS è
un chip contenente del software presente sulla scheda madre che
contiene il codice di avviamento per il computer). Quindi, questa
prima parte del processo è soggetta alle limitazioni
dell'interfaccia del BIOS.L'interfaccia BIOS usata per leggere gli hard disk in questo
momento (INT 13H, Subfunction 2) alloca 10 bit per il Cylinder Number,
8 bit per l'Head Number, e 6 bit per il Sector Number. Questo porta
gli utenti ad essere sottoposti a dei limiti (per esempio i boot
manager installati nell'MBR così come i loader installati nei
Boot Sector) che ora vediamo:1024 cilindri, massimo256 testine, massimo64 settori/traccia, massimo (in realtà 63,
0 non è disponibile)Ora, hard disk grossi hanno molti cilindri, ma non molte testine,
quindi invariabilmente con grandi hard disk il numero di cilindri
sarà più alto di 1024. A causa di questo e della
situazione dell'interfaccia BIOS, non puoi far partire un sistema
operativo da qualsiasi punto del disco. Il codice di avvio (il boot
manager e il loader del sistema operativo devono essere nei settori di
avvio di tutte le partizioni avviabili) deve risiedere entro il limite
dei 1024 cilindri. In pratica, se il tuo hard disk è generico
e contiene 16 testine, questo si tramuta in:1024 cilindri/disco × 16 testine/disco × 63
settori/traccia × 512 byte/settoreche è intorno al summenzionato limite dei 528MB.Qui è dove entra in gioco l'LBA (Logical Block Addressing,
Indirizzamento Logico dei Blocchi) del BIOS. L'LBA del BIOS fornisce
all'utente delle API del BIOS accesso ai cilindri fisici oltre al
1024esimo attraverso l'interfaccia BIOS ridefinendo un cilindro.
Quindi, rimappa cilindri e testine, facendo sembrare al BIOS che il
computer contenga meno cilindri e più testine di quanto in
realtà non ne abbia.
In altre parole, si avvantaggia del fatto che gli hard disk hanno
relativamente poche testine e molti cilindri semplicemente bilanciando
tra cilindri e testine facendo in modo che tutti e due i numeri
rimangano sotto la soglia (1024 cilindri, 256 testine).Con l'LBA del BIOS, la limitazione agli hard disk è
virtualmente eliminata (beh, spostata ad 8 Gigabyte). Se hai un BIOS
che supporta l'LBA, puoi mettere FreeBSD o qualsiasi altro OS in
qualsiasi parte tu voglia senza toccare il limite dei 1024
cilindri.Per usare ancora l'esempio del mio Western Digital da 1.6
Giga, la sua geometria fisica è:(3148 cilindri, 16 testine, 63 settori/traccia, 512
byte/settore)Ad ogni modo, il mio LBA del BIOS rimappa questo in:(787 cilindri, 64 testine, 63 settori/traccia, 512
byte/settore)dandomi la stessa grandezza effettiva di disco, ma con numero di
cilindri e testine entro i limiti dell'API del BIOS (casualmente,
ho sia Linux che FreeBSD installati su uno dei miei hard disk sopra il
1024esimo cilindro fisico, e tutti e due partono perfettamente, grazie
all'LBA del BIOS).Boot Manager e Allocazione del DiscoUn altro punto di cui tener conto al momento al momento
dell'installazione di un boot manager, è quello di ricordarsi
di allocare spazio per il tuo boot manager. È meglio aver
presente fin da subito questo problema, per non accorgersene troppo
tardi e dover quindi reinstallare uno o più sistemi
operativi.Se hai seguito il discorso nella a
proposito del Master Boot Sector (dove si trova l'MBR), dei Partition
Boot Sectors, e dell processo di avvio, potresti esserti chiesto
esattamente dove quel piccolo boot manager risiede sul tuo hard disk.
Bene, alcuni boot manager sono abbastanza piccoli da risiedere nel
Master Boot Sector (Cilindro 0, Testina 0, Settore 0) insieme alla
tabella delle partizioni. Alcuni invece hanno bisogno di un po' di
spazio in più e si estendono su alcuni settori oltre il Master
Boot Sector nella traccia del Cilindro 0 Testina 0, dato che questa
è tipicamente libera.Ecco qui. Alcuni sistemi operativi (incluso FreeBSD) fanno in
modo che le loro partizioni possano cominciare subito dopo il Master
Boot Sector, cioè al cilindro 0, testina 0, settore 2 se vuoi.
Infatti, se dai al sysinstall di FreeBSD un disco con una parte
iniziale vuota oppure un disco vuoto, quello è il punto da cui
comincerà la partizione FreeBSD di default (o almeno lo ha
fatto quando sono caduto in questa trappola). Poi quando vai ad
installare il tuo boot manager, se è uno che occupa alcuni
settori oltre all'MBR, andrà a sovrascrivere la parte iniziale
dei dati della prima partizione. Nel caso di FreeBSD, questo
sovrascrive il label del disco, e fa in modo da rendere non avviabile
la partizione di FreeBSD.Il modo più semplice per eliminare questo problema (e
lasciarti la flessibilità di provare in seguito differenti boot
manager) è quello di lasciare sempre la prima traccia del tuo
hard disk completamente libera quando partizioni il tuo hard disk.
Ciò significa lasciare libero lo spazio tra il cilindro 0,
testina 0, settore 2 fino a cilindro 0, testina 0, settore 63, e
cominciare la prima partizione sul cilindro 0, testina 1, settore 1.
Per ciò che vale, quando crei una partizione DOS all'inizio del
tuo hard disk, il DOS lascia sempre questo spazio libero di default
(ecco perché molti boot manager presumono che sia libero).
Quindi creare una partizione DOS all'inizio del disco toglie questi
problemi tutti insieme. Mi piace fare da solo, creando una partizione
DOS da 1 mega all'inizio, perché questo evita che cambino le
lettere dei drive DOS quando ripartiziono in seguito.Come riferimento, i seguenti boot manager usano il Master Boot
Sector per immagazzinare il loro codice e i loro dati:OS-BS 1.35Boot EasyLILOQuesti boot manager usano alcuni settori addizionali dopo
il Master Boot Sector:OS-BS 2.0 Beta 8 (settori 2-5)Boot Manager di &os2;Cosa fare se il tuo computer non parte?In alcuni momenti quando installi dei boot manager, potresti
lasciare l'MBR in uno stato in cui il computer non riesce più a
partire. Questo è spiacevole, ma possibile quando si utilizza
FDISK su di un boot manager già installato.Se hai una partizione DOS avviabile sul tuo hard disk, puoi
partire da un floppy DOS, e poi eseguire il comando:A:\> FDISK /MBRPer mettere il codice originale di avvio del DOS nel sistema.
Puoi ora avviare DOS (e solamente DOS) dall'hard disk.
Alternativamente, puoi far ripartire il programma di installazione del
tuo boot manager da un floppy avviabile.
diff --git a/it_IT.ISO8859-15/articles/new-users/article.sgml b/it_IT.ISO8859-15/articles/new-users/article.sgml
index cf0a677b42..0329f8496c 100644
--- a/it_IT.ISO8859-15/articles/new-users/article.sgml
+++ b/it_IT.ISO8859-15/articles/new-users/article.sgml
@@ -1,1083 +1,1085 @@
%man;
%freebsd;
+
+%it-trademarks;
%trademarks;
%mailing-lists;
%translators;
]>
Per chi è alle Prime Armi sia con FreeBSD che con
&unix;AnneliseAndersonandrsn@andrsn.stanford.edu15 Agosto 1997
&tm-attrib.freebsd;
&tm-attrib.ibm;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.general;
Congratulazioni per aver installato FreeBSD! Questa introduzione
é per chi é alle prime armi con FreeBSD
e &unix;—perciò comincia dalle basi.
Stai certamente usando la versione 2.0.5 o una più recente di
FreeBSD distribuita da BSDi o FreeBSD.org, il tuo sistema ha (per il
momento) un solo utente (te stesso)—e sei probabilmente abbastanza
bravo con DOS/&windows; o &os2;.Traduzione a cura di &a.it.max;.Entrare ed Uscire dal SistemaEntra (quando vedi login:) come l'utente che
hai creato durante l'installazione oppure come
root. (La tua installazione di FreeBSD dovrebbe
già avere un account di root;
root può andare ovunque e fare qualsiasi cosa, anche cancellare
file essenziali, perciò stai attento!) I simboli &prompt.user; e
&prompt.root; che incontrerai più avanti simboleggiano il prompt
(i tuoi potrebbero essere differenti), dove &prompt.user; indica un utente
ordinario e &prompt.root; indica root.Per uscire (e ritrovarsi con un nuovo prompt login:)
scrivi&prompt.root; exittante volte quanto serve. Sì, premi
invio dopo ogni comando, e ricordati che &unix; fa
distinzione tra maiuscole e minuscole—perciò
exit, non EXIT.Per spegnere il computer digita&prompt.root; /sbin/shutdown -h nowO per riavviarlo digita&prompt.root; /sbin/shutdown -r nowoppure&prompt.root; /sbin/rebootPuoi anche riavviarlo premendo
CtrlAltCanc.
Lasciagli un po' di tempo per compiere il suo lavoro. Questo equivale a
/sbin/reboot nelle versioni più recenti di
FreeBSD ed è molto meglio che premere il bottone di reset.
Non vorrai mica reinstallare tutto da capo, vero?Aggiungere un Utente con Privilegi di RootSe non hai creato un utente durante l'installazione e quindi
sei entrato nel sistema come root, dovresti probabilmente crearne
uno ora tramite&prompt.root; adduserLa prima volta che aggiungi un utente, il sistema dovrebbe chiederti
di inserire delle impostazioni di default da applicare. Potresti volere
come shell &man.csh.1; invece di &man.sh.1;, se ti viene consigliato
sh come default. Altrimenti premi solo invio
per accettare i valori proposti. Questi dati vengono salvati in
/etc/adduser.conf, un file modificabile
successivamente a mano.Supponiamo che tu voglia creare l'utente jack di
nome reale Jack Benimble. Assegna a jack una
password per ragioni di sicurezza (anche i bambini che gironzolano per
casa potrebbero mettere le mani sulla tastiera). Quando ti viene chiesto
se vuoi invitare jack in un altro gruppo, digita
wheelLogin group is ``jack''. Invite jack into other groups: wheelQuesto ti permetterà di entrare come l'utente
jack e usare il comando &man.su.1;
per diventare root. A quel punto non sarai più preso in giro per
essere entrato direttamente come root.Puoi uscire da adduser in qualsiasi momento
premendo CtrlC,
e alla fine avrai l'opportunità di approvare il nuovo utente oppure
premere n per non farlo. Potresti voler creare un
secondo utente (jill?) cosicché quando andrai a modificare i file
di jack avrai un'ancora di salvezza in caso qualcosa vada male.Una volta fatto questo, usa exit per tornare al
prompt di login ed entrare come jack.
In generale è meglio cercare di lavorare da utente normale
in modo da non avere il potere—e il rischio—di root.Se hai già creato un utente e vuoi che quell'utente sia in
grado di usare su per diventare root, puoi entrare come
root e modificare il file /etc/group, aggiungendo
jack alla prima linea (il gruppo wheel). Ma
prima devi fare pratica con &man.vi.1;, l'editor di testo—oppure
usa il più semplice &man.ee.1;, installato sulle recenti
versioni di FreeBSD.Per cancellare un utente, usa il comando
rmuser.Diamoci un'occhiata in giroUna volta avuto accesso come utente normale, guardati in giro e prova
alcuni dei comandi che ti daranno accesso alle fonti di aiuto e di
informazioni su FreeBSD.Ecco qui una lista di comandi e le loro funzioni:idTi dice chi sei!pwdTi mostra dove sei—la directory in cui stai
lavorando.lsTi mostra una lista dei file contenuti nella directory.ls Ti mostra un elenco dei file contenuti nella directory ponendo
* dopo i file eseguibili,
/ dopo le directory, e
@ dopo i collegamenti simbolici.ls Mostra un elenco di file nel formato lungo—grandezza,
data, permessi.ls Mostra una lista dei file nascosti, cioè con un
punto davanti al nome, insieme agli altri.
Se sei root, i file puntati vengono mostrati anche
senza l'opzione .cdCambia la directory di lavoro. cd
.. torna alla directory
superiore; nota lo spazio dopo cd. cd
/usr/local va nella directory
specificata. cd ~ va
nella directory home dell'utente collegato in quel
momento—per esempio, /usr/home/jack.
Prova cd /cdrom, e poi
ls, per scoprire se il tuo CDROM è
montato e funziona.view
nomefileMostra il contenuto del file (chiamato
nomefile) senza modificarlo.
Prova view
/etc/fstab.
:q per uscire.cat nomefileMostra nomefile sullo schermo.
Se è troppo lungo e ne puoi vedere solo la fine,
premi BlocScorr e usa
freccia-su per muoverti in alto; puoi usare
BlocScorr anche con le pagine man. Premi ancora
BlocScorr per uscire dallo scorrimento. Potresti
provare cat con alcuni dei file
nascosti presenti nella tua directory home—cat
.cshrc, cat
.login, cat
.profile.Noterai degli alias in .cshrc per
alcuni dei comandi ls (sono molto
convenienti). Puoi creare degli altri alias modificando
.cshrc. Puoi far sì che questi alias
diventino disponibili a tutti gli utenti mettendoli nel file
di configurazione generale di csh,
/etc/csh.cshrc.Ottenere Aiuto e InformazioniEcco alcune risorse utili per ottenere aiuto.
Testo è qualcosa che puoi
digitare a tuo piacere—normalmente si tratta di un comando
o del nome di un file.apropos
testoTutto ciò che contiene la stringa
testo nel database
whatis.man
testoMostra la pagina man di testo,
la maggior risorsa di documentazione per i sistemi Un*x.
man ls ti dirà
tutti i modi possibili per usare il comando ls.
Premi Invio per muoverti nel testo,
CtrlB
per andare indietro di una pagina,
CtrlF
per andare avanti, q oppure
CtrlC
per uscire.which
testoTi dice dove si trova il comando
testo nel path dell'utente.locate
testoTi dice tutte le directory nei path dell'utente in cui si trova
il comando testo.whatis
testoTi dice che cosa fa il comando
testo e la sua pagina man.
Digitando whatis * ti verranno presentate tutte
le pagine man associate agli eseguibili presenti nella directory
corrente.whereis
testoTrova il file testo, dandoti il suo
percorso completo.Potresti voler provare ad usare whatis con
alcuni comandi utili come cat,
more, grep,
mv, find,
tar, chmod,
chown, date, e
script. more ti permette
di leggere una pagina alla volta come in DOS, ad esempio, ls -l |
more oppure more
nomefile.
* ha valore assoluto—per esempio, ls
w* mostra tutti i file che cominciano con
w.Per caso alcuni di questi comandi non funzionano correttamente? Sia
&man.locate.1;, sia &man.whatis.1; dipendono da
un database che viene ricostruito settimanalmente. Se la tua macchina
non sarà lasciata accesa per il fine settimana (usando FreeBSD),
può darsi che tu voglia usare i comandi per la manutenzione
giornaliera, settimanale, e mensile ogni tanto. Falli partire come root
e lascia loro il tempo di finire il lavoro prima di farne partire un
altro.&prompt.root; periodic dailyoutput tralasciato
&prompt.root; periodic weeklyoutput tralasciato
&prompt.root; periodic monthlyoutput tralasciatoSe ti stufi di aspettare, premi
AltF2 per
avere un'altra console virtuale, e poterti loggare
nuovamente. Dopotutto è un sistema multi-utente, e multi-tasking.
Probabilmente questi comandi produrranno dei messaggi sullo
schermo quando lavorano; puoi digitare
clear per pulire lo schermo.
Quando hanno finito, dovresti dare un'occhiata a
/var/mail/root e
/var/log/messages.Usare tali comandi fa parte dell'amministrazione di
sistema—e come utente singolo di un sistema &unix;,
sei tu l'amministratore del sistema. Praticamente l'unica cosa
per la quale è necessario che tu sia root è
l'amministrazione. Queste responsabilità
non vengono trattate bene nemmeno in quei grossi libri
su &unix;, che sembrano dedicare troppo spazio all'uso dei menu
nei windows manager. Potresti voler leggere uno dei più
interessanti libri sull'amministrazione di sistema, come
UNIX System Administration Handbook di Evi Nemeth
et.al. (Prentice-Hall, 1995, ISBN 0-13-15051-7)—la seconda edizione
con la copertina rossa; oppure Essential System
Administration di Æleen Frisch (O'Reilly &
Associates, 1993, ISBN 0-937175-80-3). Io ho usato quello di
Nemeth.Modificare File di TestoPer poter configurare il tuo sistema, devi modificare dei file. Molti
di questi saranno in /etc; e avrai bisogno
del comando su per diventare root e poter così
modificarli. Puoi usare il semplice editor ee, ma
alla lunga risulta più utile imparare vi.
C'é un eccellente tutorial su vi in
/usr/src/contrib/nvi/docs/tutorial se lo hai
installato; altrimenti puoi scaricarlo via FTP da
ftp.cdrom.com dalla directory
FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.Prima di modificare un file, dovresti farne una copia.
Supponiamo tu voglia modificare /etc/rc.conf. Puoi
semplicemente usare cd /etc per andare in
/etc e fare:&prompt.root; cp rc.conf rc.conf.origQuesto copierà rc.conf in
rc.conf.orig, e potrai successivamente copiare
rc.conf.orig in
rc.conf per tornare all'originale. Ma ancora meglio
sarà spostare (rinominare) il file per poi ricopiarlo con il nome
originale:&prompt.root; mv rc.conf rc.conf.orig
&prompt.root; cp rc.conf.orig rc.confperché il comando mv mantiene
la data e il proprietario originali del file. Puoi ora modificare
rc.conf. Se vuoi tornare all'originale,
potresti fare mv rc.conf rc.conf.myedit
(assumendo che vuoi tenere la versione modificata) e
quindi fare&prompt.root; mv rc.conf.orig rc.confper tornare allo stato iniziale.Per modificare un file, digita&prompt.root; vi nomefileMuoviti nel testo con i tasti freccia.
Esc mette vi
in modalità comando. Ecco qui alcuni dei comandi:xcancella la lettera su cui si trova il cursoreddcancella l'intera riga (anche se va a capo sullo schermo)iinserisci del testo nella posizione del cursoreainserisci del testo dopo il cursoreQuando digiti i o a,
puoi inserire del testo. Esc ti riporta in
modalità comando dove puoi digitare:wper salvare le modifiche sul disco e continuare a
modificare il file:wqper salvare le modifiche e uscire:q!per uscire senza salvare le modifiche/testoper spostare il cursore su testo;
/Invio
per trovare la prossima occorrenza di
testo.Gper andare alla fine del filenGper andare alla riga n del
file, dove n è un numeroCtrlLper ridisegnare lo schermoCtrlb e
Ctrlfvai avanti e indietro di una pagina, come succede con
more e view.Fai un po' di pratica con vi nella tua directory
home creando un nuovo file digitando vi
nomefile e aggiungendo
e cancellando del testo, salvando il file, e riaprendolo di nuovo.
vi è pieno di sorprese perché è
abbastanza complesso, e ti capiterà di digitare un comando che
farà di sicuro qualcosa che non ti aspetti. (Alcune persone
preferiscono vi—è più potente
dell'EDIT del DOS—scopri il comando :r)
Usa Esc una o più volte per essere sicuro di
essere in modalità comando e continua da lì quando hai dei
problemi, salva spesso con :w, e usa
:q! per uscire e ricominciare (dal tuo ultimo
:w) quando ne hai bisogno.Ora puoi usare cd per andare in
/etc, su per diventare root,
vi per modificare il file
/etc/group, e aggiungere un utente al gruppo wheel
cosicché possa avere privilegi di root. Aggiungi solo una virgola
e il nome di login dell'utente alla fine della prima riga del file, premi
Esc, e usa :wq per salvare
il file su disco e uscire. La modifica ha effetto immediato. (Non hai
lasciato uno spazio dopo la virgola, vero?)Stampa di File da DOSA questo punto la tua stampante non funzionerà ancora sotto
FreeBSD, ecco quindi un sistema per creare un file da una pagina man,
metterlo su un floppy, e quindi stamparlo da DOS. Supponiamo che tu
voglia leggere attentamente come cambiare i permessi sui file (abbastanza
importante). Puoi usare man chmod per leggere come
fare. Il comando&prompt.user; man chmod | col -b > chmod.txttoglierà gli elementi di formattazione e manderà il
tutto sul file chmod.txt al posto di mostrare il
contenuto sullo schermo. Ora metti un dischetto formattato DOS nel
lettore, digita su per diventare root, e scrivi&prompt.root; /sbin/mount -t msdos /dev/fd0 /mntper montare il floppy su /mnt.Ora (non hai più bisogno di essere root, e puoi digitare
exit per tornare ad essere l'utente jack) puoi
andare nella directory in cui hai creato chmod.txt e
copiare il file sul floppy digitando:&prompt.user; cp chmod.txt /mnte usare ls /mnt per vedere il
contenuto di /mnt, che dovrebbe contenere il file
chmod.txt.In particolare potresti voler creare un file con l'output di
/sbin/dmesg digitando&prompt.user; /sbin/dmesg > dmesg.txte copiare dmesg.txt sul floppy.
/sbin/dmesg è il file di log di avvio, ed
è importante comprenderlo perché ti mostra cosa ha trovato
FreeBSD all'avvio. Se poni delle domande sulla &a.questions;
o su un gruppo USENET—del tipo FreeBSD non trova il mio drive
per i nastri, che cosa faccio?—la gente vorrà
sapere cosa mostra il tuo dmesg.Ora devi smontare il floppy (da root) per poter togliere
il disco&prompt.root; /sbin/umount /mnte riavviare per tornare in DOS. Copia questo file in una
directory DOS, richiamali con l'EDIT del DOS, Notepad o Wordpad di
&windows;, o un editor di testi, fai una piccola modifica in modo che
il file debba essere salvato, e stampa come faresti da DOS o
&windows;. Spera che funzioni! Le pagine man vengono meglio se
stampate con il comando DOS print. (Copiare i file
da FreeBSD su una partizione DOS montata è ancora in alcuni casi
rischioso.)Far funzionare la stampante sotto FreeBSD consiste nel creare
un opportuno elemento in /etc/printcap e
creare una directory di spool corrispondente in
/var/spool/output. Se la tua stampante è su
lpt0 (ciò che DOS chiama
LPT1), devi solo andare in
/var/spool/output e (da root) creare la
directory lpd digitando: mkdir
lpd, se non è già presente. A quel punto la
stampante dovrebbe rispondere quando il sistema parte, e
lp o lpr dovrebbero mandare un
file alla stampante. Che il file venga stampato o meno è solo
questione di configurazione, che è discussa nel Manuale di FreeBSD.Altri Comandi Utilidfmostra lo spazio disponibile e tutte le partizioni
montate.ps auxmostra i processi in esecuzione. ps ax
è una forma contratta.rm nomefilecancella nomefile.rm -R dircancella la directory dir e tutte le
sottodirectory—attenzione!ls -Rmostra il contenuto della directory e delle sue
sottodirectory; io usavo una variante, ls -AFR >
where.txt, per avere una lista dei file in
/ e (separatamente)
/usr prima che scoprissi dei metodi migliori
per cercare i file.passwdper cambiare la password dell'utente (o di root)man hierpagina man sul file system di &unix;Usa find per trovare nomefile
in /usr o nelle sue sottodirectory digitando&prompt.user; find /usr -name "nomefile"Puoi usare * come identificatore universale in
"nomefile"
(che dovrebbe essere tra virgolette). Se dici a
find di cercare in /
anziché /usr cercherà il/i file su
tutti i file system montati, inclusi i CDROM e le partizioni DOS.Un libro eccellente che tratta i comandi e le utility di &unix;
è Unix for the Impatient di Abrahams &
Larson (2nd ed., Addison-Wesley, 1996).
Ci sono anche un sacco di informazioni su &unix; su Internet. Guarda
Unix Reference
Desk.Prossimi PassiDovresti ora avere gli strumenti necessari per girare nel sistema e
modificare i file, così da poter rendere tutto funzionante. Ci
sono un sacco di informazioni nel Manuale di FreeBSD (che è
probabilmente sul tuo disco rigido) e sul sito web di FreeBSD. Una
grande scelta di package e port è presente sul CDROM così
come sul sito web. Il manuale ti spiega come usarli
(prendi il package se esiste, con pkg_add
/cdrom/packages/All/nomepackage,
dove nomepackage è il nome del file del
package). Il CDROM ha una lista di package e di port
con delle brevi descrizioni in cdrom/packages/index,
cdrom/packages/index.txt, e
cdrom/ports/index, e con descrizioni più ampie
in /cdrom/ports/*/*/pkg/DESCR, dove
* rappresenta rispettivamente sottodirectory di tipi di
programmi e nomi di programmi.Se trovi il manuale troppo difficile su come installare i port dal
CDROM (con il sistema di lndir e altro), ecco come
funziona normalmente:Trova il port che vuoi, supponiamo kermit.
Ci sarà una directory per lui sul CDROM. Copia la
sottodirectory in /usr/local (un buon posto
perché il software che aggiungi sia disponibile a tutti gli utenti)
con:&prompt.root; cp -R /cdrom/ports/comm/kermit /usr/localQuesto dovrebbe portarti ad avere la sottodirectory
/usr/local/kermit che contiene tutti i file
presenti nella sottodirectory kermit del CDROM.Ora, crea la directory
/usr/ports/distfiles se non esiste ancora,
usando mkdir. Poi controlla
/cdrom/ports/distfiles cercando un file
con il nome che indica che si tratta del port esatto. Copia quel file in
/usr/ports/distfiles; nelle versioni più
recenti puoi saltare questo passo, perché FreeBSD lo farà
per te. Nel caso di kermit, non c'è nessun
distfile.Quindi entra con cd nella sottodirectory di
/usr/local/kermit che contiene il file
Makefile. Digita&prompt.root; make all installDurante questo processo il port userà FTP per scaricare
i file compressi che non ha trovato sul CDROM o in
/usr/ports/distfiles. Se la tua connessione
non funziona ancora e non c'è nessun file per il port in
/cdrom/ports/distfiles, dovrai
recuperare il distfile usando un'altra macchina e poi copiarlo in
/usr/ports/distfiles da un dischetto o dalla
partizione DOS. Leggi Makefile (usando
cat o more oppure
view) per scoprire dove andare (il sito principale
di distribuzione) per trovare il file e conoscere il suo nome. Il nome
verrà troncato quando scaricato da DOS, e dopo averlo trasferito
in /usr/ports/distfiles dovrai
rinominarlo (usando il comando mv) nel suo
nome originale cosicché possa essere trovato. (Usa il
trasferimento di file binario!)
Quindi torna in /usr/local/kermit, trova la
directory contenente Makefile, e digita
make all install.Un'altra cosa che può succedere quando si installa un port o un
package è che questi abbiano bisogno di un altro programma. Se
l'installazione si ferma con un messaggio can't find
unzip o simile, potresti dover installare il
package o il port di unzip prima di proseguire.Una volta installato, digita rehash per far
sì che FreeBSD rilegga i file contenuti nel path e sappia quali
sono presenti.
(Se trovi un sacco di messaggi path not found
quando usi whereis o which, dovresti
fare delle aggiunte all'elenco delle directory nel
file .cshrc nella tua directory home.
L'elenco dei path in &unix; fa la stessa
cosa che fa in DOS, tranne che la directory corrente (di
default) non si trova nel path per ragioni di sicurezza; se il comando
che vuoi eseguire è nella directory in cui ti trovi, devi digitare
./ prima del nome del comando; niente
spazio dopo la barra.)Potresti volere la versione più recente di &netscape;
dal loro sito FTP.
(&netscape; necessita dell'X Window System.) Ora c'é una versione
per FreeBSD, quindi dà un'occhiata in giro. Usa solo
gunzip nomefile e
tar xvf nomefile sul file,
sposta il binario in /usr/local/bin o qualche altro
posto in cui vengono tenuti i binari, esegui rehash, e
quindi aggiungi le seguenti linee a .cshrc in tutte
le directory home degli utenti oppure (più semplicemente) in
/etc/csh.cshrc, il file di configurazione globale di
csh:setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
setenv XNLSPATH /usr/X11R6/lib/X11/nlsQuesto assume che il file XKeysymDB
e la directory nls siano in
/usr/X11R6/lib/X11; se non lo sono, trovale
e mettile lì.Se hai originariamente installato &netscape; dal CDROM (o via
FTP), non sostituire /usr/local/bin/netscape
con il nuovo binario di netscape; questo è solo uno script di shell
che imposta le variabili di ambiente per te. Rinomina invece
il nuovo binario in netscape.bin e rimpiazza il
vecchio binario, che dovrebbe essere
/usr/local/netscape/netscape.Il tuo Ambiente di LavoroLa shell è la parte più importante del tuo ambiente
di lavoro. In DOS, la shell è solitamente command.com. La shell
è ciò che interpreta i comandi che digiti sulla linea di
comando, e quindi comunica con il resto del sistema operativo.
Puoi anche scrivere script di shell, che sono come i file batch di
DOS: una serie di comandi che devono essere eseguiti senza il tuo
intervento.Due shell vengono normalmente installate con FreeBSD:
csh e sh.
csh è buona per lavoro da linea di comando, ma
gli script dovrebbero essere scritti usando sh (o
bash). Puoi scoprire che shell hai
digitando echo $SHELL.csh è una buona shell, ma
tcsh fa tutto ciò che csh
fa e anche altro. Ti permette di richiamare i comandi usando
le frecce e ti permette di modificarli. Ha l'auto-completamento dei nomi
di file con tab (csh usa Esc), e
ti permette di tornare alla directory in cui eri digitando
cd -. È anche più semplice alterare il
prompt con tcsh. Ti rende la vita più
facile.Ecco tre semplici passi per installare una nuova shell:Installa la shell tramite port o package, come faresti
con un qualsiasi altro port o package. Usa
rehash e which tcsh
(assumendo che tu stia installando tcsh) per
essere sicuro di averla installata.Da root, modifica /etc/shells, aggiungendo
una riga nel file per la nuova shell, in questo caso
/usr/local/bin/tcsh, e salva il file.
(Alcuni port lo fanno per te.)Usa il comando chsh per cambiare
permanentemente la tua shell in tcsh, o digita
tcsh al prompt per cambiare la shell senza
dover uscire dal sistema per poi rientrare.Può essere pericoloso cambiare la shell di root in qualcosa
di diverso da sh o csh su
versioni più recenti di FreeBSD e di &unix;; potresti
non avere una shell funzionante se il sistema entra in modalità
singolo utente. La soluzione è usare su -m
per diventare root, che ti dà tcsh come shell
di root, poiché la shell è parte del tuo ambiente.
Puoi rendere tutto ciò permanente aggiungendo al
tuo .tcshrc un alias con:alias su su -mQuando tcsh parte, legge i file
/etc/csh.cshrc e
/etc/csh.login, come farebbe
csh. Leggerà anche il file
.login nella tua directory home ed anche
.cshrc, a meno che tu non abbia un file
.tcshrc. Puoi crearlo copiando
.cshrc in .tcshrc.Ora che hai installato tcsh, puoi sistemare
il tuo prompt. Puoi trovare i dettagli nella pagina man di
tcsh, ma ecco qui una linea da mettere nel tuo
.tcshrc che ti dirà quanti comandi hai
digitato, che ore sono, e in che directory
ti trovi. Produce anche un > se sei un
utente normale e un # se sei root, ma
tsch lo farebbe in ogni caso:set prompt = "%h %t %~ %# "Questa dovrebbe andare nella stessa posizione della linea di
prompt corrente se ce n'è una, o sotto "if($?prompt) then" in caso
contrario. Commenta la vecchia riga; così potrai tornare a quella
vecchia se la preferirai. Non dimenticare gli spazi e le virgolette.
Puoi far rileggere .tcshrc digitando
source .tcshrc.Puoi avere una lista delle variabili di sistema che sono state
impostate digitando env al prompt.
Il risultato ti mostrerà il tuo editor di default, il pager, e il
tipo di terminale, tra le altre possibili variabili. Un comando
utile se ti connetti al sistema da una postazione remota e non riesci ad
eseguire un programma perché il terminale non ne è capace
è setenv TERM vt100.AltroDa root puoi smontare il CDROM con
/sbin/umount /cdrom, toglilo dal lettore,
inseriscine un altro, e montalo con
/sbin/mount_cd9660 /dev/cd0a /cdrom assumendo che
cd0a sia il nome di dispositivo del tuo lettore di
CDROM. La versione più recente di FreeBSD ti permette di montare
il CDROM solo con /sbin/mount /cdrom.Usare il live file system—il secondo cd del set
di FreeBSD—è
utile se hai poco spazio a disposizione. Ciò che si trova
sul live file system cambia da release a release. Potresti
provare ad eseguire dei giochi dal CDROM. Questo comporta l'uso di
lndir, che viene installato con l'X Window
System, per dire ai programmi dove trovare i file necessari, poiché
questi si trovano nel file system /cdrom
anziché /usr e le sue
sottodirectory, che è dove dovrebbero essere. Leggi
man lndir per avere più informazioni.I Commenti sono BenvenutiSe usi questa guida, sarei interessata a sapere dove non è
chiara, ciò che è stato tralasciato e che vorresti venisse
incluso, e sapere se tutto ciò è stato utile. I miei
ringraziamenti vanno a Eugene W. Stark, professore di informatica a
SUNY-Stony Brook, e John Fieber per i suoi utili commenti.Annelise Anderson, andrsn@andrsn.stanford.eduPer questioni legate alla traduzione, o se avete commenti da poter
esprimere solo in italiano, non esitate a contattarmi. Come per l'autrice
originale, ogni genere di commenti è ben accetto.Massimiliano Stucchi, stucchi@willystudios.com
diff --git a/it_IT.ISO8859-15/articles/vm-design/article.sgml b/it_IT.ISO8859-15/articles/vm-design/article.sgml
index db5d83da9f..8963bf39f9 100644
--- a/it_IT.ISO8859-15/articles/vm-design/article.sgml
+++ b/it_IT.ISO8859-15/articles/vm-design/article.sgml
@@ -1,1057 +1,1059 @@
%man;
%freebsd;
+
+%it-trademarks;
%trademarks;
%translators;
]>
Elementi di progettazione del sistema di VM di FreeBSDMatthewDillondillon@apollo.backplane.com
&tm-attrib.freebsd;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.opengroup;
&tm-attrib.general;
Il titolo è in realtà solo un modo complicato per dire
che cercherò di descrivere l'intera enchilada della memoria
virtuale (VM), sperando di farlo in una maniera che chiunque possa
seguire.
Nell'ultimo anno mi sono concentrato su un certo numero di sottosistemi
principali del kernel in FreeBSD, trovando quelli della VM (la memoria
virtuale) e dello Swap i più interessanti, e considerando quello
di NFS un lavoretto necessario.
Ho riscritto solo piccole porzioni di quel codice. Nell'arena
della VM la sola grossa riscrittura che ho affrontato è stata
quella del sottosistema di swap.
La maggior parte del mio lavoro è stato di pulizia e
mantenimento, con solo alcune moderate riscritture di codice e
nessuna correzione rilevante a livello algoritmico nel sottosistema
della VM. Il nocciolo della base teorica del sottosistema
rimane immutato ed un bel po' del merito per gli sforzi di
modernizzazione negli ultimi anni appartiene a John Dyson e David
Greenman. Poiché non sono uno storico come Kirk non
tenterò di marcare tutte le varie caratteristiche con i nomi
delle relative persone, perché sbaglierei
invariabilmente.Traduzione a cura di &a.it.surrender;.Questo articolo è stato pubblicato in origine nel numero di
gennaio 2000 di DaemonNews.
Questa versione dell'articolo può includere aggiornamenti da
parte di Matt e di altri autori per riflettere i cambiamenti
nell'implementazione della VM di FreeBSD.IntroduzionePrima di andare avanti con la descrizione del progetto effettivo
della VM spendiamo un po' di tempo sulla necessità di mantenere
e modernizzare una qualunque base di codice longeva.
Nel mondo della programmazione, gli algoritmi tendono ad essere più
importanti del codice ed è dovuto alle radici accademiche
di BSD che si è prestata grande attenzione alla progettazione
algoritmica sin dal principio.
Una maggiore attenzione al design in genere conduce ad una base di codice
flessibile e pulita che può essere modificata abbastanza
semplicemente, estesa, o rimpiazzata nel tempo.
Mentre BSD viene considerato un sistema operativo vecchio
da alcune persone, quelli di noi che lavorano su di esso tendono
a considerarlo come una base di codice matura
che ha vari componenti modificati, estesi, o rimpiazzati con codice
moderno. Questa si è evoluta, e FreeBSD è all'avanguardia,
non importa quanto possa essere vecchio qualche pezzo di codice.
Questa è una distinzione importante da fare ed una di quelle che
sfortunatamente sfuggono alla maggior parte delle persone. Il più
grande errore che un programmatore possa fare è non imparare
dalla storia, e questo è precisamente l'errore che molti sistemi
operativi moderni hanno commesso. &windowsnt; è il miglior esempio
di questo, e le conseguenze sono state disastrose. Anche Linux commette
questo errore a un certo livello—abbastanza perché noi
appassionati di BSD possiamo scherzarci su ogni tanto, comunque.
Il problema di Linux è semplicemente la mancanza di esperienza e
di una storia con la quale confrontare le idee, un problema che sta
venendo affrontato rapidamente dalla comunità Linux nello stesso
modo in cui è stato affrontato da quella BSD—con il continuo
sviluppo di codice. La gente di &windowsnt;, d'altro canto, fa
ripetutamente gli stessi errori risolti da &unix; decadi fa e poi impiega
anni nel risolverli. E poi li rifanno, ancora, e ancora.
Soffrono di un preoccupante caso di non è stato progettato
qui e di abbiamo sempre ragione perché il nostro
dipartimento marketing dice così. Io ho pochissima
tolleranza per chiunque non impari dalla storia.La maggior parte dell'apparente complessità di progettazione di
FreeBSD, specialmente nel sottosistema VM/Swap, è una conseguenza
diretta dell'aver dovuto risolvere importanti problemi di prestazioni
legati a varie condizioni. Questi problemi non sono dovuti a cattivi
progetti algoritmici ma sorgono invece da fattori ambientali.
In ogni paragone diretto tra piattaforme, questi problemi
diventano più evidenti quando le risorse di sistema cominciano ad
essere stressate.
Mentre descrivo il sottosistema VM/Swap di FreeBSD il lettore
dovrebbe sempre tenere a mente almeno due punti. Primo, l'aspetto
più importante nel design prestazionale è ciò che
è noto come Ottimizzazione del Percorso Critico.
Accade spesso che le ottimizzazioni prestazionali aggiungano
un po di impurità al codice per far migliorare il percorso critico.
Secondo, un progetto solido e generalizzato, funziona meglio di
un progetto pesantemente ottimizzato, alla lunga. Mentre un progetto
generale può alla fin fine essere più lento di un sistema
pesantemente ottimizzato quando vengono implementati inizialmente, il
progetto generalizzato tende ad essere più semplice da adattare
alle condizioni variabili mentre quello pesantemente ottimizzato finisce
per dover essere gettato via. Ogni base di codice che dovrà
sopravvivere ed essere mantenibile per anni deve dunque essere progettata
con attenzione fin dall'inizio anche se questo può portare a
piccoli peggioramenti nelle prestazioni.
Vent'anni fa c'era ancora gente che sosteneva che programmare in assembly
era meglio che programmare in linguaggi di alto livello, perché
si poteva produrre codice che era dieci volte più veloce. Oggi,
la fallacia di tale argomento è ovvia—così come i
paralleli con il design algoritmico e la generalizzazione del
codice.Oggetti VMIl modo migliore per iniziare a descrivere il sistema di VM di FreeBSD
è guardandolo dalla prospettiva di un processo a livello
utente. Ogni processo utente vede uno spazio di indirizzamento della VM
singolo, privato e contiguo, contenente molti tipi di oggetti di memoria.
Questi oggetti hanno varie caratteristiche.
Il codice del programma e i dati del programma sono effettivamente
un singolo file mappato in memoria (il file binario che è stato
eseguito), ma il codice di programma è di sola lettura mentre i
dati del programma sono copy-on-write I dati copy on write sono dati che vengono copiati solo al momento
della loro effettiva modifica. Il BSS del programma è solamente una zona di memoria
allocata e riempita con degli zero su richiesta, detta in inglese
demand zero page fill.
Nello spazio di indirizzamento possono essere mappati anche file
arbitrari, che è in effetti il meccanismo con il quale funzionano
le librerie condivise. Tali mappature possono richiedere modifiche per
rimanere private rispetto al processo che le ha effettuate.
La chiamata di sistema fork aggiunge una dimensione completamente nuova
al problema della gestione della VM in cima alla complessità
già data.Una pagina di dati di un programma (che è una basilare pagina
copy-on-write) illustra questa complessità. Un programma binario
contiene una sezione di dati preinizializzati che viene inizialmente
mappata direttamente in memoria dal file del programma.
Quando un programma viene caricato nello spazio di memoria virtuale di un
processo, questa area viene inizialmente copiata e mappata in memoria dal
binario del programma stesso, permettendo al sistema della VM di
liberare/riusare la pagina in seguito e poi ricaricarla dal binario.
Nel momento in cui un processo modifica questi dati, comunque, il
sistema della VM deve mantenere una copia privata della pagina per quel
processo. Poiché la copia privata è stata modificata, il
sistema della VM non può più liberarlo, poiché non ci
sarebbe più nessuna possibilità di recuperarlo in
seguito.Noterai immediatamente che quella che in origine era soltanto
una semplice mappatura di un file è diventata qualcosa di
più complesso.
I dati possono essere modificati pagina per pagina
mentre una mappatura di file coinvolge molte pagine alla volta.
La complessità aumenta ancora quando un processo esegue una fork.
Quando un processo esegue una fork, il risultato sono due
processi—ognuno con il proprio spazio di indirizzamento privato,
inclusa ogni modifica fatta dal processo originale prima della chiamata a
fork(). Sarebbe stupido per un sistema di VM creare
una copia completa dei dati al momento della fork()
perché è abbastanza probabile che almeno uno dei due
processi avrà bisogno soltanto di leggere da una certa pagina da
quel momento in poi, permettendo di continuare ad usare la
pagina originale. Quella che era una pagina privata viene di nuovo
resa una copy-on-write, poiché ogni processo (padre e figlio) si
aspetta che i propri cambiamenti rimangano privati per loro e non abbiano
effetti sugli altri.FreeBSD gestisce tutto ciò con un modello a strati di oggetti
VM. Il file binario originale del programma risulta come lo strato di
Oggetti VM più basso.
Un livello copy-on-write viene messo sopra questo per mantenere quelle
pagine che sono state copiate dal file originale.
Se il programma modifica una pagina di dati appartenente al file originale
il sistema dell VM prende un page fault Un page fault, o mancanza di pagina,
corrisponde ad una mancanza di una determinata pagina di memoria a un
certo livello, ed alla necessità di copiarla da un livello
più lento. Ad esempio se una pagina di memoria è stata
spostata dalla memoria fisica allo spazio di swap su disco, e viene
richiamata, si genera un page fault e la pagina viene di nuovo copiata
in ram. e fa una copia della pagina nel livello più alto.
Quando un processo effettua una fork, vengono aggiunti altri livelli di
Oggetti VM. Tutto questo potrebbe avere un po' più senso con un
semplice esempio.
Una fork() è un'operazione comune per ogni
sistema *BSD, dunque questo esempio prenderà in considerazione un
programma che viene avviato ed esegue una fork. Quando il processo viene
avviato, il sistema della VM crea uno starto di oggetti, chiamiamolo
A:+---------------+
| A |
+---------------+Un'immagineA rappresenta il file—le pagine possono essere
spostate dentro e fuori dal mezzo fisico del file se necessario.
Copiare il file dal disco è sensato per un programma,
ma di certo non vogliamo effettuare il page out La copia dalla memoria al disco, l'opposto del page in, la
mappatura in memoria. e sovrascrivere l'eseguibile.
Il sistema della VM crea dunque un secondo livello, B, che verrà
copiato fisicamente dallo spazio di swap:+---------------+
| B |
+---------------+
| A |
+---------------+Dopo questo, nella prima scrittura verso una pagina, viene creata una
nuova pagina in B, ed il suo contenuto viene inizializzato con i dati di
A. Tutte le pagine in B possono essere spostate da e verso un dispositivo
di swap. Quando il programma esegue la fork, il sistema della VM crea
due nuovi livelli di oggetti—C1 per il padre e C2 per il
figlio—che restano sopra a B:+-------+-------+
| C1 | C2 |
+-------+-------+
| B |
+---------------+
| A |
+---------------+In questo caso, supponiamo che una pagina in B venga modificata dal
processo genitore. Il processo subirà un fault di copy-on-write e
duplicherà la pagina in C1, lasciando la pagina originale in B
intatta.
Ora, supponiamo che la stessa pagina in B venga modificata dal processo
figlio. Il processo subirà un fault di copy-on-write e
duplicherà la pagina in C2.
La pagina originale in B è ora completamente nascosta poiché
sia C1 che C2 hanno una copia e B potrebbe teoricamente essere distrutta
(se non rappresenta un vero file).
Comunque, questo tipo di ottimizzazione non è triviale da
realizzare perché è di grana molto fine.
FreeBSD non effettua questa ottimizzazione.
Ora, supponiamo (come è spesso il caso) che
il processo figlio effettui una exec(). Il suo
attuale spazio di indirizzamento è in genere rimpiazzato da un
nuovo spazio di indirizzamento rappresentante il nuovo file.
In questo caso il livello C2 viene distrutto:+-------+
| C1 |
+-------+-------+
| B |
+---------------+
| A |
+---------------+In questo caso, il numero di figli di B scende a uno, e tutti gli
accessi a B avvengono attraverso C1. Ciò significa che B e C1
possono collassare insieme in un singolo strato.
Ogni pagina in B che esista anche in C1 viene cancellata da
B durante il crollo. Dunque, anche se l'ottimizzazione nel passo
precedente non era stata effettuata, possiamo recuperare le pagine morte
quando il processo esce o esegue una exec().Questo modello crea un bel po' di problemi potenziali. Il primo
è che ci si potrebbe ritrovare con una pila abbastanza profonda di
Oggetti VM incolonnati che costerebbe memoria e tempo per la ricerca
quando accadesse un fault. Può verificarsi un ingrandimento della
pila quando un processo esegue una fork dopo l'altra (che sia il padre o
il figlio). Il secondo problema è che potremmo ritrovarci con
pagine morte, inaccessibili nella profondità della pila degli
Oggetti VM. Nel nostro ultimo esempio se sia il padre che il figlio
modificano la stessa pagina, entrambi hanno una loro copia della pagina e
la pagina originale in B non è più accessibile
da nessuno. Quella pagina in B può essere liberata.FreeBSD risolve il problema della profondità dei livelli con
un'ottimizzazione speciale detta All Shadowed Case (caso
dell'oscuramento totale).
Questo caso accade se C1 o C2 subiscono sufficienti COW fault (COW
è l'acronimo che sta per copy on write) da oscurare completamente
tutte le pagine in B.
Ponimo che C1 abbia raggiunto questo livello. C1 può ora
scavalcare B del tutto, dunque invece di avere C1->B->A e C2->B->A adesso
abbiamo C1->A e C2->B->A.
ma si noti cos'altro è accaduto—ora B ha solo un riferimento
(C2), dunque possiamo far collassare B e C2 insieme.
Il risultato finale è che B viene cancellato
interamente e abbiamo C1->A e C2->A. Spesso accade che B contenga un
grosso numero di pagine e ne' C1 ne' C2 riescano a oscurarlo
completamente. Se eseguiamo una nuova fork e creiamo un insieme di
livelli D, comunque, è molto più probabile che uno dei
livelli D sia eventualmente in grado di oscurare completamente l'insieme
di dati più piccolo rappresentato da C1 o C2. La stessa
ottimizzazione funzionerà in ogni punto nel grafico ed il
risultato di ciò è che anche su una macchina con
moltissime fork le pile degli Oggetti VM tendono a non superare una
profondità di 4. Ciò è vero sia per il padre che per
il figlio ed è vero nel caso sia il padre a eseguire la fork ma
anche se è il figlio a eseguire fork in cascata.Il problema della pagina morta esiste ancora nel caso C1 o C2 non
oscurino completamente B. A causa delle altre ottimizzazioni questa
eventualità
non rappresenta un grosso problema e quindi permettiamo semplicemente
alle pagine di essere morte. Se il sistema si trovasse con poca memoria
le manderebbe in swap, consumando un po' di swap, ma così
è.Il vantaggio del modello ad Oggetti VM è che
fork() è estremamente veloce, poiché
non deve aver luogo nessuna copia di dati effettiva. Lo svantaggio
è che è possibile costruire un meccanismo a livelli di
Oggetti VM relativamente complesso che rallenterebbe la gestione dei page
fault, e consumerebbe memoria gestendo le strutture degli Oggetti VM.
Le ottimizazioni realizzate da FreeBSD danno prova di ridurre
i problemi abbastanza da poter essere ignorati, non lasciando
nessuno svantaggio reale.Livelli di SWAPLe pagine di dati private sono inizialmente o pagine
copy-on-write o pagine zero-fill.
Quando avviene un cambiamento, e dunque una copia, l'oggetto di copia
originale (in genere un file) non può più essere utilizzato
per salvare la copia quando il sistema della VM ha bisogno di
riutilizzarla per altri scopi. A questo punto entra in gioco lo SWAP. Lo
SWAP viene allocato per creare spazio dove salvare memoria che altrimenti
non sarebbe disponibile. FreeBSD alloca la struttura di gestione di
un Oggetto VM solo quando è veramente necessario.
Ad ogni modo, la struttura di gestione dello swap ha avuto storicamente
dei problemi.Su FreeBSD 3.X la gestione della struttura di swap prealloca un
array che contiene l'intero oggetto che necessita di subire
swap—anche se solo poche pagine di quell'oggetto sono effettivamente
swappate questo crea una frammentazione della memoria del kernel quando
vengono mappati oggetti grandi, o processi con grandi dimensioni
all'esecuzione (large runsizes, RSS). Inoltre, per poter tenere traccia
dello spazio di swap, viene mantenuta una lista dei buchi
nella memoria del kernel, ed anche questa tende ad essere pesantemente
frammentata. Poiché la lista dei buchi è una
lista lineare, l'allocazione di swap e la liberazione hanno prestazioni
non ottimali O(n) per ogni pagina.
Questo richiede anche che avvengano allocazioni di memoria
durante il processo di liberazione dello swap, e questo crea
problemi di deadlock, blocchi senza uscita, dovuti a scarsa memoria.
Il problema è ancor più esacerbato dai buchi creati a causa
dell'algoritmo di interleaving.
Inoltre il blocco di swap può divenire frammentato molto facilmente
causando un'allocazione non contigua. Anche la memoria del Kernel deve
essere allocata al volo per le strutture aggiuntive di gestione dello
swap quando avviene uno swapout. È evidente che c'era molto spazio
per dei miglioramenti.Per FreeBSD 4.X, ho completamente riscritto il sottosistema di swap.
Con questa riscrittura, le strutture di gestione dello swap vengono
allocate attraverso una tabella di hash invece che con un array lineare
fornendo una dimensione di allocazione fissata e una granularità
molto maggiore.
Invece di usare una lista lineare collegata per tenere traccia delle
riserve di spazio di swap, essa usa una mappa di bit di blocchi di swap
organizzata in una struttura ad albero radicato con riferimenti allo
spazio libero nelle strutture nei nodi dell'albero. Ciò rende in
effetti l'operazione di allocazione e liberazione delle risorse
un'operazione O(1).
L'intera mappa di bit dell'albero radicato viene anche preallocata in modo
da evitare l'allocazione di memoria kernel durante le operazioni di swap
critiche nei momenti in cui la memoria disponibile è ridotta.
Dopo tutto, il sistema tende a fare uso dello swap quando ha poca memoria
quindi dovremmo evitare di allocare memoria per il kernel in quei momenti
per poter evitare potenziali deadlock. Infine, per ridurre la
frammentazione l'albero radicato è in grado di allocare grandi
spezzoni contigui in una volta, saltando i pezzetti frammentati.
Non ho ancora compiuto il passo finale di avere un puntatore di
supportoall'allocazione che scorra su una porzione di swap nel
momento in cui vengano effettuate delle allocazioni, in modo da garantire
ancor di più le allocazioni contigue o almeno una località
nel riferimento, ma ho assicurato che un'aggiunta simile possa essere
effettuata.Quando liberare una paginaPoiché il sistema della VM usa tutta la memoria disponibile
per il caching del disco, in genere ci sono pochissime pagine veramente
libere. Il sistema della VM dipende dalla possibilità di
scegliere in maniera appropriata le pagine che non sono in uso per
riusarle in nuove allocazioni. Selezionare le pagine ottimali da liberare
è forse la funzione singola più importante che possa essere
eseguita da una VM perché se si effettua una selezione non
accurata, il sistema della VM può essere forzato a recuperare
pagine dal disco in modo non necessari, degradando seriamente le
prestazioni del sistema.Quanto sovraccarico siamo disposti a sopportare nel percorso critico
per evitare di liberare la pagina sbagliata? Ogni scelta sbagliata che
facciamo ci costerà centinaia di migliaia di cicli di CPU ed uno
stallo percettibile nei processi coinvolti, dunque permettiamo un
sovraccarico significativo in modo da poter avere la certezza che la
pagina scelta sia quella giusta.
Questo è il motivo per cui FreeBSD tende ad avere prestazioni
migliori di altri sistemi quando le risorse di memoria vengono
stressate.L'algoritmo di determinazione della pagina da liberare
è costruito su una storia di uso delle pagine di memoria.
Per acquisire tale storia, il sistema si avvantaggia di una
caratteristica della maggior parte dell'hardware moderno, il bit che
indica l'attività di una pagina (page-used bit).In qualsiasi caso, il page-used bit viene azzerato e in un momento
seguente il sistema della VM passa di nuovo sulla pagina e vede che il
page-used bit è stato di nuovo attivato. Questo indica che la
pagina viene ancora usata attivamente.
Il bit ancora disattivato è un indice che quella pagina non viene
usata attivamente.
Controllando questo bit periodicamente, viene sviluppata una storia
d'uso (in forma di contatore) per la pagina fisica. Quando il sistema
della VM avrà bisogno di liberare delle pagine, controllare questa
storia diventa la pietra angolare nella determinazione del candidato
migliore come pagina da riutilizzare.E se l'hardware non ha un page-used bit?Per quelle piattaforme che non hanno questa caratteristica, il
sistema in effetti emula un page-used bit. Esso elimina la mappatura di
una pagina, o la protegge, forzando un page fault se c'è un
accesso successivo alla pagina.
Quando avviene il page fault, il sistema segnala semplicemente
la pagina come usata e la sprotegge in maniera che possa essere usata.
Mentre prendere tale page fault solo per determinare se una pagina
è in uso può apparire una scelta costosa, in realtà
essa lo è molto meno che riusare la pagina per altri scopi, per
dover poi scoprire che un processo ne aveva ancora bisogno e dovere
andare a cercarla di nuovo su disco.FreeBSD fa uso di parecchie code per le pagine per raffinare
ulteriormente la selezione delle pagine da riutilizzare, come anche per
determinare quando le pagine sporche devono essere spostate dalla memoria
e immagazzinate da qualche parte. Poiché le tabelle delle pagine
sono entità dinamiche in FreeBSD, non costa praticamente nulla
eliminare la mappatura di una pagina dallo spazio di indirizzamento di un
qualsiasi processo che la stia usando. Quando una pagina candidata
è stata scelta sulla base del contatore d'uso, questo è
esattamente quello che viene fatto.
Il sistema deve effettuare una distinzione tra pagine pulite che
possono essere teoricamente liberate in qualsiasi momento, e pagine
sporche che devono prima essere scritte (salvate) per poter essere
riutilizzabili.
Quando una pagina candidata viene trovata viene spostata nella coda
delle pagine inattive, se è una pagina sporca, o nella coda di
cache se è pulita.
Un algoritmo separato basato su un rapporto sporche/pulite
determina quando le pagine sporche nella coda inattiva devono essere
scritte su disco. Una volta che è stato fatto questo, le pagine
ormai salvate vengono spostate dalla coda delle inattive alla coda di
cache. A questo punto, le pagine nella coda di cache possono ancora
essere riattivate da un VM fault ad un costo relativamente basso.
Ad ogni modo, le pagine nella coda di cache vengono considerate
immediatamente liberabili e verranno riutilizzate con un
metodo LRU (least-recently used Usate meno recentemente. Le pagine che non vengono usate da molto
tempo probabilmente non saranno necessarie a breve, e possono essere
liberate.) quando il sistema avrà bisogno di allocare nuova
memoria.È importante notare che il sistema della VM di FreeBSD tenta
di separare pagine pulite e sporche per l'espressa ragione di evitare
scritture non necessarie di pagine sporche (che divorano banda di I/O), e
non sposta le pagine tra le varie code gratuitamente quando il
sottosistema non viene stressato. Questo è il motivo per cui
dando un systat -vm vedrai sistemi con contatori della
coda di cache bassi e contatori della coda delle pagine attive molto alti.
Quando il sistema della VM diviene maggiormente stressato, esso fa un
grande sforzo per mantenere le varie code delle pagine ai livelli
determinati come più efficenti.
Per anni è circolata la leggenda urbana che Linux facesse un lavoro
migliore di FreeBSD nell'evitare gli swapout, ma in pratica questo non
è vero. Quello che stava effettivamente accadendo era che FreeBSD
stava salvando le pagine inutilizzate proattivamente per fare spazio
mentre Linux stava mantendendo le pagine inutilizzate lasciando meno
memoria disponibile per la cache e le pagine dei processi.
Non so se questo sia vero ancora oggi.Pre-Faulting e Ottimizzazioni di AzzeramentoSubire un VM fault non è costoso se la pagina sottostante
è già nella memoria fisica e deve solo essere mappata di
nuovo nel processo, ma può divenire costoso nel caso se ne
subiscano un bel po' su base regolare. Un buon esempio di ciò si
ha eseguendo un programma come &man.ls.1; o &man.ps.1; ripetutamente.
Se il binario del programma è mappato in memoria ma non nella
tabella delle pagine, allora tutte le pagine che verranno accedute dal
programmma dovranno generare un page fault ogni volta che il programma
viene eseguito.
Ciò non è necessario quando le pagine in questione sono
già nella cache della VM, quindi FreeBSD tenterà di
pre-popolare le tabelle delle pagine di un processo con quelle pagine che
sono già nella VM Cache. Una cosa che FreeBSD non fa ancora
è effettuare il pre-copy-on-write di alcune pagine nel caso di una
chiamata a exec.
Ad esempio, se esegui il programma &man.ls.1; mentre stai eseguendo
vmstat 1 noterai che subisce sempre un certo numero
di page fault, anche eseguendolo ancora e ancora. Questi sono
zero-fill fault, legati alla necessità di azzerare memoria,
non program code fault, legati alla copia dell'eseguibile in memoria
(che erano già stati gestiti come pre-fault).
Pre-copiare le pagine all'exec o alla fork è un'area che potrebbe
essere soggetta a maggior studio.Una larga percentuale dei page fault che accadono è composta di
zero-fill fault. In genere è possibile notare questo fatto
osservando l'output di vmstat -s.
Questi accadono quando un processo accede a pagine nell'area del BSS.
Ci si aspetta che l'area del BSS sia composta inizialmente da zeri
ma il sistema della VM non si preoccupa di allocare nessuna memoria
finché il processo non ne ha effettivamente bisogno.
Quindi nel momento in cui accade un fault il sistema della VM non
deve solo allocare una nuova pagina, ma deve anche azzerarla.
Per ottimizzare l'operazione di azzeramento, il sistema della VM
ha la capacità di pre-azzerare le pagine e segnalarle come tali,
e di richiedere pagine pre-azzerate quando avvengono zero-fill fault.
Il pre-azzeramento avviene quando la CPU è inutilizzata ma il
numero di pagine che vengono pre-azzerate dal sistema è limitato
per evitare di spazzare via la cache della memoria. Questo è un
eccellente esempio di complessità aggiunta al sistema della VM per
ottimizare il percorso critico.Ottimizzazioni della Tabella delle Pagine Le ottimizzazioni alla tabella delle pagine costituiscono
La parte più controversa nel design della VM di FreeBSD ed ha
mostrato un po' di affanno con l'avvento di un uso pesante di
mmap().
Penso che questa sia una caratteristiche della maggior parte dei
BSD anche se non sono sicuro di quando è stata introdotta
la prima volta. Ci sono due ottimizzazioni maggiori. La prima è
che le tabelle della pagine hardware non contengono uno stato persistente
ma possono essere gettate via in qualsiasi momento con un sovraccarico di
gestione minimo.
La seconda è che ogni pagina attiva nel sistema ha una struttura di
controllo pv_entry che è integrata con la
struttura vm_page. FreeBSD può semplicemente
operare attraverso quelle mappature di cui è certa l'esistenza,
mentre Linux deve controllare tutte le tabelle delle pagine che
potrebbero contenere una mappatura specifica per
vedere se lo stanno effettivamente facendo, il che può portare ad
un sovraccarico computazionale O(n^2) in alcune situazioni.
È per questo che FreeBSD tende a fare scelte migliori su quale
pagina riutilizzare o mandare in swap quando la memoria è messa
sotto sforzo, fornendo una miglior performance sotto carico. Comunque,
FreeBSD richiede una messa a punto del kernel per accomodare situazioni
che richiedano grandi spazi di indirizzamento condivisi, come quelli che
possono essere necessari in un sistema di news perché potrebbe
esaurire il numero di struct pv_entry.Sia Linux che FreeBSD necessitano di lavoro in quest'area.
FreeBSD sta cercando di massimizzare il vantaggio di avere un modello di
mappatura attiva potenzialmente poco denso (non tutti i processi hanno
bisogno di mappare tutte le pagine di una libreria condivisa, ad esempio),
mentre linux sta cercando di semplificare i suoi algoritmi. FreeBSD
generalmente ha dei vantaggi prestazionali al costo di un piccolo spreco
di memoria in più, ma FreeBSD crolla nel caso in cui un grosso file
sia condiviso massivamente da centinaia di processi.
Linux, d'altro canto, crolla nel caso in cui molti processi mappino a
macchia di leopardo la stessa libreria condivisa e gira in maniera non
ottimale anche quando cerca di determinare se una pagina deve essere
riutilizzata o no.Colorazione delle PagineConcluderemo con le ottimizzazioni di colorazione delle pagine.
La colorazione delle pagine è un'ottimizzazione prestazionale
progettata per assicurare che gli accessi a pagine contigue nella memoria
virtuale facciano il miglior uso della cache del processore. Nei
tempi antichi (cioè più di 10 anni fa) le cache dei
processori tendevano a mapparela memoria virtuale invece della memoria
fisica. Questo conduceva ad un numero enorme di problemi inclusa la
necessità di ripulire la cache ad ogni cambio di contesto, in
alcuni casi, e problemi con l'aliasing dei dati nella cache.
Le cache dei processori moderni mappano la memoria fisica proprio per
risolvere questi problemi.
Questo significa che due pagine vicine nello spazio di indirizzamento
dei processi possono non corrispondere a due pagine vicine nella cache.
In effetti, se non si è attenti pagine affiancate nella memoria
virtuale possono finire con l'occupare la stessa pagina nella cache del
processore—portando all'eliminazione prematura di dati
immagazzinabili in cache e riducendo le prestazioni della cache.
Ciò è vero anche con cache set-associative set-associative sta per associative all'interno di un insieme, in
quanto c'è un insieme di blocchi della cache nei quale puo
essere mappato un elemento della memoria fisica. a molte vie (anche se l'effetto viene in qualche maniera
mitigato).Il codice di allocazione della memoria di FreeBSD implementa
le ottimizizzazioni di colorazione delle pagine, ciò significa che
il codice di allocazione della memoria cercherà di trovare delle
pagine libere che siano vicine dal punto di vista della cache.
Ad esempio, se la pagina 16 della memoria fisica è assegnata
alla pagina 0 della memoria virtuale di un processo e la cache può
contenere 4 pagine, il codice di colorazione delle pagine non
assegnerà la pagina 20 di memoria fisica alla pagina 1 di
quella virtuale.
Invece, gli assegnerà la pagina 21 della memoria fisica.
Il codice di colorazione delle pagine cerca di evitare l'assegnazione
della pagina 20 perché questa verrebbe mappata sopra lo stesso
blocco di memoria cache della pagina 16 e ciò causerrebbe un uso
non ottimale della cache.
Questo codice aggiunge una complessità significativa
al sottosistema di allocazione memoria della VM, come si può ben
immaginare, ma il gioco vale ben più della candela. La colorazione
delle pagine rende la memoria virtuale deterministica quanto la memoria
fisica per quel che riguarda le prestazioni della cache.ConclusioneLa memoria virtuale nei sistemi operativi moderni deve affrontare
molti problemi differenti efficientemente e per molti diversi tipi di uso.
L'approccio modulare ed algoritmico che BSD ha storicamente seguito ci
permette di studiare e comprendere l'implementazione attuale cosi come di
poter rimpiazzare in maniera relativamente pulita grosse sezioni di
codice. Ci sono stati un gran numero di miglioramenti al sistema della
VM di FreeBSD negli ultimi anni, ed il lavoro prosegue.Sessione Bonus di Domande e Risposte di Allen Briggs
briggs@ninthwonder.comCos'è l'algoritmo di interleaving a cui
fai riferimento nell'elenco delle debolezze della gestione dello
swap in FreeBSD 3.X ?FreeBSD usa un intervallo tra zone di swap fissato, con un
valore predefinito di 4. Questo significa che FreeBSD riserva
spazio per quattro aree di swap anche se ne hai una sola o due o
tre. Poiché lo swap è intervallato lo spazio di
indirizzamento lineare che rappresenta le quattro aree di
swap verrà frammentato se non si possiedono
veramente quattro aree di swap. Ad esempio, se hai due aree di
swap A e B la rappresentazione dello spazio di FreeBSD per
quell'area di swap verrà interrotta in blocchi di 16
pagine:A B C D A B C D A B C D A B C DFreeBSD 3.X usa una lista sequenziale delle
regioni libere per registrare le aree di swap libere.
L'idea è che grandi blocchi di spazio libero e lineare
possano essere rappresentati con un nodo singolo
(kern/subr_rlist.c).
Ma a causa della frammentazione la lista sequenziale risulta
assurdamente frammentata.
Nell'esempio precedente, uno spazio di swap completamente non
allocato farà si che A e B siano mostrati come
liberi e C e D come totalmente
allocati. Ogni sequenza A-B richiede un nodo per essere
registrato perché C e D sono buchi, dunquei nodi di lista non
possono essere combinati con la sequenza A-B seguente.Perché organizziamo lo spazio in intervalli invece di
appiccicare semplicemente le area di swap e facciamo qualcosa di
più carino? Perché è molto più semplice
allocare strisce lineari di uno spazio di indirizzamento ed ottenere
il risultato già ripartito tra dischi multipli piuttosto che
cercare di spostare questa complicazione altrove.La frammentazione causa altri problemi. Essendoci una lista
lineare nella serie 3.X, ed avendo una tale quantità di
frammentazione implicita, l'allocazione e la liberazione dello swap
finisce per essere un algoritmo O(N) invece di uno O(1).
Combinalo con altri fattori (attività di swap pesante)
e comincerai a trovarti con livelli di overhead come O(N^2) e
O(N^3), e ciò è male. Il sistema dela serie 3.X
può anche avere necessità di allocare KVM durante
un'operazione di swap per creare un nuovo nodo lista, il che
può portare ad un deadlock se il sistema sta cercando di
liberare pagine nella memoria fisica in un momento di
scarsità di memoria.Nella serie 4.X non usiamo una lista sequenziale. Invece usiamo
un albero radicato e mappe di bit di blocchi di swap piuttosto che
nodi lista.
Ci prendiamo il peso di preallocare tutte le mappe di bit richieste
per l'intera area di swap ma ciò finisce per consumare meno
memoria grazie all'uso di una mappa di bit (un bit per blocco)
invece di una lista collegata di nodi. L'uso di un albero radicato
invece di una lista sequenziale ci fornisce una performance quasi
O(1) qualunque sia il livello di frammentazione dell'albero.Non ho capito questo:
È importante notare che il sistema della VM di FreeBSD
tenta di separare pagine pulite e sporche per l'espressa ragione di
evitare scritture non necessarie di pagine sporche (che divorano
banda di I/O), e non sposta le pagine tra le varie code
gratuitamente se il sottosistema non viene stressato. Questo
è il motivo per cui dando un systat -vm
vedrai sistemi con contatori della coda di cache bassi e contatori
della coda delle pagine attive molto alti.
Come entra in relazione la separazione delle pagine pulite e
sporche (inattive) con la situazione nella quale vediamo contatori
bassi per la coda di cache e valori alti per la coda delle pagine
attive in systat -vm? I dati di systat derivano
da una fusione delle pagine attive e sporche per la coda delle
pagine attive?Si, questo può confondere. La relazione è
obiettivo contro realtà. Il
nostro obiettivo è separare le pagine ma la realtà
è che se non siamo in crisi di memoria, non abbiamo bisogno
di farlo.Questo significa che FreeBSD non cercherà troppo di
separare le pagine sporche (coda inattiva) da quelle pulite
(code della cache), ne cercherà di disattivare le pagine
(coda pagine attive -> coda pagine inattive) quando il sistema non
è sotto sforzo, anche se non vengono effettivamente
usate. Nell'esempio di &man.ls.1; / vmstat 1,
alcuni dei page fault non potrebbero essere data page faults
(COW da file eseguibili a pagine private)? Cioè, io mi
aspetterei che i page fault fossero degli zero-fill e dei dati di
programma. O si implica che FreeBSD effettui il pre-COW per i dati
di programma?Un fault COW può essere o legato a uno zero-fill o a dati
di programma.
Il meccanismo è lo stesso in entrambi i casi poiché
i dati di programma da copiare sono quasi certamente già
presenti nella cache. E infatti li tratto insieme. FreeBSD non
effettua preventivamentela copia dei dati di programma o lo
zero-fill, effettua la mappatura preventiva
delle pagine che sono presenti nella sua cache.Nella sezione sull'ottimizzazione della tabella delle pagine,
potresti fornire maggiori dettagli su pv_entry e
vm_page (forse vm_page dovrebbe essere
vm_pmap—come in 4.4, cf. pp. 180-181 di
McKusick, Bostic, Karel, Quarterman)? Specificamente, che tipo di
operazioni/reazioni richiederebbero la scansione delle
mappature?Come funziona Linux nel caso in cui FreeBSD fallisce
(la condivisione di un grosso file mappato tra molti
processi)?Una vm_page rappresenta una tupla
(oggetto,indice#).
Una pv_entry rappresenta una voce nella tabella
delle pagine hardware (pte). Se hai cinque processi che condividono
la stessa pagina fisica, e tre delle tabelle delle pagine di questi
processi mappano effettivamente la pagina, questa pagina
verrà rappresentata da una struttura
vm_page singola e da tre strutture
pv_entry.Le strutture pv_entry rappresentano solo
le pagine mappate dalla MMU (una pv_entry
rappresenta un pte). Ciò significa che è necessario
rimuovere tutti i riferimenti hardware a vm_page
(in modo da poter riutilizzare la pagina per qualcos'altro,
effettuare il page out, ripulirla, sporcarla, e così via)
possiamo semplicemente scansionare la lista collegata di
pv_entry associate con quella
vm_page per rimuovere o modificare i pte
dalla loro tabella delle pagine.Sotto Linux non c'è una lista collegata del genere. Per
poter rimuovere tutte le mappature della tabella delle pagine
hardware per una vm_page linux deve indicizzare
ogni oggetto VM che potrebbe aver mappato la
pagina. Ad esempio, se si hanno 50 processi che mappano la stessa
libreria condivisa e si vuole liberarsi della pagina X in quella
libreria, sarà necessario cercare nella tabella delle pagine
per ognuno dei 50 processi anche se solo 10 di essi ha
effettivamente mappato la pagina. Così Linux sta barattando
la semplicità del design con le prestazioni. Molti algoritmi
per la VM che sono O(1) o (piccolo N) in FreeBSD finiscono per
diventare O(N), O(N^2), o anche peggio in Linux.
Poiché i pte che rappresentano una particolare pagina in un
oggetto tendono ad essere allo stesso offset in tutte le tabelle
delle pagine nelle quali sono mappati, la riduzione del numero di
accessi alla tabela delle pagine allo stesso offset eviterà
che la la linea di cache L1 per quell'offset venga cancellata,
portando ad una performance migliore.FreeBSD ha aggiunto complessità (lo schema
pv_entry) in modo da incrementare le prestazioni
(per limitare gli accessi alla tabella delle pagine
solo a quelle pte che necessitino di essere
modificate).Ma FreeBSD ha un problema di scalabilità che linux non ha
nell'avere un numero limitato di strutture
pv_entry e questo provoca problemi quando si
hanno condivisioni massicce di dati. In questo caso c'è la
possibilità che finiscano le strutture
pv_entry anche se c'è ancora una grande
quantità di memoria disponibile.
Questo può essere risolto abbastanza facilmente
aumentando il numero di struttre pv_entry nella
configurazione del kernel, ma c'è veramente bisogno di
trovare un modo migliore di farlo.Riguardo il sovrapprezzo in memoria di una tabella delle pagine
rispetto allo schema delle pv_entry: Linux usa
tabelle delle pagine permanenti che non vengono
liberate, ma non necessita una pv_entry per ogni
pte potenzialmente mappato.
FreeBSD usa tabelle delle pagine throw away,
eliminabili, ma aggiunge una struttura pv_entry
per ogni pte effettivamente mappato. Credo che l'utilizzo della
memoria finisca per essere più o meno lo stesso, fornendo a
FreeBSD un vantaggio algoritmico con la capacità di
eliminare completamente le tabelle delle pagine con un
sovraccarico prestazionale minimo.Infine, nella sezione sulla colorazione delle pagine, potrebbe
esser d'aiuto avere qualche descrizione in più di quello che
intendi. Non sono riuscito a seguire molto bene.Sai come funziona una memoria cache hardware L1? Spiego:
Considera una macchina con 16MB di memoria principale ma solo 128K
di cache L1. In genere il modo in cui funziona la cache è
che ogni blocco da 128K di memoria principale usa gli
stessi 128K di cache.
Se si accede all'offset 0 della memoria principale e poi al 128K su
può finire per cancellarei dati che si erano messi nella
cache dall'offset 0!Ora, sto semplificando di molto. Ciò che ho appena
descritto è quella che viene detta memoria cache a
corrispondenza diretta, o direct mapped.
La maggior parte delle cache moderne sono quelle che
vengono dette set-associative a 2 o 4 vie.
L'associatività di questo tipo permette di accedere fino ad N
regioni di memoria differenti che si sovrappongano sulla stessa
cache senza distruggere i dati preventivamente immagazzinati.
Ma solo N.Dunque se ho una cache set associativa a 4 vie posso accedere
agli offset 0, 128K, 256K 384K ed essere ancora in grado di
accedere all'offset 0 ritrovandolo nella cache L1. Se poi accedessi
all'offset 512K, ad ogni modo, uno degli oggetti dato immagazzinati
precedentemente verrebbero cancellati dalla cache.È estremamente importante …
estremamente importante che la maggior parte
degli accessi del processore alla memoria vengano dalla cache L1,
poiché la cache L1 opera alla stessa frequenza del
processore. Nel momento in cui si ha un miss Un miss nella cache è equivalente a un page fault per
la memoria fisica, ed allo stesso modo implica un accesso a
dispositivi molto più lenti, da L1 a L2 come da RAM a
disco. nella cache L1 si deveandare a cercare nella cache L2 o
nella memoria principale, il processore andrà in stallo, e
potenzialmente potrà sedersi a girarsi i pollici per un tempo
equivalente a centinaia di istruzioni
attendendo che la lettura dalla memoria principale venga
completata. La memoria principale (la RAM che metti nel tuo
computer) è lenta, se comparata alla
velocità del nucleo di un moderno processore.Ok, ora parliamo della colorazione dele pagine:
tutte le moderne cache sono del tipo noto come cache
fisiche. Esse memorizzano indirizzi di memoria
fisica, non indirizzi di memoria virtual. Ciò permette alla
cache di rimanere anche nel momento in cui ci sia un cambio di
contesto tra processi, e ciò è molto
importante.Ma nel mondo &unix; devi lavorare con spazi di indirizzamento
virtuali, non con spazi di indirizzamento fisici. Ogni programma
che scrivi vedrà lo spazio di indirizzamento virtuale
assegnatogli. Le effettive pagine fisiche
nascoste sotto quello spazio di indirizzi virtuali
non saranno necessariamente contigue fisicamente! In effetti,
potresti avere due pagine affiancate nello spazio di
indirizzamento del processo cge finiscono per trovarsi agli
offset 0 e 128K nella memoria fisica.Un programma normalmente assume che due pagine
affiancate verranno poste in cache in maniera ottimale.
Cioè, che possa accedere agli oggetti dato in
entrambe le pagine senza che esse si cancellino a vicenda le
rispettiva informazioni in cache.
Ma ciò è vero solo se le pagine fisiche sottostanti lo
spazio di indirizzo virtuale sono contigue (per quel che riguarda
la cache).Questo è ciò che viene fatto dalla colorazione
delle pagine.
Invece di assegnare pagine fisiche casuali agli
indirizzi virtuali, che potrebbe causare prestazioni non ottimali
della cache, la colorazione dele pagine assegna pagine fisiche
ragionevolmente contigue.
Dunque i programmi possono essere scritti assumendo che
le caratteristiche per lo spazio di indirizzamento virtuale del
programma della cache hardware sottostante siano uguali a come
sarebbero state se avessero usato lo spazio di indirizzamento
fisico.Si note ho detto ragionevolmente contigue invece
che semplicemente contigue. Dal punto di vista di
una cache di 128K a corrispondenza diretta, l'indirizzo fisico 0
è lo stesso che l'indirizzo fisico 128K.
Dunque due agine affiancate nello spzio di indirizzamento virtuale
potrebbero finire per essere all'offset 128K e al 132K nella memoria
fisica, ma potrebbero trovarsi tranquillamente anche agli offset
128K e 4K della memoria fisica e mantenera comunque le stesse
caratteristiche prestazionali nei riguardi della cache. Dunque la
colorazione delle pagine non deveassegnare
pagine di memoria fisica veramente contigue a pagine di memoria
virtuale contigue, deve solo assicurarsi che siano assegnate pagine
contigue dal punto di vista delle prestazioni/operazioni della
cache.
diff --git a/it_IT.ISO8859-15/books/handbook/Makefile b/it_IT.ISO8859-15/books/handbook/Makefile
index 6a56dec221..7585682149 100644
--- a/it_IT.ISO8859-15/books/handbook/Makefile
+++ b/it_IT.ISO8859-15/books/handbook/Makefile
@@ -1,245 +1,244 @@
#
# $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= sysadmin@alexdupre.com
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+= 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 'transtable.xml' "'${XML_TRANSTABLE}'" \
--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 'transtable.xml' "'${XML_TRANSTABLE}'" \
--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/basics/Makefile b/it_IT.ISO8859-15/books/handbook/basics/Makefile
index 053016daea..8827060440 100644
--- a/it_IT.ISO8859-15/books/handbook/basics/Makefile
+++ b/it_IT.ISO8859-15/books/handbook/basics/Makefile
@@ -1,15 +1,15 @@
#
# Crea il Manuale con il contenuto di solo questo capitolo.
#
# $FreeBSD$
#
-CHAPTERS= introduction/chapter.sgml
+CHAPTERS= basics/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"
diff --git a/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml b/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml
index 96d1856729..2ca360fbd9 100644
--- a/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml
@@ -1,2727 +1,2731 @@
ChrisShumwayRiscritto da Basi di UnixSinossibasiIl seguente capitolo tratta i comandi e le funzionalità di
base del sistema operativo FreeBSD. Molto di questo materiale è
valido anche per altri sistemi operativi &unix;-like. Sentiti libero di
leggere velocemente questo capitolo se hai familiarità con questo
materiale. Se sei un utente alle prime armi di FreeBSD, allora dovrai di
sicuro leggere questo capitolo attentamente.Dopo aver letto questo capitolo, saprai:Come usare le console virtuali di FreeBSD.Come funzionano i permessi dei file &unix;.La struttura di default del file system di &os;.
+
+ L'organizzazione del disco di &os;.
+
+
Come montare e smontare i file system.Cosa sono i processi, i demoni e i segnali.Cos'è una shell, e come cambiare il proprio ambiente di
login di default.I principi di base sull'uso degli editor testuali.Cosa sono i dispositivi e i nodi dei dispositivi.Quali formati dei binari sono usati in &os;.Come leggere le pagine man per ottenere maggiori
informazioni.Console Virtuali e Terminaliconsole virtualiterminaliFreeBSD può essere usato in vari modi. Uno di questi è
quello di digitare i comandi tramite un terminale testuale. Quando si
utilizza FreeBSD in questo modo si ha velocemente nelle proprie mani molta
della flessibilità e della potenza di un sistema operativo &unix;.
Questa sezione descrive cosa sono i terminali e le
console, e come si possono utilizzare in FreeBSD.La consoleconsoleSe non hai configurato FreeBSD in modo tale da avviare in modo
automatico l'ambiente grafico durante l'avvio, il sistema ti
fornirà un prompt di login dopo la fase di avvio, esattamente
dopo che gli script di avvio sono stati eseguiti. Dovresti vedere
qualcosa simile a questo:Additional ABI support:.
Local package initialization:.
Additional TCP options:.
Fri Sep 20 13:01:06 EEST 2002
FreeBSD/i386 (pc3.example.org) (ttyv0)
login:I messaggi potrebbero essere leggermente diversi sul tuo sistema,
tuttavia dovresti vedere qualcosa di analogo. In questo momento ci
interessano le ultime due righe. Analizziamo la penultima riga:FreeBSD/i386 (pc3.example.org) (ttyv0)Questa riga contiene alcune informazioni sul sistema che hai appena
avviato. Sei di fronte a una console FreeBSD, che sta
girando su un processore Intel o su un processore compatibile con
l'architettura x86Questo è il significato di i386.
Nota che anche se non stai eseguendo FreeBSD su una CPU della serie
386 di Intel, questo messaggio resta i386. Non
si riferisce al tipo del tuo processore, ma bensì
all'architettura del processore..
Il nome di questa macchina (tutte le macchine &unix; hanno un nome)
è pc3.example.org, e in questo momento sei di
fronte alla sua console di sistema—il terminale
ttyv0.Infine, l'ultima riga è sempre:login:Qui devi digitare il tuo username per loggarti in
FreeBSD. La prossima sezione descrive come fare ad effettuare il login
su FreeBSD.Loggarsi in FreeBSDFreeBSD è un sistema multi-utente e multi-processo. Questa
è la descrizione formale che viene usualmente attribuita a un
sistema che può essere usato da diverse persone, le quali
eseguono contemporaneamente molti programmi su una singola
macchina.Ogni sistema multi-utente necessita di qualche metodo che distingua
un utente in modo univoco. In FreeBSD (e in tutti i
sistemi operativi &unix;-like), questo viene realizzato richiedendo che
ogni utente debba loggarsi nel sistema prima che possa
eseguire qualche programma. Ogni utente ha un nome univoco (lo
username), uno personale e una chiave segreta (la
password). FreeBSD richiede entrambe queste due cose
prima di dare la possibilità ad un utente di eseguire qualche
programma.script di avvioGiusto dopo la fase di avvio di FreeBSD e quando gli script di avvio
sono stati eseguitiGli script di avvio sono programmi che vengono eseguiti in modo
automatico durante la fase di avvio di FreeBSD. Il loro compito
principale è quello di settare delle cose che potranno essere
utilizzate da qualsiasi altra cosa venga eseguita, ed avviare i
servizi che potresti avere configurato in modo tale da essere
eseguiti in background per realizzare cose utili., ti viene presentato un prompt dove inserire un valido
username:login:Giusto per questo esempio, assumiamo che il tuo username sia
john. Al prompt digita john e
premi Invio. Ti verrà presentato un prompt
dove inserire la password:login: john
Password:Digita la password di john, e premi
Invio. La password non viene
visualizzata! Non ti devi preoccupare di questo per ora.
È sufficiente sapere che è una questione di
sicurezza.Se hai digitato la tua password in modo corretto, dovresti essere
loggato in FreeBSD e sei quindi pronto per provare tutti i comandi
disponibili.Dovresti inoltre vedere il messaggio del giorno
(MOTD) seguito da un prompt dei comandi (un
carattere #, $, o
%). Ciò
indica che sei a tutti gli effetti loggato in FreeBSD.Console MultipleEseguire comandi &unix; in una sola console va bene, tuttavia
FreeBSD può eseguire più programmi alla volta. Avere una
sola console dove poter digitare i comandi può essere un
pò uno spreco quando un sistema operativo come FreeBSD è
in grado di eseguire dozzine di programmi contemporaneamente. È
in questo caso che le console virtuali possono essere
molto utili.FreeBSD può essere configurato in modo tale da poter
utilizzare differenti console virtuali. Puoi passare da una console
virtuale ad un'altra digitando un paio di tasti sulla tastiera. Ogni
console ha il proprio canale di output indipendente, e FreeBSD si
occupa di redirigere correttamente l'input della tastiera e l'output del
monitor quando passi da una console virtuale in un'altra.In FreeBSD alcune combinazioni speciali di tasti sono state
riservate per il passaggio tra le consoleUna descrizione abbastanza tecnica ed accurata di tutti i
dettagli della console di FreeBSD e dei driver della tastiera
può essere trovata nelle pagine man di &man.syscons.4;,
&man.atkbd.4;, &man.vidcontrol.1; e &man.kbdcontrol.1;. Qui non
approfondiremo i dettagli, ma il lettore interessato può
sempre consultare le pagine man per una spiegazione dettagliata
e completa su come funzionano queste cose.. Puoi usare
AltF1,
AltF2, fino a
AltF8 per
cambiare console su FreeBSD.Quando passi da una console ad un'altra, FreeBSD si preoccupa di
salvare e ripristinare l'output a video. Il risultato è
l'illusione di avere più schermi e più
tastiere virtuali che puoi utilizzare per dare in pasto a
FreeBSD dei comandi. I programmi che lanci su una console virtuale
rimarranno in esecuzione anche quando la console non è visibile.
L'esecuzione di questi programmi continua quando passi in un'altra
console virtuale.Il File /etc/ttysLa configurazione di default di FreeBSD prevede l'avvio del sistema
con otto console virtuali. Comunque questo non è un settaggio
obbligatorio, e puoi facilmente personalizzare la tua installazione in
modo tale da avviare il sistema con qualche console virtuale in
più. Il numero e i settaggi delle console virtuali sono
configurati nel file /etc/ttys.Puoi usare il file /etc/ttys per configurare
le console virtuali di FreeBSD. In questo file ogni riga non commentata
(le righe che non iniziano con il carattere #)
contiene i settaggi di un singolo terminale o di una singola console
virtuale. La versione di default di questo file contenuta in FreeBSD
configura nove console virtuale, e ne abilita otto di queste. Si tratta
delle righe che iniziano con ttyv:# name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Terminali virtuali
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off securePer una descrizione più dettagliata su ogni colonna di questo
file e per tutte le opzioni che puoi utilizzare per settare le console
virtuali, consulta la pagina man &man.ttys.5;.Console in Modalità Single UserUna descrizione dettagliata del significato della
modalità single user può essere trovata
nella . È bene notare che
c'è un'unica console quando avvii FreeBSD in modalità
single user. Le console virtuali non sono disponibili. Anche i
settaggi della console in modalità single user possono essere
trovati nel file /etc/ttys. Guarda la riga che
inizia con console:# name getty type status comments
#
# Se la console è definita "insecure", allora il processo init richiederà la password di root
# quando entrerai in modalità single-user.
console none unknown off secureCome riportato nel commento sopra la riga
console, puoi modificare questa riga cambiando
secure in insecure. Se lo fai,
quando FreeBSD viene avviato in modalità single user,
verrà chiesta la password di root.Pensaci comunque due volte a settare il parametro
insecure. Se non ricordi più
la password di root, riuscire ad avviare il
sistema in modalità single user sarà molto complesso.
È ancora possibile, ma potrebbe essere molto difficile per chi
non conosce molto bene il meccanismo di avvio di FreeBSD e i relativi
programmi.I PermessiUNIXFreeBSD, essendo un discendente diretto dello &unix; BSD, si basa su
molti concetti chiave di &unix;. Il primo e il più affermato
è che FreeBSD è un sistema operativo multi-utente.
Il sistema può gestire diversi utenti che lavorano
contemporaneamente su lavori indipendenti. Il sistema è
responsabile della gestione e della suddivisione appropiata delle
richieste di utilizzo dei dispositivi hardware, delle periferiche, della
memoria, e del tempo di CPU in modo equo per ogni utente.Poichè il sistema è in grado di supportare più
utenti, tutto ciò che il sistema gestisce possiede un'insieme di
permessi che determinano chi può leggere, scrivere, ed eseguire la
risorsa. Questi permessi sono memorizzati mediante tre ottetti
suddivisi in tre parti, una per il proprietario del file, una per il
gruppo al quale il file appartiene, e una per tutti gli altri. Questa
rappresentazione numerica funziona in questo modo:permessipermessi dei fileValorePermessiListato nella Directory0Lettura no, scrittura no, esecuzione no---1Lettura no, scrittura no, esecuzione--x2Lettura no, scrittura, esecuzione no-w-3Lettura no, scrittura, esecuzione-wx4Lettura, scrittura no, esecuzione nor--5Lettura, scrittura no, esecuzioner-x6Lettura, scrittura, esecuzione norw-7Lettura, scrittura, esecuzionerwxlsdirectoryPuoi usare l'opzione del comando &man.ls.1; per
visualizzare un lungo listato della directory che include una colonna
contenente le informazioni sui permessi del file per il proprietario, per
il gruppo, e per gli altri. Per esempio, digitando ls
-l in una arbitraria directory:&prompt.user; ls -l
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile
-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
...Ecco come è suddivisa la prima colonna dell'output del comando
ls -l:-rw-r--r--Il primo carattere (partendo da sinistra) indica se il file in
questione è un file regolare, una directory, un file speciale per
dispositivi a caratteri, una socket, o un file speciale per altri
dispositivi. Nel nostro caso, il - indica un
file regolare. I tre caratteri successivi, che in questo esempio sono
rw-, indicano i permessi per il proprietario del file.
Seguono altri tre caratteri, r--, che indicano i
permessi del gruppo al quale il file appartiene. Gli ultimi tre
caratteri, r--, indicano i permessi per il resto del
mondo. Un trattino significa che il permesso non viene concesso.
Nel caso di questo file, i permessi sono settati affinchè il
proprietario possa leggere e scrivere il file, il gruppo possa leggere
il file, e il resto del mondo possa solamente leggere il file. In accordo
con la precedente tabella, i permessi per questo file sono
644, dove ogni cifra rappresenta una delle tre parti
che costituiscono i permessi del file.D'accordo, ma il sistema come controlla i permessi sui dispositivi?
FreeBSD tratta molti dispositivi hardware esattamente come un file che i
programmi possono aprire, leggere, e scrivere dei dati proprio come
avviene con gli altri file. Questi file speciali per i dispositivi sono
memorizzati nella directory /dev.Anche le directory sono trattate come file. Queste hanno permessi di
lettura, scrittura e di esecuzione. Il bit riferito al permesso di
esecuzione per una directory ha un significato leggermente differente
rispetto a quello dei file. Quando una directory ha il permesso di
esecuzione abilitato, significa che si ha accesso alla directory, ossia
è possibile eseguire il comando cd (cambio di
directory) per entrarci. Inoltre questo significa che all'interno della
directory è possibile accedere ai file dei quali si conosce il nome
(naturalmente a condizione dei permessi degli stessi file).In particolare, per visualizzare il contenuto di una directory, deve
essere abilitato il permesso di lettura sulla stessa, mentre per
eliminare un file di cui si conosce il nome, è necessario che la
directory contenente il file abbia i permessi di scrittura
e di esecuzione abilitati.Ci sono altri bit per permessi particolari, ma sono in genere usati
in circostanze speciali come il permesso di setuid per i binari e
quello di sticky per le directory. Se vuoi avere più informazioni
sui permessi dei file e su come settarli, guarda la pagina man di
&man.chmod.1;.TomRhodesContributo di Permessi SimboliciPermessisimboliciI permessi simbolici, qualche volta chiamati espressioni simboliche,
usano caratteri al posto dei numeri ottali per assegnare i permessi a
file o directory. Le espressioni simboliche usano la sintassi (chi)
(azione) (permessi), con i seguenti valori:OpzioneLetteraCosa rappresenta/Cosa fa(chi)uUtente(chi)gGruppo di appartenenza(chi)oAltri(chi)aTutti (tutto il mondo)(azione)+Aggiunge i permessi(azione)-Rimuove i permessi(azione)=Setta esplicitamente i permessi(permessi)rLettura(permessi)wScrittura(permessi)xEsecuzione(permessi)tBit sticky(permessi)sSetta UID o GIDQuesti valori sono usati con il comando &man.chmod.1;
in modo simile a prima, ma con le lettere. Per esempio, puoi usare il
seguente comando per impedire agli altri utenti l'accesso a
FILE:&prompt.user; chmod go= FILESe si ha la necessità di realizzare più di una
modifica ai settaggi di un file si può usare una lista di
settaggi separati da virgola. Per esempio il seguente comando
rimuoverà il permesso di scrittura su
FILE al gruppo di appartenenza del file e al
resto del mondo, e inoltre aggiungerà
il permesso di esecuzione per tutti:&prompt.user; chmod go-w,a+x FILEStruttura delle Directorygerarchia delle directoryLa gerarchia delle directory di FreeBSD è fondamentale per
ottenere una comprensione globale del sistema. Il concetto più
importante da cogliere al volo è quello relativo alla directory
root, /. Questa directory è la prima ad essere
montata all'avvio e contiene gli elementi fondamentali del sistema
necessari per predisporre il sistema operativo al funzionamento
multi-utente. Inoltre la directory root contiene i punti di mount per
gli altri file system che potresti voler montare.Un punto di mount è una directory dove dei file system
aggiuntivi possono essere innestati sul file system root. Alcuni punti di
mount standard sono /usr, /var,
/mnt, e /cdrom. Queste
directory compaiono in genere negli elementi del file
/etc/fstab. Il file /etc/fstab
è una tabella di file system e punti di mount che viene consultata
dal sistema. Molti dei file system riferiti nel file
/etc/fstab sono montati in modo automatico all'avvio
tramite lo script &man.rc.8; a meno che essi sia stati dichiarati con
l'opzione . Consulta la pagina man di
&man.fstab.5; per maggiori informazioni sul formato del file
/etc/fstab e per le opzioni che può
contenere.Una descrizione completa della gerarchia del file system è
disponibile nella pagina man &man.hier.7;. Per ora, è
sufficiente una breve panoramica generale delle directory più
comuni.DirectoryDescrizione/Directory root del file system./bin/Utilità fondamentali per l'utente sia in ambiente
mono-utente sia in ambiente multi-utente./boot/Programmi e file di configurazione utilizzati durante la
fase di avvio del sistema operativo./boot/defaults/File di configurazione di avvio di default; consultare
&man.loader.conf.5;./dev/Nodi di dispositivo; consultare &man.intro.4;./etc/Script e file di configurazione del sistema./etc/defaults/File di configurazione di default del sistema; consultare
&man.rc.8;./etc/mail/File di configurazione per gli MTA (Mail Transfer Agent,
agente di trasferimento della posta elettronica) come
&man.sendmail.8;./etc/namedb/File di configurazione di named;
consultare &man.named.8;./etc/periodic/Script che sono eseguiti giornalmente, settimanalmente, e
mensilmente tramite &man.cron.8;; consultare
&man.periodic.8;./etc/ppp/File di configurazione di ppp;
consultare &man.ppp.8;./mnt/Directory vuota usata comunemente dagli amministratori di
sistema come punto di mount temporaneo./proc/File system dedicato ai processi; consultare
&man.procfs.5;, &man.mount.procfs.8;./root/Directory home per l'account
root./sbin/Programmi di sistema e utilità di amministrazione
fondamentali sia in ambiente mono-utente sia in ambiente
multi-utente./stand/Programmi usati in un ambiente standalone./tmp/File temporanei, di solito un file system basato sulla
memoria come &man.mfs.8; (generalmente il contenuto di /tmp non viene preservato dopo
un reboot del sistema)./usr/La maggior parte delle applicazioni e delle utilità
dell'utente./usr/bin/Utilità, strumenti di programmazione, e
applicazioni comuni./usr/include/File include standard del C./usr/lib/Archivio di librerie./usr/libdata/Archivio di dati per utilità varie./usr/libexec/Demoni & utilità di sistema (eseguiti da altri
programmi)./usr/local/Eseguibili locali, librerie locali, ecc. Usata anche
come destinazione di default per la struttura dei port di
FreeBSD. All'interno di /usr/local, viene
usato lo stesso schema generale descritto in &man.hier.7; per la
directory /usr. Le eccezioni sono la
directory man, che è posta direttamente sotto
/usr/local piuttosto che sotto
/usr/local/share, e la documentazione dei
port che è in
share/doc/port.
/usr/obj/Albero degli elementi dipendenti dal tipo di architettura
dell'elaboratore prodotto dalla costruzione dell'albero
/usr/src./usr/portsCollezione dei port di FreeBSD (opzionale)./usr/sbin/Demoni & utilità di sistema (eseguiti dagli
utenti)./usr/share/File indipendenti dal tipo di architettura
dell'elaboratore./usr/src/File sorgenti di BSD e/o sorgenti proprietari./usr/X11R6/Eseguibili, librerie, ecc. riguardanti la distribuzione
X11R6 (opzionale)./var/File log di vario genere, file temporanei, file transitori,
e file di spool./var/log/File di log del sistema di vario genere./var/mail/File delle caselle di posta degli utenti./var/spool/Directory di spool per stampanti e per la posta elettronica
del sistema./var/tmp/File temporanei che sono mantenuti tra i reboot del
sistema./var/ypMappe NIS.Organizzazione del DiscoLa più piccola unità di organizzazione che FreeBSD usa
per ricercare file è il nome del file. I nomi dei file sono
case-sensitive, ciò significa che readme.txt
e README.TXT sono due file distinti. FreeBSD non usa
l'estensione (es. .txt) di un file per determinare
se il file è un programma, un documento, o qualche altra forma di
dati.I file sono memorizzati in directory. Una directory può
contenere centinaia di file o non contenerne affatto. Inoltre una
directory può contenere altre directory, consentendo di costruire
una gerarchia di directory all'interno di un'altra. Tutto questo rende
più facile l'organizzazione dei tuoi dati.File e directory sono riferiti attraverso il nome del file o della
directory, seguito da uno slash in avanti, /,
a sua volta seguito da altri nomi di directory che sono necessari. Se
hai una directory di nome foo, la quale contiene la
directory bar, che a sua volta contiene il file
readme.txt, allora il nome completo, chiamato anche
il path del file è
foo/bar/readme.txt.Le directory e i file sono memorizzati in un filesystem. Ogni
filesystem contiene esattamente una directory al livello più alto,
chiamata la directory root di quel filesystem.
Questa directory root può contenere altre directory.Fin qui è probabilmente tutto simile ad altri sistemi
operativi che hai usato. Tuttavia ci sono alcune differenze; per
- esempio, il DOS usa il carattere \ per separare i nomi
- di file e directory, mentre &macos; usa :.
+ esempio, il &ms-dos; usa il carattere \ per separare i
+ nomi di file e directory, mentre &macos; usa :.
FreeBSD non usa lettere di dispositivi, o altri nomi di dispositivi
nel path. In FreeBSD non dovrai mai scrivere
c:/foo/bar/readme.txt.Piuttosto, un filesystem è designato come il
filesystem root. La directory root del
filesystem root è riferita con /. Ogni altro
filesystem è montato sotto il filesystem
root. Non importa quanti dischi hai sul tuo sistema FreeBSD, ogni
directory è come se fosse parte dello stesso disco.Supponiamo che tu abbia tre filesystem, chiamati
A, B, e C.
Ogni filesystem ha una directory root, la quale contiene altre due
directory, chiamate A1, A2 (e
nello stesso modo B1, B2 e
C1, C2).Sia A il filesystem root. Se usi il comando
ls per visualizzare il contenuto di questa directory
dovresti vedere due sottodirectory, A1 e
A2. L'albero delle directory assomiglia a
questo: /
|
+--- A1
|
`--- A2Un filesystem deve essere montato su una directory di un altro
filesystem. Supponiamo ora che tu monti il filesystem
B sulla directory A1. La directory
root di B rimpiazza A1, e di
conseguenza appariranno le directory di B: /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2I file contenuti nelle directory B1 o
B2 possono essere raggiunti con il path
/A1/B1 o /A1/B2. I file che
erano in /A1 sono stati temporaneamente nascosti.
Questi riappariranno quando B sarà
smontato da A.Se B è stato montato su
A2 allora il diagramma assomiglierà a
questo: /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2e i path saranno rispettivamente /A2/B1 e
/A2/B2.I filesystem possono essere montati in cima ad altri filesystem.
Continuando con l'ultimo esempio, il filesystem C
può essere montato in cima alla directory B1
nel filesystem B, arrivando a questa
sistemazione: /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2Oppure C potrebbe essere montato direttamente sul
filesystem A, sotto la directory
A1: /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2
- Se hai familiarità con DOS, questo è simile, man non
- identico, al comando join.
+ Se hai familiarità con &ms-dos;, questo è simile, man
+ non identico, al comando join.Di solito non ti devi occupare direttamente di questi aspetti.
Tipicamente quando installi FreeBSD crei i filesystem e decidi dove
montarli, e da quel momento non avrai più la necessità di
modificarli a meno che installi un nuovo disco.È possibile avere un unico filesystem root, senza avere la
necessità di crearne altri. Esistono alcuni svantaggi
utilizzando questo approccio, e un solo vantaggio.Benefici con Filesystem MultipliFilesystem diversi possono avere opzioni di
mount diverse. Per esempio, in una attenta progettazione,
il filesystem root potrebbe essere montato in modalità di sola
lettura, rendendo impossibile la cancellazione accidentale o la modifica
di un file critico. Inoltre, separando i filesystem scrivibili
dall'utente, come /home, da altri filesystem
permette di montare i primi con l'opzione nosuid;
questa opzione non permette il settaggio dei bit
suid/guid sui file
eseguibili memorizzati sul filesystem che ha tale opzione di mount
attivata, migliorando l'aspetto sicurezza.FreeBSD ottimizza in modo automatico la disposizione dei file sul
filesystem, a seconda di come è usato il filesystem. Quindi
un filesystem che contiene molti file piccoli che sono scritti di
frequente avrà un'ottimizzazione diversa rispetto ad un altro
filesystem che contiene pochi file di grandi dimensioni. Utilizzando
un solo grande filesystem questa ottimizzazione viene a
mancare.I filesystem di FreeBSD reagiscono bene ad una violenta perdita di
energia elettrica. Tuttavia, una perdita di energia in un punto
critico potrebbe sempre danneggiare la struttura del filesystem.
Splittando i tuoi dati su filesystem multipli sarà più
probabile che il sistema riparta, dandoti la possibilità di
ripristinare un precedente backup se necessario.Benefici di un Filesystem SingoloI filesystem sono a dimensione fissa. Se crei un solo filesystem
quando installi FreeBSD e gli assegni una data dimensione, in futuro
potresti scoprire che necessiti di creare una partizione più
grande. Questo non è facilmente realizzabile se non
effettuando un backup dei dati, ricreando il filesystem con la nuova
dimensione, e quindi ripristinando il backup di dati.FreeBSD 4.4 e successivi hanno il comando &man.growfs.8;,
con il quale è possibile incrementare la dimensione del
filesystem al volo, rimuovendo questa limitazione.
- I filesystem sono contenuti all'interno di partizioni. Il termine
- partizione non ha lo stesso significato di quello introdotto all'inizio di
- questo capitolo, a causa dell'eredità &unix; di FreeBSD. Ogni
- partizione è identificata da una lettera partendo dalla
- a fino alla h. Ogni partizione
- può contenere solo un filesystem, il che significa che i filesystem
- sono spesso identificati sia dal loro punto di mount nella gerarchia del
- filesystem, sia dalla lettera della partizione nella quale sono
- contenuti.
+ I filesystem sono contenuti all'interno di partizioni. Qui il
+ significato del termine partizione si discosta dall'uso comune di questo
+ termine (partizioni &ms-dos;, per esempio), a causa dell'eredità
+ &unix; di &os;. Ogni partizione è identificata da una lettera
+ partendo dalla a fino alla h. Ogni
+ partizione può contenere solo un filesystem, il che significa che i
+ filesystem sono spesso identificati sia dal loro punto di mount nella
+ gerarchia del filesystem, sia dalla lettera della partizione nella quale
+ sono contenuti.Inoltre FreeBSD usa parte del disco per lo spazio di
swap. Lo spazio di swap fornisce a FreeBSD la
funzionalità di memoria virtuale. Questo
permette al tuo computer di comportarsi come se avesse più memoria
di quella che ha realmente. Quando FreeBSD esaurisce la memoria muove
alcuni dati presenti in memoria che non sono utilizzati in quel momento
nello spazio di swap, e li riporta in memoria (spostando nello spazio di
swap qualche altro dato) non appena necessari.Alcune partizioni hanno certe convenzioni a loro associate.
-
+ PartizioneConvenzioneaIn genere contiene il filesystem rootbIn genere contiene lo spazio di swapcDi solito rappresenta l'intera dimensione della slice.
Questo permette a utility che necessitano di lavorare sull'intera
slice (per esempio, uno scanner di blocchi difettosi) di lavorare
sulla partizione c. Di norma non dovresti
creare un filesystem su questa partizione.dLa partizione d era utilizzata in passato
con un significato speciale, sebbene ora non sia più
utilizzata. Ai giorni d'oggi, alcuni strumenti operano in modo
starno se gli si dice di lavorare sulla partizione
d, e per questo motivo
sysinstall di norma non la
crea.Ogni partizione-che-contiene-un-filesystem è memorizzata in
ciò che FreeBSD chiama slice. Slice
- è un termine di FreeBSD per identificare ciò che in
- precedenza abbiamo chiamato partizione, e di nuovo, questo è
- dovuto dal background &unix; di FreeBSD. Le slices sono numerate,
- partendo da 1 e arrivando fino a 4.
+ è un termine di FreeBSD per identificare ciò che comunemente
+ viene chiamato partizione, e di nuovo, questo è dovuto dal
+ background &unix; di FreeBSD. Le slices sono numerate, partendo da 1 e
+ arrivando fino a 4.
slicepartizionipericolosamente dedicateI numeri di slice seguono il nome del dispositivo, preceduti da una
s, e partendo da 1. Quindi
da0s1 è la prima slice sul
primo disco SCSI. Ci possono essere solo quattro slice fisiche su un
disco, ma puoi avere slice logiche all'interno di slice fisiche di un
appropriato tipo. Queste slice estese sono numerate a partire da 5,
quindi ad0s5 è la prima
slice estesa sul primo disco IDE. Questi stratagemmi sono usati per i
filesystem che si aspettano di occupare una slice.Le slice, i dispositivi fisici pericolosamente
dedicati, e altri dispositivi contengono
partizioni, le quali sono rappresentate tramite
lettere dalla a fino alla h. Queste
lettere seguono il nome del dispositivo, quindi
da0a è la partizione a
sul primo dispositivo da, il quale è pericolosamente
dedicato. ad1s3e è
la quinta partizione nel terza slice del secondo disco IDE.In fine, ogni disco sul sistema è identificato. Un nome di un
disco incomincia con un codice che indica il tipo di disco, seguito da un
numero, che indica quale disco esso sia. A differenza delle slice,
i numeri riferiti al disco incominciano da 0. Puoi vedere dei codici
- generici in .
+ generici in .
Quando fai riferimento a una partizione di FreeBSD devi specificare
anche il nome della slice e del disco che contengono la partizione, e
quando fai riferimento a una slice dovresti specificare anche il nome del
disco. Specifica quindi il nome del disco, il carattere
s, il numero di slice, e infine la lettera della
partizione. Alcuni esempi sono mostrati nell'.
+ linkend="basics-disk-slice-part">.
- L' mostra un modello
+ L' mostra un modello
concettuale di struttura di un disco che dovrebbe aiutare a chiare le
cose.Per installare FreeBSD devi prima configurare le slice del disco,
creare le partizioni all'interno della slice che vuoi usare per FreeBSD,
e quindi creare un filesystem (o spazio di swap) in ogni partizione, e
decidere dove il filesystem deve essere montato.
-
+
Codici dei Dispositivi DiscoCodiceSignificatoaddisco ATAPI (IDE)dadisco ad accesso diretto SCSIacdCDROM ATAPI (IDE)cdCDROM SCSIfdDisco floppy
-
+ Esempi di Nomi di Dischi, di Slice, e di Partizioni
-
+ NomeSignificatoad0s1aLa prima partizione (a) sulla prima
slice (s1) sul primo disco IDE
(ad0).da1s2eLa quinta partizione (e) sulla seconda
slice (s2) sul secondo disco SCSI
(da1).
-
+ Modello Concettuale di un DiscoQuesto diagramma mostra come FreeBSD vede il primo disco IDE
attaccato al sistema. Si assuma che il disco sia di 4 GB, e che
contenga due slice da 2 GB (equivalenti come significato a due
- partizioni DOS). La prima slice contiene un disco DOS,
+ partizioni &ms-dos;). La prima slice contiene un disco &ms-dos;,
C:, e la seconda slice contiene
un'installazione di FreeBSD. In questo esempio l'installazione di
FreeBSD ha tre partizioni standard più una di swap.Le tre partizioni conterranno ognuna un filesystem. La partizione
a sarà usata per il filesystem root,
la e per la gerarchia di directory
/var, e la partizione f per
la gerarchia di directory /usr..-----------------. --.
| | |
| DOS / Windows | |
: : > Prima slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | Partizione a, montata come / |
| | > riferita come ad0s2a |
| | | |
:-----------------: ==: |
| | | Partizione b, usata come swap |
| | > riferita come ad0s2b |
| | | |
:-----------------: ==: | Partizione c, senza
| | | Partizione e, usata come /var > filesystem, tutta
| | > riferita come ad0s2e | la slice di FreeBSD,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | Partizione f, usata come /usr |
: : > riferita come ad0s2f |
: : | |
| | | |
| | --' |
`-----------------' --'Montaggio e Smontaggio dei File systemIl file system è raffigurato in maniera ottimale da un albero,
radicato, per così dire, in /. Le directory
/dev, /usr, e le altre
directory che stanno all'interno della directory root sono i rami, i quali
possono essere a loro volta ramificati, come in
/usr/local, e così via.file system rootEsistono varie ragioni per mantenere alcune di queste directory su
file system separati. La directory /var contiene
le directory log/, spool/,
e vari tipi di file temporanei, e come tale, può riempirsi.
Riempire il file system root non è una buona idea, quindi scindere
la directory /var da / è
spesso vantaggioso.Un'altra motivazione per mantenere certi alberi di directory su altri
file system è quando questi alberi sono alloggiati su dischi fisici
separati, o sono dischi virtuali separati, come avviene per i mount del
Network File System, o dei dispositivi
CDROM.Il File fstabfile systemmontati con fstabDurante la fase di avvio, i file system
elencati nel file /etc/fstab sono montati
in modo automatico (a meno che siano specificati con l'opzione
).Il file /etc/fstab contiene una serie di righe
il cui formato è il seguente:device/mount-pointfstypeoptionsdumpfreqpassnodeviceIl nome del dispositivo (che deve esistere), come spiegato
nella .mount-pointLa directory (che deve esistere), sulla quale montare il file
system.fstypeIl tipo di file system da passare a &man.mount.8;. Il file
system di default di FreeBSD è
ufs.options per file system leggibili-scrivibili,
oppure per file system solamente leggibili,
seguite da altre opzioni che potrebbero essere necessarie.
Un'opzione comune è per i file
system che normalmente non sono montati durante la sequenza di
avvio. Altre opzioni sono elencate nella pagina man di
&man.mount.8;.dumpfreqViene usato da &man.dump.8; per determinare quali file system
richiedono un dump. Se non si specifica nulla, viene assunto il
valore zero.passnoDetermina l'ordine secondo il quale i file system vengono
controllati. I file system che devono saltare il controllo devono
avere i loro passno settati a zero. Il file
system root (che deve essere controllato prima di qualsiasi altra
cosa) deve avere il suo passno settato a uno,
e i passno degli altri file system devono
essere settati a valori maggiori di uno. Se più di un
file system ha lo stesso passno allora
&man.fsck.8; tenterà di controllare i file system in
parallelo.Il Comando mountfile systemmontaggioIl comando &man.mount.8; è ciò che in definitiva viene
usato per montare i file system.La sua forma di utilizzo elementare è:&prompt.root; mount devicemountpointEsistono molte opzioni, come spiegato nella pagina man di
&man.mount.8;, ma le più comuni sono:Opzioni di MountMonta tutti i file system elencati nel file
/etc/fstab. Le eccezioni sono quei file
system specificati come noauto, quelli esclusi
dalla flag , o quei file system che sono
già montati.Fà tutto ad eccezione della attuale system call di
mount. Questa opzione risulta utile in congiunzione con la flag
per determinare quale &man.mount.8; si stia
effettivamente tentando di realizzare.Forza il mount di un file system impuro (pericoloso), o forza
la revoca di accesso in scrittura quando si declassa lo stato
di mount di un file system da lettura-scrittura a lettura
solamente.Monta il file system in sola lettura. Questo è
identico ad usare l'argomento con
l'opzione .fstypeMonta il dato file system secondo il tipo di file system
specificato, oppure, se affiancato dall'opzione
, monta solamente i file system di un dato
tipo.ufs è il tipo di file system di
default.Aggiorna le opzioni di mount sul file system.Modalità verbose.Monta il file system in lettura-scrittura.L'opzione accetta una lista di argomenti
separati da una virgola, inclusi i seguenti:nodevNon permette l'interpretazione di dispositivi speciali sul
file system. Questa è un'utile opzione di
sicurezza.noexecNon permette l'esecuzione di binari su questo file system.
Questa è un'altra utile opzione di sicurezza.nosuidNon permette l'interpretazione delle flag setuid o setgid sul
file system. Anche questa è un'utile opzione di
sicurezza.Il Comando umountfile systemsmontaggioIl comando &man.umount.8; accetta, come unico parametro, un punto di
mount, un nome di dispositivo, l'opzione o l'opzione
.Tutte queste modalità accettano l'opzione
per forzare la smontatura, e l'opzione per la
modalità verbose. Sei avvisato che l'opzione
non è in generale un buona idea. Smontare in modo violento i
file system può mandare in crash il computer o danneggiare i dati
sul file system.Le opzioni e sono usate per
smontare tutti i file system, con la possibilità di specificare
i tipi di file system elencandoli dopo la flag .
Tuttavia, l'opzione non tenta di smontare il file
system root.I ProcessiFreeBSD è un sistema operativo multi-tasking. Con questa
capacità il sistema è come se potesse eseguire più di
un programma alla volta. Ogni programma in esecuzione in un dato istante
è chiamato processo. Ogni volta che esegui
un comando fai partire almeno un nuovo processo, e ci sono molti processi
di sistema che sono sempre in esecuzione, che permettono il corretto
funzionamento del sistema.Ogni processo è identificato in modo univoco da un numero
chiamato process ID, o PID,
e, come avviene per i file, ogni processo ha un proprietario e un gruppo.
Le informazioni sul proprietario e sul gruppo sono usate per determinare,
tramite il meccanismo dei permessi dei file discusso precedentemente,
quali file e quali dispositivi il processo può aprire. Inoltre
molti processi hanno un processo padre. Tale processo è il
processo che li ha generati. Per esempio, se stai digitando dei comandi
in shell allora la shell è un processo, così come lo sono i
comandi che esegui. Ogni processo che esegui in questo modo avrà
come suo processo padre la tua shell. L'eccezione a questo meccanismo
è un processo speciale chiamato &man.init.8;. Il processo
init è sempre il primo processo, quindi il suo
PID è sempre 1. init viene avviato in modo
automatico dal kernel quando si avvia FreeBSD.Due comandi sono particolarmente utili per monitorare i processi sul
sistema, &man.ps.1; e &man.top.1;. Il comando ps
è usato per mostrare una lista statica dei processi che sono in
esecuzione in quel momento, e può mostrare i loro PID, quanta
memoria stanno usando, la linea di comando che li ha avviati, e altro
ancora. Il comando top visualizza tutti i processi in
esecuzione, e aggiorna queste informazioni ogni qualche secondo, in modo
che puoi vedere interattivamente cosa sta facendo il tuo computer.Di default, ps mostra solo i tuoi comandi che sono
in quel momento in esecuzione. Per esempio:&prompt.user; ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishCome puoi vedere in questo esempio, l'output di &man.ps.1; è
organizzato in molte colonne. La colonna PID si
riferisce al process ID discusso poco fà. I PID sono assegnati
partendo dal numero 1, andando fino al 99999, e ricominciando dall'inizio
una volta esauriti (se disponibili). La colonna TT
mostra su quale tty il programma è in esecuzione, e può
essere benissimo ignorata per il momento. La colonna
STAT mostra lo stato del programma, e di nuovo,
può essere benissimo ignorata. La colonna TIME
indica per quanto tempo il programma è stato in esecuzione sulla
CPU—di solito non indica il tempo trascorso da quando hai avviato
il programma, poichè la maggior parte dei programmi trascorrono
molto tempo in attesa per faccende che accadono prima che questi possano
trascorrere del tempo in CPU. Infine, la colonna
COMMAND indica la riga di comando che è stata
utilizzata per eseguire il programma.Il comando &man.ps.1; supporta varie opzioni per cambiare le
informazioni da visualizzare. Uno dei gruppi di opzioni più utili
è auxww. L'opzione mostra le
informazioni riguardo a tutti i processi in esecuzione, non solo quelli
che ti appartengono. L'opzione mostra il nome utente
del proprietario del processo, come pure la memoria utilizzata dal
processo. L'opzione mostra le informazioni riguardo ai
processi demoni, e l'opzione indica a &man.ps.1; di
visualizzare la linea di comando completa che ha avviato il processo,
piuttosto che troncarla quando è troppo lunga per essere adattata
sullo schermo.L'output di &man.top.1; è simile. Un esempio di esecuzione
assomiglia a questo:&prompt.user; top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...L'output è diviso in due sezioni. La parte superiore (le prime
cinque linee) mostra il PID dell'ultimo processo eseguito, il carico medio
del sistema (che è un indice di come il sistema sia impegnato), il
tempo di vita del sistema (il tempo passato dall'ultimo reboot) e l'ora
corrente. I restanti numeri nella parte superiore riportano quanti
processi sono in esecuzione (47 in questo caso), quanta memoria di sistema
e quanta memoria di swap è stata utilizzata, e quanto tempo il
sistema sta trascorrendo nei vari stati di CPU.Sotto ci sono una serie di colonne che contengono simili informazioni
a quelle contenute nell'output di &man.ps.1;. Come prima puoi vedere il
PID, il nome utente, quanto tempo di CPU è stato utilizzato, e il
comando che era stato eseguito. Inoltre il comando &man.top.1; di default
ti mostra quanta memoria è stata concessa al processo. Questa
informazione è suddivisa in due colonne, una per la dimensione
totale, e l'altra per la dimensione attuale—la dimensione totale
è la quantità di memoria che l'applicazione ha richiesto, e
la dimensione attuale è la quantità di memoria che sta
utilizzando in quel momento. In questo esempio puoi vedere che
Netscape ha richiesto quasi 30 MB di RAM,
ma al momento ne sta usando solo 9 MB.Il comando &man.top.1; aggiorna in modo automatico queste informazioni
ogni due secondi; questo lasso temporale può essere modificato con
l'opzione .I Demoni, i Segnali, e come Uccidere i ProcessiQuando esegui un'editor risulta semplice averne il controllo, dirgli
di caricare file, e così via. Tutto questo può essere fatto
poichè l'editor fornisce delle agevolazioni in questo senso, e
anche perchè l'editor è collegato a un
terminale. Alcuni programmi non sono stati
progettati per essere eseguiti con un continuo input dell'utente, e
perciò questi programmi si sconnettono dal terminale alla prima
occasione. Per esempio, un server web trascorre tutto il giorno
rispondendo a richieste web, e normalmente non necessita di alcun input
da parte tua. I programmi che trasportano la posta elettronica da un sito
a un'altro sito sono un'altro esempio di questa classe di
applicazioni.Chiamiamo questi programmi demoni. I demoni
erano dei personaggi della mitologia greca; nè buoni nè
cattivi, erano piccoli custodi degli spiriti che, nel complesso,
risultavano essere utili per l'umanità. Molto similmente i server
web e quelli di posta elettronica di oggi fanno cose utili. Ecco il
motivo per cui la mascot di BSD è stata per molto tempo, e lo
è ancora, l'allegro demone con le scarpe da tennis e con il
forcone.Esiste la convenzione di chiamare i programmi che normalmente sono
eseguiti come demoni con una d finale.
BIND sta per Berkeley Internet Name Daemon
(e il nome effettivo del programma che viene eseguito è
named), il nome del programma
Apache, un server web, è
httpd, il demone dello spool di stampa è
lpd e così via. Questa è una
convenzione, non è una regola ferrea; per esempio, il principale
demone di posta elettronica per l'applicazione
Sendmail è chiamato
sendmail, e non maild, come potresti
aspettarti.A volte puoi aver bisogno di comunicare con un processo demone.
Queste comunicazioni sono chiamate segnali, e puoi
comunicare con i demoni (o con altri processi in esecuzione) mandandogli
un segnale. Esistono svariati segnali che puoi inviare—alcuni di
questi hanno un significato specifico, altri sono interpretabili
dall'applicazione, e la documentazione dell'applicazione ti dirà
come l'applicazione stessa interpreta i segnali. Puoi mandare un segnale
solo ai processi che ti appartengono. Se mandi un segnale a un processo
che non ti appartiene con il comando &man.kill.1; o &man.kill.2; il
permesso ti sarà negato. L'eccezione a questa regola riguarda
l'utente root, che può mandare segnali a
processi di chiunque.Inoltre in alcune circostanze FreeBSD invia segnali alle
applicazioni. Se un'applicazione è stata scritta malamente, e
tenta di accedere alla memoria che non gli compete, FreeBSD manda al
processo il segnale di Violazione della
Segmentazione (SIGSEGV). Se
un'applicazione ha utilizzato la system call &man.alarm.3; in modo tale
da essere avvisata dopo un certo periodo di tempo trascorso allora
FreeBSD invierà a questa applicazione il segnale di Allarme
(SIGALRM), e così via.Per fermare un processo possono essere utilizzati due segnali,
SIGTERM e SIGKILL.
SIGTERM è il modo cortese di terminare un
processo; il processo può catturare il
segnale, capire che vuoi abbatterlo, chiudere i file di log che potrebbe
avere aperto, e in genere terminare qualunque cosa che stava facendo prima
dell'interruzione. Nei casi in cui un processo sia coinvolto in qualche
compito che non può essere interrotto allora questo processo
può persino ignorare SIGTERM.Il segnale SIGKILL non può essere ignorato
da un processo. Questo è il segnale che dice Non mi
interessa cosa stai facendo, fermati subito. Se mandi il segnale
SIGKILL a un processo allora FreeBSD fermerà
subito il processoNon è del tutto vero—ci sono alcune cose che non
possono essere interrotte. Per esempio, se il processo sta tentando
di leggere un file situato su un altro computer in rete, e questo
computer non è disponibile per qualche ragione (è stato
spento, o la rete ha qualche problema), allora il processo è
detto non interrompibile. Il processo finirà
in time out, generalmente dopo due minuti. Non appena avviene il
time out il processo potrà essere terminato..
Altri segnali che potresti aver bisogno di usare sono
SIGHUP, SIGUSR1, e
SIGUSR2. Questi sono segnali a scopo generico, e
differenti applicazioni possono fare cose diverse quando catturano questi
segnali.Supponiamo che hai cambiato il file di configurazione del tuo server
web—hai bisogno di dire al server web di rileggere la sua
configurazione. Potresti fermare e riavviare httpd, ma
questo porterebbe a un breve periodo di interruzione del tuo server
web, che potrebbe non essere gradito. Molti demoni sono stati scritti per
rispondere al segnale SIGHUP tramite la rilettura
dei loro file di configurazione. In questo modo invece di terminare e
riavviare httpd potresti inviare il segnale
SIGHUP. Poichè non esiste un modo standard di
trattare questi segnali, differenti demoni potrebbero avere un
comportamento diverso, quindi assicurati di leggere la documentazione per
il demone in questione.I segnali sono inviati utilizzando il comando &man.kill.1;, come
mostra questo esempio.Inviare un Segnale a un ProcessoQuesto esempio mostra come inviare un segnale a &man.inetd.8;. Il
file di configurazione di inetd è
/etc/inetd.conf, e inetd rilegge
questo file di configurazione quando riceve il segnale
SIGHUP.Cerca il process ID del processo a cui vuoi mandare il segnale.
Puoi utilizzare &man.ps.1; e &man.grep.1; per farlo. Il comando
&man.grep.1; viene utilizzato per perlustrare attraverso l'output,
cercando la stringa da te specificata. Questo comando viene eseguito
in modalità utente, e &man.inetd.8; viene eseguito in
modalità root, quindi le opzioni da dare
a &man.ps.1; sono .&prompt.user; ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWCome puoi vedere il PID di &man.inetd.8; è 198. In alcuni
casi potrebbe apparire nel risultato anche il comando
grep inetd. Questo dipende dal modo utilizzato
da &man.ps.1; nell'elencare la lista dei processi in
esecuzione.Usa il comando &man.kill.1; per inviare il segnale. Poichè
&man.inetd.8; viene eseguito in modalità
root prima devi usare il comando &man.su.1; per
diventare root.&prompt.user; suPassword:
&prompt.root; /bin/kill -s HUP 198Come avviene per la maggior parte dei comandi &unix;, il comando
&man.kill.1; non stampa il risultato dell'operazione se questa ha
avuto successo. Se mandi un segnale a un processo del quale non sei
il proprietario allora vedrai il messaggio kill:
PID: Operazione non permessa.
Se sbagli il PID invierai il segnale al processo sbagliato, il che
potrebbe essere dannoso, o, se hai fortuna, manderai il segnale
a un PID che in quel momento non è in uso, e in questo caso
vedrai il messaggio kill: PID:
Nessun processo.Perchè Usare /bin/kill?Molte shell forniscono il comando kill come
comando built-in; ossia, la shell invia il segnale in modo
diretto, senza dover eseguire /bin/kill. Tutto
ciò può essere molto utile, ma le diverse shell hanno
una sintassi diversa per specificare il nome del segnale da inviare.
Invece di cercare di imparare tutte queste sintassi, può
essere più semplice usare direttamente il comando
/bin/kill ....L'invio di altri segnali è analogo, basta sostituire
all'occorrenza TERM o KILL nella
linea di comando.Terminare processi in modo random su un sistema può essere
una cattiva idea. In particolare, il processo &man.init.8;, con process
ID 1, è un caso molto speciale. Eseguire /bin/kill -s
KILL 1 è un modo veloce per arrestare il tuo sistema.
Controlla sempre due volte gli argomenti quando
esegui &man.kill.1; prima di premere
Invio.Le Shellshellriga di comandoIn FreeBSD, la maggior parte del lavoro di tutti i giorni viene svolto
tramite un'interfaccia a riga di comando chiamata shell. Uno dei compiti
principali di una shell è quello di prendere in input dei comandi
ed eseguirli. Inoltre molte shell hanno delle funzioni built-in
(incorporate) utili nei lavori ordinari come la gestione dei file, la
sostituzione dei nomi dei file, la modifica della riga di comando, la
creazione di macro di comandi, e la gestione delle variabili d'ambiente.
FreeBSD si propone con una serie di shell, come la Shell Bourne,
sh, e la versione successiva della C-shell,
tcsh. Molte altre shell sono disponibili nella FreeBSD
Ports Collection, come le shell zsh e
bash.Quale shell devi usare? È veramente una questione di gusti.
Se sei un programmatore di C potresti sentirti a tuo agio con una shell
C-like come la tcsh. Se vieni da Linux o non sei
pratico dell'interfaccia a riga di comando di &unix; potresti provare la
bash. Il fatto è che ogni shell ha delle
caratteristiche che possono o meno combaciare con il tuo ambiente di
lavoro preferito, e quindi devi scegliere tu stesso quale shell
utilizzare.Una caratteristica comune in una shell è il completamento dei
nomi dei file. Dopo aver digitato alcuni dei primi caratteri di un
comando o di un nome di file, la shell di solito può completare
in modo automatico il resto del comando o del nome del file tramite la
pressione del tasto Tab sulla tastiera. Ecco un'esempio.
Supponiamo che hai due file chiamati foobar e
foo.bar. Vuoi cancellare
foo.bar. Quello che dovresti digitare sulla tastiera
è:
rm
fo[Tab].[Tab].La shell dovrebbe visualizzare rm
foo[BEEP].bar.Il [BEEP] è la campanella della console, che mi segnala che la
shell è incapace di completare interamente il nome del file
poichè esiste più di una sola corrispondenza. Sia
foobar che foo.bar iniziano con
fo, tuttavia la shell è riuscita a completarlo
in foo. A questo punto premendo .,
e poi di nuovo Tab, la shell sarà in grado di
completare da sola il resto del nome del file.variabili d'ambienteUn'altro aspetto di una shell è l'uso delle variabili
d'ambiente. Le variabili d'ambiente sono una coppia di valori mutevoli
memorizzati nello spazio dell'ambiente della shell. Questo spazio
può essere letto dai programmi invocati dalla shell, e di
conseguenza questo spazio può contenere le configurazioni di molti
programmi. Qui sotto c'è una lista delle variabili d'ambiente
più comuni con il loro rispettivo significato:variabili d'ambienteVariabileDescrizioneUSERIl nome dell'utente attualmente loggato.PATHLista di directory separate da due punti utilizzate per
la ricerca dei binari.DISPLAYNome di rete del display X11 a cui connettersi, se
disponibile.SHELLLa shell corrente.TERMIl nome del terminale dell'utente. Usato per determinare
le capacità del terminale.TERMCAPSerie di elementi di codici di escape del terminale
utilizzati per realizzare svariate funzioni del terminale.OSTYPEIl tipo di sistema operativo. FreeBSD, ad esempio.MACHTYPEL'architettura della CPU su cui il sistema gira.EDITORL'editor di testo preferito dall'utente.PAGERL'impaginatore di testo preferito dall'utente.MANPATHLista di directory separate da due punti utilizzate nella
ricerca delle pagine man.shell BourneIl modo di settare una variabile d'ambiente varia leggermente a
seconda della shell utilizzata. Per esempio, nelle shell C-Style come
tcsh e csh, puoi usare
setenv per settare le variabili d'ambiente. Sotto le
shell Bourne come sh e bash, puoi
usare export per settare le tue variabili d'ambiente
correnti. Per esempio, per settare o modificare la variabile d'ambiente
EDITOR a /usr/local/bin/emacs, sotto
csh o tcsh si può utilizzare
il comando:&prompt.user; setenv EDITOR /usr/local/bin/emacsSotto le shell Bourne:&prompt.user; export EDITOR="/usr/local/bin/emacs"Con la maggior parte delle shell puoi inoltre creare un'espansione
di una variabile d'ambiente mettendo sulla riga di comando il simbolo
$ davanti al nome della variabile stessa. Per esempio,
echo $TERM visualizzerà ciò che
corrisponde a $TERM, poichè la shell espande
$TERM e passa il risultato a
echo.Le shell trattano molti caratteri speciali, chiamati meta-caratteri
come rappresentazioni speciali di dati. Il più comune di questi
è il simbolo *, che rappresenta diverse
istanze di caratteri in un nome di file. Questi meta-caratteri possono
essere usati per la sostituzione dei nomi di file. Per esempio, digitando
echo * è quasi come aver digitato
ls poichè la shell prende tutti i file che
corrispondono a * e li mette sulla riga di comando
con echo che quindi li visualizza.Per impedire alla shell di interpretare questi caratteri speciali,
questi possono essere messi in escape mettendo subito prima di essi un
backslash (\). echo $TERM
visualizza il tipo del tuo terminale. echo \$TERM
visualizza $TERM così com'è.Cambiare la Propria ShellIl modo più semplice per cambiare la propria shell è
quello di usare il comando chsh. Eseguendo
chsh verrà invocato l'editor definito nella
tua variabile d'ambiente EDITOR; nel caso in cui questa
non sia stata settata, verrà invocato vi.
Modifica la riga Shell: in base alle tue esigenze.Puoi anche eseguire chsh con l'opzione
; in questo modo verrà settata la shell in
modo diretto, senza che sia necessario invocare l'editor. Per
esempio, se vuoi cambiare la tua shell in bash,
potresti digitare il seguente comando:&prompt.user; chsh -s /usr/local/bin/bashComunque eseguendo chsh con nessun parametro e
modificando la shell all'interno dell'editor funzionerà lo
stesso.La shell che desideri utilizzare deve essere
presente nel file /etc/shells. Se hai installato
una shell dalla collezione dei port,
allora la nuova shell dovrebbe essere già stata inserita nel
suddetto file in modo automatico. Se installi una shell manualmente,
questo lavoro lo devi fare tu.Per esempio, se installi bash a mano e la
metti sotto /usr/local/bin, dovresti fare
questo:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shellsDopo averlo fatto riavvia chsh.Editor di Testoeditor di testoeditorLa maggior parte del lavoro di configurazione in FreeBSD viene fatto
tramite la modifica di file di testo. Perciò, è una buona
idea familiarizzare con un editor di testo. FreeBSD si presenta con
alcuni editor come parte base del sistema, e molti altri sono disponibili
nella collezione dei port.eeL'editor più semplice e più facile da imparare si chiama
ee, che sta per easy editor. Per avviare
ee, puoi digitare sulla riga di comando
ee filename dove filename è
il nome del file che deve essere modificato. Per esempio, per modificare
/etc/rc.conf, devi digitare ee
/etc/rc.conf. Una volta all'interno di ee,
tutti i comandi per azionare le funzioni dell'editor sono elencati nella
parte superiore del video. Il carattere ^ è il
tasto Ctrl della tastiera, quindi ^e
si riferisce alla combinazione di tasti Ctrle. Per uscire da ee, premi il tasto
Esc, quindi conferma l'uscita dall'editor. Se il file
ha subito delle modifiche ti verrà chiesto se le vuoi
salvare.vieditorviemacseditoremacsFreeBSD ha come parte base del sistema anche editor di testo
più potenti come vi, mentre altri editor, come
emacs e vim, sono inclusi nella
FreeBSD Ports Collection. Questi editor offrono molte più
funzionalità e molta più potenza a costo di essere un poco
più complicati da imparare ad utilizzare. Comunque se intendi
utilizzare in modo intensivo un editor, imparando ad utilizzare un editor
potente come vim o emacs
risparmierai a lungo andare un sacco di tempo.Dispositivi e Nodi di DispositivoIl termine dispositivo viene usato prevalentemente per specificare le
unità hardware all'interno di un sistema, come i dischi, le
stampanti, le schede grafiche, e le tastiere. Durante la fase di avvio di
FreeBSD, la maggior parte delle cose che vengono visualizzate da FreeBSD
riguardano i dispositivi che sono stati rilevati. Puoi riesaminare
questi messaggi di avvio guardando il file
/var/run/dmesg.boot.Per esempio, acd0 è il primo drive
CDROM IDE, mentre kbd0 rappresenta la
tastiera.In un sistema operativo &unix; la maggior parte di questi dispositivi
sono accessibili tramite dei file speciali chiamati nodi di dispositivo,
i quali sono posti nella directory /dev.Creare i Nodi di DispositivoQuando aggiungi un nuovo dispositivo al tuo sistema, o ricompili il
kernel per supportare dispositivi aggiuntivi, hai bisogno di creare per
questi nuovi dispositivi uno o più nodi di dispositivo.Script MAKEDEVSui sistemi senza il DEVFS (tutte le versioni
di FreeBSD antecedenti la 5.0), i nodi di dispositivo sono creati
usando lo script &man.MAKEDEV.8; come mostrato qui sotto:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV ad1Questo esempio creerà gli opportuni nodi di dispositivo
per il secondo drive IDE.DEVFS (DEVice File System)Il file system device, o DEVFS, fornisce la
disponibilità dello spazio dei nomi dei dispositivi del kernel
allo spazio dei nomi globale del file system. Invece di dover creare
o modificare i nodi di dispositivo, DEVFS mantiene
in modo automatico questo particolare file system.Guarda la pagina man di &man.devfs.5; per maggiori
informazioni.DEVFS viene usato di default su
FreeBSD 5.0 e successive.Formati dei Binari
- Per comprendere il motivo per cui FreeBSD usa il formato
- ELF, devi prima conoscere un pò i tre attuali
- formati eseguibili dominanti per &unix;:
+ Per comprendere il motivo per cui FreeBSD usa il formato &man.elf.5;,
+ devi prima conoscere un pò i tre attuali formati eseguibili
+ dominanti per &unix;:&man.a.out.5;Il più vecchio e classico formato oggetto
di &unix;. Usa un'intestazione corta e compatta con un numero magico
all'inizio che è spesso usato per caratterizzare il formato
(vedere &man.a.out.5; per maggiori dettagli). Contiene tre segmenti
caricabili: .text, .data, e .bss più una tabella di simboli e
una di stringhe.COFFIl formato oggetto di SVR3. Poichè l'intestazione include
una porzione di tabella, puoi avere molto di più delle sole
sezioni .text, .data, e .bss.
- ELF
+ &man.elf.5;Il successore di COFF, caratterizzato da
sezioni multiple e da possibili valori a 32-bit o 64-bit. Uno dei
maggiori svantaggi: ELF fù progettato con
l'assunzione che ci doveva essere solo un ABI per ogni tipo di
architettura dei sistemi. Tale assunzione è in realtà
piuttosto sbagliata, e non è vera nemmeno nel mondo commerciale
di SYSV (che ha almeno tre ABI: SVR4, Solaris, SCO).FreeBSD tenta di aggirare questo problema fornendo un
utility per marchiare un eseguibile
ELF con informazioni sull'ABI per il quale è
stato costruito. Guarda la pagina man &man.brandelf.1; per maggiori
informazioni.FreeBSD proviene dalla scuola classica e ha usato il
formato &man.a.out.5;, una tecnologia sperimentata ed utilizzata
attraverso molte generazioni delle release BSD, fino agli inizi del ramo
3.X. Sebbene fino ad allora era possibile costruire ed eseguire su
un sistema FreeBSD binari (e kernel) del formato ELF,
inizialmente FreeBSD si oppose al salto di cambiamento al
formato ELF come formato di default. Per quale motivo?
Dunque, quando la scuola Linux fece il suo doloroso passaggio a
ELF, questo non era sufficiente per abbandonare
il formato eseguibile a.out a causa del loro
rigido meccanismo a salto-di-tabella basato sulla libreria condivisa, il
quale rendeva la costruzione di librerie condivise un compito molto
difficile tanto per i venditori che per gli sviluppatori. Tuttavia,
quando gli strumenti di ELF furono in grado di offrire
una soluzione al problema della libreria condivisa e quando furono visti
come la strada imminente, il costo della migrazione
fù accettato poichè necessario e avvenne così la
transizione. Il meccanismo di libreria condivisa di FreeBSD è
basato sullo stile più restrittivo del maccanismo di libreria
condivisa degli &sunos; di Sun, e come tale, è molto facile da
utilizzare.Quindi, perchè ci sono così tanti formati
differenti?In passato l'hardware era semplice. Questo hardware semplice
sosteneva un sistema semplice e piccolo. Il formato
a.out era del tutto adatto per rappresentare i binari
su questo semplice sistema (un PDP-11). Nonostante le persone fecero il
port di &unix; da questo semplice sistema, esse mantennero il formato
a.out poichè era sufficiente per un primo port
di &unix; verso architetture come Motorola 68k, VAXen, ecc.All'epoca alcuni ingegneri hardware di spicco stabilirono che se tale
formato poteva forzare il software a fare alcuni trucchi sporchi, allora
esso sarebbe stato in grado di abbattere alcune barriere di progettazione
e permettere al core della CPU di andare più veloce. Benchè
il formato a.out fù progettato per lavorare
con questo nuovo tipo di hardware (conosciuto ai giorni d'oggi come
RISC), esso fù appena sufficiente per questo
hardware, quindi furono sviluppati altri formati per ottenere delle
prestazioni da questo hardware migliori di quelle che il limitato e
semplice formato a.out era in grado di offrire.
Furono inventati formati come il COFF,
l'ECOFF, e alcuni altri e furono esaminate le loro
limitazioni prima che fù prodotto l'ELF.Per di più, le dimensioni dei programmi stavano diventando
enormi e i dischi (e la memoria fisica) erano ancora relativamente
piccoli, e quindi il concetto di libreria condivisa prese piede.
Inoltre il sistema di VM (Memoria Virtuale) divenne più
sofisticato. Benchè ognuno di questi miglioramenti fù fatto
utilizzando il formato a.out, la sua utilità
si distese sempre più con ogni nuova caratteristica. In aggiunta,
la gente voleva caricare alcune cose in modo dinamico al tempo di
esecuzione, o anche scartare parte dei loro programmi dopo l'esecuzione
del codice iniziale al fine di salvare memoria e spazio di swap.
I linguaggi divennero più sofisticati e le persone desideravano che
il codice venisse chiamato dopo il main in modo automatico. Furono
apportati molte migliorie al formato a.out per
permettere tutte queste cose, e sostanzialmente tutto funzionò per
un dato periodo. Col passare del tempo, il formato
a.out non fù più in grado di gestire
tutti questi problemi senza apportare dei miglioramenti al codice con
un conseguente aumento della complessità. Benchè il formato
ELF risolveva molti di questi problemi, era doloroso
migrare da un sistema che tutto sommato funzionava. Quindi il formato
ELF attese fino a quando fù meno doloroso
rimanere con il formato a.out piuttosto che migrare
al formato ELF.Tuttavia, il tempo passò, e gli strumenti di costruzione che
FreeBSD derivò dai loro strumenti di costruzione (in particolare
l'assemblatore ed il loader) evolsero in due tronconi paralleli.
L'albero di FreeBSD aggiunse le librerie condivise e sistemò alcuni
bug. Il popolo di GNU che in origine aveva scritto questi programmi
li riscrisse e aggiunse un semplice supporto per la costruzione di
compilatori cross, la possibilità di produrre formati diversi a
piacimento, e così via. Da quando molte persone vollero costruire
compilatori cross per FreeBSD, questi furono delusi poichè i vecchi
sorgenti che FreeBSD aveva per as e
ld non erano pronti per questo lavoro.
La nuova serie di strumenti di GNU (binutils)
supportavano la compilazione cross, ELF, le librerie
condivise, le estensioni C++, ecc. Inoltre molti venditori stanno
rilasciando binari ELF, ed è una buona cosa
per FreeBSD eseguirli.Il formato ELF è più espressivo di
quello a.out e permette una maggiore
estensibilità nel sistema base. Gli strumenti di
ELF sono meglio mantenuti, e offrono un supporto alla
compilazione cross, che sta a cuore a molte persone.
ELF può essere un pò meno veloce di
a.out, ma tentare di misurarne le prestazioni non
è molto semplice. Ci sono anche numerosi dettagli che sono diversi
tra i due formati nel modo in cui essi mappano le pagine, gestiscono il
codice iniziale, ecc. Questi dettagli non sono molto importanti, ma tra i
due esistono delle differenze. Nel tempo il supporto per il formato
a.out verrà rimosso dal kernel
GENERIC, ed eventualmente sarà rimosso
completamente dal kernel non appena non ci sarà più la
necessità di eseguire programmi con il formato
a.out.Per Maggiori InformazioniLe Pagine Manpagine manLa documentazione più esauriente su FreeBSD è
costituita dalle pagine man. Quasi tutti i programmi sul sistema hanno
un piccolo manuale di riferimento che spiega il funzionamento di base e
i vari argomenti del programma stesso. Questi manuali possono essere
visualizzati con il comando man. L'uso del comando
man è semplice:&prompt.user; man comandocomando è il nome del comando di cui
desideri maggiori informazioni. Per esempio, per sapere di più
circa il comando ls digita:&prompt.user; man lsIl manuale in linea è diviso in sezione numerate:Comandi utente.System call e codici di errore.Funzioni della libreria C.Driver dei dispositivi.Formati di file.Giochi e altri passatempo.Informazioni varie.Comandi di mantenimento e di funzionamento del sistema.Sviluppo del kernel.In qualche caso, lo stesso soggetto può apparire in
più di una sezione del manuale in linea. Per esempio, esiste
un comando utente chmod e una system call
chmod(). In questo caso, puoi dire al comando
man quale vuoi specificando la sezione:&prompt.user; man 1 chmodIn questo caso verrà visualizzata la pagina man del comando
utente chmod. I riferimenti di una sezione
particolare del manuale in linea sono tradizionalmente posti tra
parentesi all'interno della documentazione, quindi &man.chmod.1; fa
riferimento al comando utente chmod e &man.chmod.2;
fa riferimento alla system call.Tutto questo va bene se conosci il nome del comando e desideri
semplicemente sapere come usarlo, ma cosa succede se non ricordi il nome
del comando? Puoi usare man con l'opzione
per ricercare tramite parole chiavi nelle
descrizioni dei comandi:&prompt.user; man -k mailCon questo comando ti verrà presentata una lista di comandi
che hanno la parola chiave mail nella loro descrizione.
Di fatto questo meccanismo funziona proprio come il comando
apropos.Stai dando un'occhiata a tutti quei comandi fantastici che si
trovano in /usr/bin ma non hai la più
pallida idea di cosa fanno la maggior parte di essi? Semplicemente
digita:&prompt.user; cd /usr/bin
&prompt.user; man -f *oppure&prompt.user; cd /usr/bin
&prompt.user; whatis *che è la stessa cosa.I File Info di GNUFree Software FoundationFreeBSD include molte applicazioni e utility prodotti dalla Free
Software Foundation (FSF). Oltre alle pagine man, questi programmi
hanno dei più ampi documenti in ipertesto chiamati file
info che possono essere visualizzati con il comando
info, o se hai installato
emacs, con la modalità info di
emacs.Per usare il comando &man.info.1;, digita semplicemente:&prompt.user; infoPer una breve introduzione, digita h. Per un
rapido riferimento dei comandi, digita ?.
diff --git a/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml b/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml
index 2e7b8c2f53..12d89fb777 100644
--- a/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml
@@ -1,607 +1,608 @@
BibliografiaSebbene 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 FreeBSDLibri & 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 UtentiComputer Systems Research Group, UC Berkeley. 4.4BSD
User's Reference Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-075-9Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-076-7UNIX in a Nutshell. O'Reilly &
Associates, Inc., 1990. ISBN 093717520XMui, Linda. What You Need To Know When You Can't Find
Your UNIX System Administrator. O'Reilly &
Associates, Inc., 1995. ISBN 1-56592-104-6Ohio State
University ha scritto un Corso
Introduttivo a UNIX che è disponibile online in
formato HTML e PostScript.
- (Il documento è disponibile online in italiano
- come parte del FreeBSD Italian Documentation Project.)
+ 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 AmministratoriAlbitz, Paul e Liu, Cricket. DNS and
BIND, 4a Ed. O'Reilly & Associates, Inc., 2001.
ISBN 1-59600-158-4Computer Systems Research Group, UC Berkeley. 4.4BSD
System Manager's Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-080-5Costales, Brian, et al. Sendmail, 2a Ed.
O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0Frisch, Æleen. Essential System
Administration, 2a Ed. O'Reilly & Associates,
Inc., 1995. ISBN 1-56592-127-5Hunt, Craig. TCP/IP Network Administration,
2a Ed. O'Reilly & Associates, Inc., 1997. ISBN
1-56592-322-7Nemeth, Evi. UNIX System Administration
Handbook. 3a Ed. Prentice Hall, 2000. ISBN
0-13-020601-6Stern, Hal Managing NFS and NIS O'Reilly
& Associates, Inc., 1991. ISBN 0-937175-75-7Jpman 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-0Guide per i ProgrammatoriAsente, Paul, Converse, Diana, e Swick, Ralph.
X Window System Toolkit. Digital Press,
1998. ISBN 1-55558-178-1Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Reference Manual. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-078-3Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-079-1Harbison, Samuel P. e Steele, Guy L. Jr. C: A
Reference Manual. 4a ed. Prentice Hall, 1995.
ISBN 0-13-326224-3Kernighan, Brian e Dennis M. Ritchie. The C
Programming Language.. PTR Prentice Hall, 1988.
ISBN 0-13-110362-9Lehey, Greg. Porting UNIX Software.
O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7Plauger, P. J. The Standard C Library.
Prentice Hall, 1992. ISBN 0-13-131509-9Spinellis, Diomidis. Code
Reading: The Open Source Perspective.
Addison-Wesley, 2003. ISBN 0-201-79940-5Stevens, W. Richard. Advanced Programming in the UNIX
Environment. Reading, Mass. : Addison-Wesley, 1992.
ISBN 0-201-56317-7Stevens, W. Richard. UNIX Network
Programming. 2a Ed, PTR Prentice Hall, 1998. ISBN
0-13-490012-XWells, Bill. Writing Serial Drivers for UNIX.
Dr. Dobb's Journal. 19(15), Dicembre 1994.
pp68-71, 97-99.Architettura del Sistema OperativoAndleigh, Prabhat K. UNIX System
Architecture. Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5Jolitz, 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-1Leffler, 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-9McKusick, 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-9Schimmel, Curt. Unix Systems for Modern
Architectures. Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8Stevens, 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-3Vahalia, Uresh. UNIX Internals -- The New
Frontiers. Prentice Hall, 1996. ISBN
0-13-101908-2Wright, Gary R. and W. Richard Stevens. TCP/IP
Illustrated, Volume 2: The Implementation. Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-XRiferimenti sulla SicurezzaCheswick, William R. e Steven M. Bellovin. Firewalls
and Internet Security: Repelling the Wily Hacker.
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4Garfinkel, Simson e Gene Spafford.
Practical UNIX & Internet Security.
2a Ed. O'Reilly & Associates, Inc., 1996. ISBN
1-56592-148-8Garfinkel, Simson. PGP Pretty Good
Privacy O'Reilly & Associates, Inc., 1995. ISBN
1-56592-098-8Riferimenti sull'HardwareAnderson, Don e Tom Shanley. Pentium Processor
System Architecture. 2a Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5Ferraro, Richard F. Programmer's Guide to the EGA,
VGA, and Super VGA Cards. 3a ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-62490-7Intel 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-1Shanley, Tom. ISA System Architecture.
3a ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8Shanley, Tom. PCI System Architecture.
4a ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2Van Gilluwe, Frank. The Undocumented PC, 2a
Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8Messmer, Hans-Peter. The Indispensable PC Hardware
Book, 4a Ed. Reading, Mass: Addison-Wesley Pub. Co.,
2002. ISBN 0-201-59616-4Storia di &unix;Lion, John Lion's Commentary on UNIX, 6th Ed. With
Source Code. ITP Media Group, 1996. ISBN
1573980137Raymond, Eric S. The New Hacker's Dictionary, 3rd
edition. MIT Press, 1996. ISBN
0-262-68092-0. Conosciuto anche come il Jargon
FileSalus, Peter H. A quarter century of UNIX.
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5Simon Garfinkel, Daniel Weise, Steven Strassmann. The
UNIX-HATERS Handbook. IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1Don Libes, Sandy Ressler Life with UNIX
— edizione speciale. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7The 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 GiornaliThe C/C++ Users Journal. R&D
Publications Inc. ISSN 1075-2838Sys Admin — The Journal for UNIX System
Administrators Miller Freeman, Inc., ISSN
1061-2688freeX — 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 1f4f47b5ca..92d957245d 100644
--- a/it_IT.ISO8859-15/books/handbook/book.sgml
+++ b/it_IT.ISO8859-15/books/handbook/book.sgml
@@ -1,272 +1,279 @@
%man;
%bookinfo;
%freebsd;
%authors;
%teams;
%mailing-lists;
%newsgroups;
-
-%trademarks;
+
+%it-trademarks;
+
+
+%trademarks;
%txtfiles;
%translators;
%chapters;
%pgpkeys;
]>
Manuale di FreeBSDThe FreeBSD Italian Documentation ProjectFebbraio 1999199519961997199819992000200120022003
+ 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.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.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;
-
+
+
+ &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
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 CominciareQuesta 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 SistemaI 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 16b95c203a..faeef0a9f4 100644
--- a/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml
@@ -1,819 +1,820 @@
La Procedura di Avvio di FreeBSDSinossiavvioavviamentoIl 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 x86Questo capitolo descrive la procedura di avvio di FreeBSD su sistemi
Intel x86.Il Problema dell'AvvioAccendere 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.BIOSBasic Input/Output SystemSe 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.kernelinitA 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 TreMBR, /boot/boot0Master 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 boot0F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2Altri sistemi operativi, in particolare &windows; 95, sono noti
- per l'abitudine a sovrascrivere l'MBR esistente con il proprio.
+ 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 dispositivoDove 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
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=FreeBSDche 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
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/boot2Concettualmente 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 discosliceDove 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 DedicataSe 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/loaderboot-loaderIl 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 LoaderDurante 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.loaderconfigurazione del loaderPoi 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 LoaderQuesti sono i comandi usati più comunemente. Per una
discussione completa su tutti i comandi disponibili, guarda
&man.loader.8;.autoboot secondiProcede 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
-opzioninomekernelProcede immediatamente all'avvio del kernel, con le opzioni
date, se ce ne sono, e con il nome del kernel specificato, se
fornito.boot-confVa 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
argomentoMostra 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 tiponomefileCarica il kernel, il modulo del kernel, o il file
del tipo specificato, con il nome specificato. Ogni argomento
- dopo nomefile viene passato al file.
+ dopo nomefile viene passato al
+ file.
ls percorsoMostra un elenco dei file nel percorso dato, o nella
directory root, se non ne viene specificato uno. Se è
specificato , verranno mostrate anche le
dimensioni dei file.lsdev Elenca tutti i dispositivi dai quali potrebbe essere
possibile caricare moduli. Se viene specificata l'opzione
, verranno stampati dettagli maggiori.lsmod Mostra i moduli caricati. Se viene specificato
, verranno stampati dettagli maggiori.more nomefileMostra i file specificati, con una pausa ad ogni
pagina visualizzata.rebootRiavvia immediatamente il sistema.set variabileset
variabile=valoreImposta le variabili di ambiente del loader.unloadRimuove tutti i moduli caricati.Esempi sul LoaderQui ci sono alcuni esempi pratici sull'uso del loader:modalità singolo utentePer avviare semplicemente il vostro kernel abituale,
ma in modalità singolo utente:boot -sPer scaricare dalla memoria i moduli e il kernel usuali,
e poi caricare solo il vecchio (o un altro) kernel:kernel.oldunloadload kernel.oldPuoi 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:unloadset kernel="kernel.old"boot-confPer 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.confInterazione con il Kernel Durante l'Avviokernelinterazione all'avvioUna 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.kernelflag di bootI Flag di Avvio del KernelQui ci sono alcuni dei più comuni flag di avvio:durante l'inizializzazione del kernel, chiede il dispositivo
da montare come file system di root.avvia da CDROM.esegue UserConfig, il programma di configurazione del kernel
all'avvioavvia in modalità singolo utenteaumenta la verbosità durante l'avvio del kernelCi sono altri flag di avvio, leggi &man.boot.8; per maggiori
informazioni su di essi.TomRhodesContributo di device.hintsDevice HintsQuesta è 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=valoredriver è 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;.initInit: Inizializzazione del Controllo dei ProcessiUna 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 AutomaticaLa 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 Utentemodalità singolo utenteconsoleQuesta modalità può essere raggiunta attraverso la
sequenza di riavvio automatica,
o tramite l'avvio da parte dell'utente con l'opzione
o impostando la variabile boot_single
nel loader.Si può arrivare ad essa anche richiamando &man.shutdown.8;
senza l'opzione per il riavvio () o per l'arresto
(), 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 insecureAvere 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 Utentemodalità multi utenteSe &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 rcConfigurazione 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 SpegnimentospegnimentoAl 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/desktop/chapter.sgml b/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml
index c0b186d302..3650866e63 100644
--- a/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml
@@ -1,1332 +1,1326 @@
ChristopheJunietContributo di Applicazioni DesktopSinossiFreeBSD può far girare una gran varietà di applicazioni
desktop, come ad esempio browser per la navigazione e editor di testi.
La maggior parte di questi sono disponibili in pacchetti o possono
essere automaticamente installati dalla collezione di port. Molti nuovi
utenti si aspettano di trovare questo tipo di applicazioni nei loro
desktop. Questo capitolo ti mostrerà come installare alcune
popolari applicazioni desktop, sia dai package che dalla collezione
dei port.Da notare che quando installiamo programmi dalla collezione dei
port, questi sono compilati dai sorgenti. Questa operazione potrebbe
durare molto tempo, dipende da cosa stai compilando e dalla potenza della
tua macchina. Se per te compilare i sorgenti occupa un arco di tempo
proibitivamente lungo, puoi installare la maggior parte dei programmi
della collezione dei port da pacchetti precompilati.Visto che FreeBSD è compatibile con i binari di Linux, molte
applicazione originariamente scritte per Linux sono disponibili
per il tuo desktop. È fortemente raccomandata la lettura del
prima di installare qualsiasi
applicazione per Linux. La maggior parte dei port che sfruttano la
compatibilità con Linux iniziano con linux-.
Ricordatelo quando cerchi un port in particolare, per esempio con
&man.whereis.1;. Nella parte seguente, si presuppone che tu abbia
installato il supporto per la compatibilità con i binari di Linux
prima di installare qualsiasi applicazione per Linux.Queste sono le categorie software trattate in questo capitolo:Browser (come ad es. Mozilla,
&netscape;,
Opera)Produttività (come ad es.
KOffice,
AbiWord,
The GIMP,
OpenOffice.org)Visualizzatori di documenti (come ad es.
&acrobat.reader;,
gv,
Xpdf,
GQview)Finance (come ad es. GnuCash,
Gnumeric,
Abacus)Prima di leggere questo capitolo, dovresti:Essere in grado di installare altro software di terze parti
().Essere in grado di installare altro software per Linux
().Per informazioni su come avere un ambiente multimediale, leggi il
. Se vuoi installare e usare l'e-mail, sono
presenti riferimenti nel .BrowserIn FreeBSD non viene preinstallato nessun browser in particolare.
- Invece, la directory www della collezione
dei port contiene molti browsers pronti per essere installati. Se non hai
il tempo di compilare tutto (in alcuni casi potrebbe occupare molto tempo)
molti di questi sono disponibili come package.KDE e anche
GNOME hanno dei browsers HTML.
Guarda la per avere informazioni
su come installare questi ambienti desktop.Se stai cercando dei browser leggeri, dovresti
controllare la collezione dei port per
www/dillo,
www/links, oppure
www/w3m.Questa sezione riguarda le seguenti applicazioni:Nome dell'applicazioneLivello di risorse necessarieInstallazione dai portPrincipali dipendenzeMozillapesantepesanteGtk+&netscape;pesanteleggeroCompatibilità binaria con LinuxOperaleggeroleggeroVersione FreeBSD: Nessuna. Versione per Linux:
Compatibilità binaria con Linux e
linux-openmotifMozillaMozillaMozilla è probabilmente il browser
più indicato per il tuo desktop FreeBSD. È moderno,
stabile, e completamente supportato da FreeBSD. Tra le caratteristiche
un motore di visualizzazione di pagine che segue completamente lo
standard HTML. Ha inoltre un lettore di mail e news. Presenta anche un
editor HTML se vuoi comporre della pagine web. Gli utenti di
&netscape; riconosceranno
le somiglianze con la suite Communicator
in quanto basati sullo stesso codice.Su macchine lente, con una velocita di CPU minore di 233MHz o con
meno di 64MB di RAM, Mozilla
potrebbe utilizzare troppe risorse per essere eseguito al meglio.
Potresti invece dare un'occhiata al browser
Opera descritto poco più giù
in questo capitolo.Se non puoi o non vuoi compilare
Mozilla per qualsiasi ragione, il FreeBSD
GNOME team l'ha già fatto per te. Devi solo installare
il pacchetto dalla rete con:&prompt.root; pkg_add -r mozillaSe il pacchetto non è disponibile, e hai abbastanza tempo
e spazio su disco, puoi prelevare i sorgenti di
Mozilla, compilarli e installarli
sul tuo sistema. Questo può essere fatto con:&prompt.root; cd /usr/ports/www/mozilla
&prompt.root; make install cleanPuoi assicurarti una corretta inizializzazione del port di
Mozilla attraverso l'esecuzione dell'utility
chrome registry setup con i privilegi di root. In
ogni caso se vuoi prelevare alcuni add-ons come ad esempio gestori del
mouse, dovresti eseguire Mozilla come
root per installarli correttamente.Una volta completata l'installazione di
Mozilla, non necessiti di essere ancora
root. Puoi avviare
Mozilla come browser digitando:&prompt.user; mozillaPuoi avviarlo direttamente come lettore di mail e news come
mostrato qui sotto:&prompt.user; mozilla -mail
-
+
Tom
-
+
Rhodes
-
+
Contributo di Mozilla, &java;, e ¯omedia; &flash;Installare Mozilla è semplice, ma
sfortunatamente installare Mozilla con il
supporto per add-on come &java; e ¯omedia; &flash;
consuma sia spazio su disco che tempo.La prima cosa da fare è scaricare i files che verranno usati
poi con Mozilla. Raggiungi con il tuo
browser la pagina presente al seguente link
e creati un account sul loro sito. Ricordati di salvare il nome utente
e la password visto che potresti averne bisogno in fututo. Scarica
una copia del file j2sdk-1_3_1-src.tar.gz e salvalo
in /usr/ports/distfiles/ perchè il port non
è in grado di prelevarlo automaticamente. Questo a causa delle
limitazioni dovute alla licenza.
Nel frattempo scarica il java environment da .
- Il file è j2sdk-1_3_1_08-linux-i586.bin
+ Il file è j2sdk-1_3_1_08-linux-i586.bin
ed è abbastanza grande (circa 25 megabyte!). Esattamente come
prima, questo file deve essere salvato in
/usr/ports/distfiles/. Alla fine scarica
una copia del java patchkit da e salvalo
nella directory /usr/ports/distfiles/.Installiamo il port java/jdk13
con il classico make install clean e dopo
installiamo il port www/flashpluginwrapper.
Questo port necessita di emulators/linux_base che è un
port abbastanza grande. Anche se esistono altri plug-in
&flash;, questi hanno dato dei problemi
e non hanno funzionato da me.Installa il port www/mozilla,
se Mozilla non è ancora
installato.Ora copiamo il plug-in &flash;
con:&prompt.root; cp /usr/local/lib/flash/libflashplayer.so \
/usr/X11R6/lib/browser_plugins/libflashplayer_linux.so&prompt.root; cp /usr/local/lib/flash/ShockwaveFlash.class \
/usr/X11R6/lib/browser_plugins/
-
- Se si sta usando www/mozilla-devel, la directory di
- destinazione sarà differente.
-
-
Ora aggiungere le seguenti righe all'inizio (ma ovviamante sotto
#!/bin/sh) dello script di avvio di
Mozilla:
/usr/X11R6/bin/mozilla.LD_PRELOAD=/usr/local/lib/libflashplayer.so.1
export LD_PRELOADQuesto farà funzionare il plug-in di
&flash;.Ora avvia Mozilla solo con:&prompt.user; mozilla &Aprire il menu di opzioni About Plug-ins
dal menù Help. Una lista con tutte i plug-in
disponibili dovrebbe apparire. &java; e
&shockwave; &flash; dovrebbero essere
elencate.&netscape;NetscapeNella collezione dei port sono presenti diverse versioni
del browser &netscape;. Sin dalla prima versione scritta per FreeBSD
&netscape; contiene un grave bug di sicurezza, è fortemente
scoraggiata l'installazione. Invece, puoi usare una versione più
recente per Linux o per DIGITAL UNIX.L'ultima release stabile del browser &netscape; è
&netscape; 7. Questa può essere
installata dalla collezione dei port con:&prompt.root; cd /usr/ports/www/netscape7
&prompt.root; make install cleanCi sono delle versioni localizzate nelle categorie French, German, e
Japanese.Le versioni &netscape; 4.x non sono
raccomandate perchè non sono conformi agli standard attuali.
Tuttavia, &netscape; 7.x
e le altre versioni più recenti sono disponibili solo per
architetture i386.OperaOperaOpera è un browser molto veloce,
pieno di funzionalità, e basato sugli standard attuali. È
disponibile in due versioni: una nativa per FreeBSD
e una che gira sotto emulazione Linux.
Per tutte e due i casi È disponibile una versione gratuita che
visualizza banner pubblicitari e una che è a pagamento.
Puoi comprare una versione senza avvisi pubblicitari
dal sito web di Opera.
Questa è una release per Linux ma gira senza
problemi anche sotto FreeBSD.
- Per navigare nel web con la versione per FreeBSD di
+ Per navigare nel web con la versione per FreeBSD di
Opera, installa il package:&prompt.root; pkg_add -r operaAlcuni siti FTP non hanno tutti i pacchetti, ma è possibile
ottenere lo stesso risultato con la collezione dei port
digitando:&prompt.root; cd /usr/port/www/opera
&prompt.root; make install cleanPer installare la versione Linux di
Opera, sustituire
linux-opera al posto di
opera nell'esempio sopra. La versione Linux
È utile in situazioni che richiedono l'uso di plug-ins
che sono disponibili solo per Linux, come ad esempio Adobe
&acrobat.reader;. In tutti gli altri casi, le versioni
per FreeBSD e Linux funzioneranno esattamente alla stessa
maniera.ProduttivitàQuando si parla di produttività, i nuovi utenti spesso cercano
un buon pacchetto office o un facile e completo editor di testi.
Non ci sono applicativi di default, mentre alcuni
ambienti desktop come
KDE sono muniti di un pacchetto office.
FreeBSD dispone di tutto ciò di cui hai necessità
indipendentemente dal tuo ambiente desktop.Questa sezione riguarda le seguenti applicazioni:Nome dell'applicazioneLivello di risorse necessarieInstallazione dai portPrincipali dipendenzeKOfficeleggeropesanteKDEAbiWordleggeroleggeroGtk+ o
GNOMEThe GimpleggeropesanteGtk+OpenOffice.orgpesantemolto pesanteGCC 3.1,
&jdk; 1.3,
MozillaKOfficeKOfficesuite per ufficioKOfficeLa comunità KDE distribuisce il suo ambiente desktop
insieme a un pacchetto office che può essere usato all'esterno
dell'ambiente KDE. Questo include le 4
principali componenti che sono presenti nelle altre principale suite di
office.
KWord è l'editor di testi,
KSpread è il foglio di calcolo
elettronico, KPresenter gestisce
presentazioni a slide e Kontour ti permette
di disegnare documenti grafici.Prima di installare l'ultima release di
KOffice, assicurati di avere una
versione aggiornata di KDE.Per installare KOffice come
pacchetto, inserisci il seguente comando:&prompt.root; pkg_add -r kofficese il pacchetto non è disponibile puoi usare la collezione
dei ports. Per esempio, per installare
KOffice per
KDE3, fai:&prompt.root; cd /usr/ports/editors/koffice-kde3
&prompt.root; make install cleanAbiWordAbiWordAbiWord è un editor di testi
gratuito simile in aspetto e non solo a µsoft;
Word.
È adatto per la digitazione di documenti, lettere, reports,
appunti e così via. È molto veloce, contiene molte
funzioni, ed è molto facile da usare.AbiWord può importare ed esportare
file di molti tipi, compreso alcuni formati proprietari come
Microsoft .doc.AbiWord è disponibile come
package. Puoi installarlo digitando:&prompt.root; pkg_add -r AbiWord-gnomeSe il pacchetto non è disponibile puoi recuperarlo dalla
collezione dei port. La collezione dei port dovrebbe essere molto
più aggiornata. Puoi fare come segue:&prompt.root; cd /usr/ports/editors/AbiWord
&prompt.root; make install cleanThe GIMPThe GIMPPer il disegno o il ritocco delle immagini,
The GIMP è un programa di
manipolazione immagini molto sofisticato.
Può essere usato come un semplice
programma di disegno o come un programma di fotoritocco professionale.
Supporta un grande numero di plug-in, funzioni e un'interfaccia di
scripting.
The GIMP può leggere e scrivere
una enorme quantità di formati di file.
Supporto di interfacce per scanner o tavolette.Puoi installare il pacchetto inserendo il seguente
comando:&prompt.root; pkg_add -r gimpSe il tuo sito FTP non ha il pacchetto, puoi usare
la collezione dei ports. La directory
graphics
della collezione dei ports contiene anche
The Gimp Manual.
È riportato qui di seguito come installarli:&prompt.root; cd /usr/ports/graphics/gimp1
&prompt.root; make install clean
&prompt.root; cd /usr/ports/graphics/gimp-manual-pdf
&prompt.root; make install cleanLa directorygraphics
della collezione dei ports contiene la versione development
di The GIMP in
graphics/gimp-devel.
Le versioni in formato HTML e &postscript; di
The Gimp Manual sono in
graphics/gimp-manual-html e
graphics/gimp-manual-ps.OpenOffice.orgOpenOffice.orgsuite per ufficioOpenOffice.orgOpenOffice.org unisce tutte
le applicazioni necessarie in un completo pacchetto office di
produttività personale: un editor di testi, un foglio di calcolo,
un software per le presentazioni e uno di disegno. La sua interfaccia
utente è molto simile alle altre suiti di office, può
inoltre importare ed esportare file in diversi popolari formati.
È disponibile in un gran numero di differenti lingue comprendenti
interfaccia, correttore ortografico, e dizionario.L'editor di testi di
OpenOffice.org usa come formato di file
nativo il formato XML per incrementare la portabilità e la
flessibilità. Il foglio di calcolo elettronico incorpora un
linguaggio per le macro che può essere interfacciato con
un database esterno.
OpenOffice.org è stabile e
e gira nativamente sotto &windows;, &solaris;, Linux, FreeBSD, e
&macos; X. Altre informazioni riguardo
OpenOffice.org possono essere trovate sul
sito web di OpenOffice.
Per informazioni specifiche su FreeBSD, e per scaricare direttamente i
package usa il sito web del FreeBSD OpenOffice Porting
Team.Per installare OpenOffice.org,
do:&prompt.root; pkg_add -r openofficeUna volta installato il pacchetto, devi avviare il programma di
setup e scegliere una .
Eseguire questo comando come utente che userà OpenOffice.org
OpenOffice.org:&prompt.user; openoffice-setupSe il pacchetto OpenOffice.org
non è disponibile hai ancora la possibilità di compilare il
port. Come sempre, devi tenere presente che necessiterai di molto spazio
nel tuo hard disk e di molto tempo per la compilazione.&prompt.root; cd /usr/ports/editors/openoffice
&prompt.root; make install cleanUna volta installato il pacchetto, devi avviare il programma di
setup di OpenOffice.org e scegliere
con:&prompt.user; cd /usr/ports/editors/openoffice
&prompt.user; make install-userSe vuoi usare una versione in una lingua differente qui di seguito
sono presenti i ports disponibili:LinguaPortAraboeditors/openoffice-arCoreanokorean/openofficeDaneseeditors/openoffice-dkFrancesefrench/openofficeGiapponesejapanese/openofficeGrecoeditors/openoffice-grItalianoeditors/openoffice-itOlandeseeditors/openoffice-nlPolaccopolish/openofficePortogheseportuguese/openofficeRussorussian/openofficeSpagnoloeditors/openoffice-esSvedeseeditors/openoffice-seTedescogerman/openofficeTurcoeditors/openoffice-trDocument viewersAlcuni nuovi formati di documenti hanno recentemente guadagnato
popolarità. I visualizzatori standard che richiedono potrebbero
non essere inclusi nel sistema base. Vedremo come installarli in questa
sezione.Questa sezione riguarda le seguenti applicazioni:Nome dell'applicazoneLivello di risorse necessarieInstallazione dai portsMaggiori dipendenze&acrobat.reader;leggeroleggeroSupporto per la compatibilità per i binari
LinuxgvleggeroleggeroXaw3dXpdfleggeroleggeroFreeTypeGQviewleggeroleggeroGtk+ o
GNOME&acrobat.reader;Acrobat ReaderPDFvisualizzatoreMolti documenti sono ora distribuiti come documenti in PDF,
che stà per Portable Document Format. Uno
dei visualizzatori raccomandati per files di questo tipo è
&acrobat.reader;, rilasciato da Adobe
per Linux. Visto che FreeBSD può eseguire binari per Linux,
è disponibile anche per FreeBSD.Per installare il pacchetto &acrobat.reader;
5 fare:&prompt.root; pkg_add -r acroread5Come sempre se il pacchetto non è disponibilie o se vuoi
l'ultima versione, anche puoi utilizzare la collezione dei
ports:&prompt.root; cd /usr/ports/print/acroread5
&prompt.root; make install clean&acrobat.reader; è
- disponibile in molte versioni differenti. Al momento della scrittura di
- questo documento, sono presenti:
+ disponibile in molte versioni differenti. Al momento della scrittura
+ di questo documento, sono presenti:
print/acroread (versione 3.0.2),
print/acroread4 (versione 4.0.5),
e print/acroread5 (versione
5.0.6).
- Portebbeno non essere disponibili tutti i paccheti per la tua versione
- di FreeBSD. La collezione dei ports conterrà in ogni caso
- l'ultima versione.
+ Potrebbero non essere disponibili tutti i pacchetti per la tua
+ versione di FreeBSD. La collezione dei port conterrà in ogni
+ caso l'ultima versione.
gvgvPDFvisualizzatorePostScriptvisualizzatoregv è un visualizzatore per file
&postscript; e PDF. Era origibariamente basato su
ghostview ma ha un look più gradevole
grazie alle librerie Xaw3d. È
veloce e l'interfaccia è pulita. gv
ha molte funzioni come: orientamento, dimensione del foglio, scala,
o antialias. Molte possono essere esuguite sia dalla tastiera che dal
mouse.Per installare gv come un pacchetto,
fare:&prompt.root; pkg_add -r gvSe non puoi ricevere il pacchetto puoi utilizzare la collezione
dei ports:&prompt.root; cd /usr/ports/print/gv
&prompt.root; make install cleanXpdfXpdfPDFvisualizzatoreSe vuoi un piccolo visualizzatore di PDF per FreeBSD,
Xpdf è un leggero ed
efficente visualizzatore. Ha bisogno di veramente poche risorse ed
è molto stabile. Usa i font standard di X e non ha bisogno di
&motif; o di altri toolkit di X.Per installare il pacchetto Xpdf
inserire questo comando:&prompt.root; pkg_add -r xpdfSe il pacchetto non è disponibile o preferisci usare
la collezione dei ports fai:&prompt.root; cd /usr/ports/graphics/xpdf
&prompt.root; make install cleanUna volta completata l'installazione, puoi avviare
Xpdf e puoi usare il tasto destro del mouse
per visualizzare il menù.GQviewGQviewGQview è un manager di immagini.
Puoi visualizzare un file con un solo click, avviare un editor esterno,
visualizzare l'anteprima e molto altro. Consente inoltre
di visualizzare l'anteprima delle immagini come diapositive. Puoi
gestire le tue collezioni di immagini e trovare facilmente i duplicati.
GQview può lavorare in modalità
full-screen e ha il supporto internazionale.Se vuoi installare il pacchetto
GQviewfai:&prompt.root; pkg_add -r gqviewSe il pacchetto non è disponibile o preferisci usare la
collezione di port fai:&prompt.root; cd /usr/ports/graphics/gqview
&prompt.root; make install cleanBilancioSe per qualsiasi ragione vorresti gestire il tuo bilancio
personale sul tuo desktop FreeBSD, ci sono alcune applicazioni potenti e
facili da usare pronti per essere installati. Alcuni di questi sono
compatibili con i formati di file più utilizzati come ad esempio
i documenti di Quicken o
Excel.Questa sezione riguarda le seguenti applicazioni:Nome dell'applicazioneLivello di risorse necessarieInstallazione dai portsMaggiori dipendenzeGnuCashleggeropesanteGNOMEGnumericleggeropesanteGNOMEAbacusleggeroleggeroTcl/TkGnuCashGnuCashGnuCash è prodotto dagli sforzi da
parte degli sviluppatori di GNOME per
mettere a disposizione degli utenti finali applicazioni facili da
usare e potenti. Con GnuCash, puoi
tenere traccie delle tue spese e dei tuoi guadagni, del conto
bancario, o della tua attività. Dispone di una interfaccia
intuitiva pur rimanendo molto professionale.GnuCash Dispone di un ottimo
registro, un sistema di accounts gerarchico, molte combinazioni di
scelta rapida e tecniche di autocompletamento. Può dividere
una transazione singola in molte parti più dettagliate.
GnuCash può importare e unire
i file QIF di Quicken. Gestisce inoltre
diversi formati esteri di valuta e data.Per installare GnuCash nel tuo
sistema, fai:&prompt.root; pkg_add -r gnucashSe il pacchetto non è disponibile, puoi usare la
collezione dei ports:&prompt.root; cd /usr/ports/finance/gnucash
&prompt.root; make install cleanGnumericGnumericfoglio di calcoloGnumericGnumeric è un foglio di calcolo
elettronico, fa parte dell'ambiente desktop
GNOME.
Dispone di molti automatismi utili, aucompletamento
in base al formato della cella e un sistema di formattazione automatica
per molte operazioni. Può esportare i files in un gran numero di
formati popolari come quelli di Excel,
Lotus 1-2-3, o Quattro
Pro.
Gnumeric supporta l'utilizzo di grafici
attraverso il programma di grafica math/guppi.
Ha un gran numero di funzioni e permette l'utilizzo di celle formattate
come ad esempio nel formato data, valuta, numero, ora, e molti
altri.Per installare Gnumeric come un
un pacchetto, digitare:&prompt.root; pkg_add -r gnumericSe il pacchetto non risulta disponibile puoi usare la collezione
dei ports con:&prompt.root; cd /usr/ports/math/gnumeric
&prompt.root; make install cleanAbacusAbacusfoglio di calcoloAbacusAbacus è un foglio di calcolo
leggero e facile da usare. Include molte funzioni utili
in molti campi diversi come ad esempio in statistica, finanza, e
matematica. Può importare ed esportare i file in formato
Excel. Abacus
può esportare anche in formato &postscript;.Per installare Abacus dal pacchetto
digitare:&prompt.root; pkg_add -r abacusSe il pacchetto non è disponibile puoi utilizzare la
collezione dei ports digitando:&prompt.root; cd /usr/ports/deskutils/abacus
&prompt.root; make install cleanSommarioAnche se FreeBSD è molto popolare tra gli ISP per le sue
performance e la sua stabilità, FreeBSD è completamente
pronto ad essere usato come desktop per l'utilizzo quotidiano.
Con diverse migliaia di applicazioni disponibili sotto forma di
pacchetti o
ports,
puoi avere un desktop perfetto che soddisfi tutte le tue
necessità.Una volta completata l'installazione del tuo desktop, potresti
volere fare un passo in più con
misc/instant-workstation.
Questo meta-port ti permette di creare un insieme tipico di
di ports per una workstation. Puoi personalizzarlo editando il file
/usr/ports/misc/instant-workstation/Makefile.
Segui la sintassi di default per aggiungere o rimuovere
ports, e poi utilizza la procedura indicata per creare l'insieme.
Così facendo sarai capace di creare un grosso pacchetto che
corrisponde al tuo desktop personale e di installarlo nelle altre
workstation!Qui di seguito un piccolo riassunto delle applicazioni trattate
in questo capitolo:Nome dell'applicazioneNome del pacchettoNome del portsMozillamozillawww/mozilla&netscape;linux-netscape7www/linux-netscape7Operalinux-operawww/linux-operaKOfficekoffice-kde3editors/koffice-kde3AbiWordAbiWord-gnomeeditors/AbiWordThe GIMPgimpgraphics/gimp1OpenOffice.orgopenofficeeditors/openoffice&acrobat.reader;acroread5print/acroread5gvgvprint/gvXpdfxpdfgraphics/xpdfGQviewgqviewgraphics/gqviewGnuCashgnucashfinance/gnucashGnumericgnumericmath/gnumericAbacusabacusdeskutils/abacus
diff --git a/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml b/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml
index fcfb0d4d19..2fb5f16ac4 100644
--- a/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml
@@ -1,1671 +1,1677 @@
Risorse su InternetIl 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 ListsAnche 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 listeListe generiche: Le seguenti sono liste
generiche a cui tutti sono invitati (e incoraggiati) a
partecipare:ListaArgomento&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 listeListe 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.ListaArgomento&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.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
+
+
&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 FreeBSDListe 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.ListaArgomento&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.orgListe 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.ListaArea dei sorgentiDescrizione 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/docTutte le modifiche all'albero doc&a.cvs-ports.name;/usr/portsTutte le modifiche all'albero ports&a.cvs-projects.name;/usr/projectsTutte le modifiche all'albero projects&a.cvs-src.name;/usr/srcTutte le modifiche all'albero srcCome iscriversiPer 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 listeTutte 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.afs.name;Andrew File SystemQuesta è la lista per le discussioni sul porting e
l'uso dell' AFS da CMU/Transarc.&a.announce.name;Eventi importanti/pietre miliariQuesta è 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
progettazioneQuesta 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 sorgenteQuesta è 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 FreeBSDQuesta 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
ReportLo 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 bugQuesta è 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à
FreeBSDQuesta 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 FreeBSDQuesta è 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 FreeBSDDiscussioni tecniche sull'uso, sviluppo e mantenimento di
FreeBSD-CVSweb&a.doc.name;Progetto di documentazioneQuesta 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 systemDiscussioni riguardanti i file system FreeBSD. Questa
è una lista dalle caratteristiche tecniche per la quale
ci si attende contenuto strettamente tecnico.&a.gnome.name;GNOMEDiscussioni 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 IPQuesto è 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 IA64Questa è 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 ISDNQuesta è 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.kde.name;KDEDiscussioni concernenti KDE su
sistemi FreeBSD.
È una mailing list a carattere tecnico per la quale ci si
attende materiale strettamente tecnico.&a.hackers.name;Discussioni tecnicheQuesto è 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
FreeBSDDiscussione 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 mirrorAnnunci e discussioni per persone che mantengono siti mirror
FreeBSD.&a.isp.name;Questioni riguardanti gli Internet Service
ProviderQuesta 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
adeptiCopriamo 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.orgQuestione concernenti il porting ed il mantenimento di
OpenOffice.org e
&staroffice;.&a.performance.name;Discussioni riguardo la calibrazione o la
velocizzazione di FreeBSDQuesta 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
IntelQuestione 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
TeamQuesta è una mailing list a scarso traffico, di sola
lettura, per le decisioni politiche del Core Team.&a.ports.name;Discussioni sui
portDiscussioni 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
portDiscussioni 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 utentiQuesta è 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 SCSIQuesta è 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 sicurezzaArgomenti 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 sicurezzaNotifiche 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
embeddedQuesta 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 &
POSIXQuesto è 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
utentiQuesta è 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 venditoriDiscussioni di coordinamento fra il FreeBSD Project e
venditori di software e hardware per FreeBSD.Filtraggio sulle Mailing ListLe 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-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchAlcune 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 UsenetOltre 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 BSDcomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (Tedesco)fr.comp.os.bsd (Francese)Altri newsgroup &unix; di interessecomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Windows Systemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineServer World Wide Web
&chap.eresources.www.inc;
Indirizzi EmailI 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.DominioOffertaGruppo utenteAmministratoreukug.uk.FreeBSD.orgSolo forwardingfreebsd-users@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgShell AccountsI 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.HostAccessoOffertaAmministratorestorm.uk.FreeBSD.orgSolo SSHCVS a sola lettura, spazio web personale, email&a.brian;dogma.freebsd-uk.eu.orgTelnet/FTP/SSHEmail, spazio Web, FTP anonimoLee Johnston lee@uk.FreeBSD.org
diff --git a/it_IT.ISO8859-15/books/handbook/install/Makefile b/it_IT.ISO8859-15/books/handbook/install/Makefile
index 053016daea..0e21ad9d0f 100644
--- a/it_IT.ISO8859-15/books/handbook/install/Makefile
+++ b/it_IT.ISO8859-15/books/handbook/install/Makefile
@@ -1,15 +1,15 @@
#
# Crea il Manuale con il contenuto di solo questo capitolo.
#
# $FreeBSD$
#
-CHAPTERS= introduction/chapter.sgml
+CHAPTERS= install/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"
diff --git a/it_IT.ISO8859-15/books/handbook/install/chapter.sgml b/it_IT.ISO8859-15/books/handbook/install/chapter.sgml
index 16a1648a56..8138620888 100644
--- a/it_IT.ISO8859-15/books/handbook/install/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/install/chapter.sgml
@@ -1,98 +1,103 @@
Installazione di FreeBSDSinossiTraduzione in corsoPre-installation TasksTraduzione in corsoStarting the InstallationTraduzione in corsoIntroducing SysinstallTraduzione in corsoAllocating Disk SpaceTraduzione in corsoChoosing What To InstallTraduzione in corsoChoosing Your Installation MediaTraduzione in corso
+
+
+ Configure X Server
+
+ Traduzione in corsoCommitting to the InstallationTraduzione in corsoPost-installationTraduzione in corsoSupported HardwareTraduzione in corsoTroubleshootingTraduzione in corsoAdvanced Installation GuideTraduzione in corsoPreparing Your Own Installation MediaTraduzione in corso
diff --git a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml
index ea54fb194c..06a477e40c 100644
--- a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml
@@ -1,2711 +1,2721 @@
Ottenere FreeBSDEditori di CDROM e DVDProdotti al Dettaglio ConfezionatiFreeBSD è 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 DVDI set di CD e DVD di FreeBSD sono disponibili presso molti
rivenditori on-line:Daemon News Mall560 South State Street, Suite A2Orem, UT84058Stati Uniti d'America
Telefono: +1 800 407-5170
Fax: +1 1 801 765-0877
Email: sales@bsdmall.com
WWW: FreeBSD Mall, Inc.3623 Sanford StreetConcord, CA94520-1405Stati Uniti d'America
Telefono: +1 925 674-0783
Fax: +1 925 674-0821
Email: info@freebsdmall.com
WWW: FreeBSD Services Ltd11 Lapwing CloseBicesterOX26 6XRRegno Unito
WWW: Hinner EDVSt. Augustinus-Str. 10D-81825MünchenGermania
Telefono: (089) 428 419
WWW: Ikarios22-24 rue Voltaire92000NanterreFrancia
WWW: Ingram Micro1600 E. St. Andrew PlaceSanta Ana, CA92705-4926Stati Uniti d'America
Telefono: 1 (800) 456-8000
WWW: JMC SoftwareIrlanda
Telefono: 353 1 6291282
WWW: The Linux EmporiumHilliard House, Lester WayWallingfordOX10 9TARegno Unito
Telefono: +44 1491 837010
Fax: +44 1491 837016
WWW: Linux System Labs Australia21 Ray DriveBalwyn NorthVIC - 3104Australia
Telefono: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW: UNIXDVD.COM LTD57 Primrose AvenueSheffieldS5 6FSRegno Unito
WWW: DistributoriSe sei un rivenditore e vuoi vendere i CDROM di FreeBSD, contatta
uno dei distributori seguenti:Cylogistics2672 Bayshore Parkway, Suite 610Mountain View, CA94043Stati Uniti d'America
Telefono: +1 650 694-4949
Fax: +1 650 694-4953
Email: sales@cylogistics.com
WWW: FreeBSD Services Ltd11 Lapwing CloseBicesterOX26 6XRRegno Unito
WWW: Kudzu, LLC7375 Washington Ave. S.Edina, MN55439Stati Uniti d'America
Telefono: +1 952 947-0822
Fax: +1 952 947-0876
Email: sales@kudzuenterprises.comNavarre Corp7400 49th Ave SouthNew Hope, MN55428Stati Uniti d'America
Telefono: +1 763 535-8333
Fax: +1 763 535-0341
WWW: Siti FTPI 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 AnonimoIntroduzioneIl 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 AnonimoLa 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.)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 () 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 . Si rimanda alla pagina man di
&man.cvs.1; per ulteriori dettagli.EsempiBenché 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 loginAlla richiesta, inserire la passwordanoncvs.
&prompt.user; cvs co ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logoutEstrazione 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 loginAlla richiesta, inserire la passwordanoncvs.
&prompt.user; cvs co -rRELENG_3 ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logoutCreazione 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 loginAlla richiesta, inserire la passwordanoncvs.
&prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls
&prompt.user; cvs logoutScoperta di Quali Altri Nomi di Moduli Possono Essere Usati:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAlla richiesta, inserire la passwordanoncvs.
&prompt.user; cvs co modules
&prompt.user; more modules/modules
&prompt.user; cvs release -d modules
&prompt.user; cvs logoutAltre RisorseLe 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 CTMCTM è 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.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: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 VoltaPrima 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
QuotidianaPer 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 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 LocaliAllo 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
CTMScoprire con Precisione Ciò che Dovrebbe Essere
AggiornatoPuoi determinare la lista delle modifiche che
CTM apporterà ai tuoi sorgenti
usando l'opzione 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 AggiornareQualche volta potresti voler creare dei backup di tutti i file
che saranno modificati da un aggiornamento di
CTM.Specificando l'opzione ,
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 AggiornatiQualche 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
.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
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 ad esso
applicate.Piani Futuri per CTMI 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 VarioEsiste una serie di delta per la collezione dei
ports, ma è ancora di poco interesse.Mirror CTMCTM/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;.California, Bay Area, sorgenti ufficialiSudafrica, server di backup per vecchie deltaTaiwan/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 CVSupIntroduzioneCVSup è 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.InstallazioneIl 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 CVSupIl 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-allQuali 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
.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
solamentetag=. 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
. 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.orgDevi 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 .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=/usrDove 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/cvsupQuesto 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 compressrelease=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-allIl File refuseCome 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
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 CVSupSei ora pronto per provare un aggiornamento. La riga di comando
per farlo è molto semplice:&prompt.root; cvsup supfiledove 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/destLa 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 supfileL'opzione 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 indica a
CVSup di visualizzare i dettagli di tutti
gli aggiornamenti dei file che avvengono. Esistono tre livelli
di verbosità, da a .
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 CVSupLe 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=cvsIl deposito CVS maestro di FreeBSD, incluso il codice di
crittografia.distrib release=cvsFile relativi alla distribuzione e al mirroring di
FreeBSD.doc-all release=cvsSorgenti del Manuale di FreeBSD e altra documentazione.
Questa collezione non include i file per il sito web di
FreeBSD.ports-all release=cvsLa 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=cvsApplicazioni per l'archiviazione.ports-astro release=cvsApplicazioni riguardanti l'astronomia.ports-audio release=cvsApplicazioni di supporto all'audio.ports-base release=cvsL'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=cvsBenchmark (applicazioni per valutare le
prestazioni del computer).ports-biology release=cvsBiologia.ports-cad release=cvsApplicazioni per la grafica computerizzata.ports-chinese release=cvsSupporto alla lingua cinese.ports-comms release=cvsSoftware per la comunicazione.ports-converters
release=cvsConvertitori di codici di caratteri.ports-databases
release=cvsDatabase.ports-deskutils
release=cvsCose che erano utilizzate sulla scrivania prima
che i computer furono inventati.ports-devel release=cvsUtility per il development.ports-dns release=cvsSoftware relativo al DNS.ports-editors release=cvsEditor.ports-emulators
release=cvsEmulatori per altri sistemi operativi.ports-finance release=cvsApplicazioni finanziarie, di gestione delle spese
e simili.ports-ftp release=cvsServer e client FTP.ports-games release=cvsGiochi.ports-german release=cvsSupporto alla lingua tedesca.ports-graphics release=cvsUtilità per la grafica.ports-hungarian
release=cvsSupporto alla lingua ungherese.ports-irc release=cvsUtilità IRC (Internet Relay Chat).ports-japanese release=cvsSupporto alla lingua giapponese.ports-java release=cvsUtility &java;.ports-korean release=cvsSupporto alla lingua coreana.ports-lang release=cvsLinguaggi di programmazione.ports-mail release=cvsSoftware di posta.ports-math release=cvsSoftware per la computazione numerica.ports-mbone release=cvsApplicazioni MBone.ports-misc release=cvsUtility varie.ports-multimedia
release=cvsSoftware multimediale.ports-net release=cvsSoftware di rete.ports-news release=cvsSoftware per USENET.ports-palm release=cvsSoftware di supporto per i vari
Palm.ports-polish release=cvsSupporto alla lingua polacca.ports-portuguese
release=cvsSupporto alla lingua portoghese.ports-print release=cvsSoftware per la stampa.ports-russian release=cvsSupporto alla lingua russa.ports-security release=cvsUtility per la sicurezza.ports-shells release=cvsShell a riga di comando.ports-sysutils release=cvsUtility di sistema.ports-textproc release=cvsUtility per la manipolazione del testo (non
include utility per la pubblicazione
computerizzata).ports-vietnamese
release=cvsSupporto alla lingua vietnamite.ports-www release=cvsSoftware relativo al World Wide Web.ports-x11 release=cvsPort per il supporto al sistema a finestre
X.ports-x11-clocks
release=cvsOrologi per X11.ports-x11-fm release=cvsGestori di file per X11.ports-x11-fonts
release=cvsFont per X11 e relative utility.ports-x11-toolkits
release=cvsCassette degli attrezzi per X11.ports-x11-serversServer X11.ports-x11-wmGestori di finestre per X11.src-all release=cvsI sorgenti correnti di FreeBSD, incluso il codice di
crittografia.src-base release=cvsVari file posti in
/usr/src.src-bin release=cvsUtility per l'utente in ambiente mono-utente
(/usr/src/bin).src-contrib release=cvsUtility e librerie al di fuori del progetto
FreeBSD, sostanzialmente utilizzati senza modifiche
(/usr/src/contrib).src-crypto release=cvsUtility e librerie per la crittografia al di fuori
del progetto FreeBSD, sostanzialmente utilizzati senza
modifiche
(/usr/src/crypto).src-eBones release=cvsKerberos e DES
(/usr/src/eBones).
Non usati nell'attuale release di FreeBSD.src-etc release=cvsFile di configurazione del sistema
(/usr/src/etc).src-games release=cvsGiochi
(/usr/src/games).src-gnu release=cvsUtility protette dalla licenza pubblica di GNU
(/usr/src/gnu).src-include release=cvsFile header
(/usr/src/include).src-kerberos5 release=cvsPacchetto di sicurezza Kerberos5
(/usr/src/kerberos5).src-kerberosIV release=cvsPacchetto di sicurezza KerberosIV
(/usr/src/kerberosIV).src-lib release=cvsLibrerie
(/usr/src/lib).src-libexec release=cvsProgrammi di sistema normalmente eseguiti da altri
programmi
(/usr/src/libexec).src-release release=cvsFile richiesti per produrre una release di FreeBSD
(/usr/src/release).src-sbin release=cvsUtility di sistema per la modalità
mono-utente
(/usr/src/sbin).src-secure release=cvsLibrerie e comandi per la crittografia
(/usr/src/secure).src-share release=cvsFile che possono essere condivisi tra sistemi
multipli (/usr/src/share).src-sys release=cvsIl kernel
(/usr/src/sys).src-sys-crypto release=cvsCodice di crittografia del kernel
(/usr/src/sys/crypto).src-tools release=cvsVari strumenti per il mantenimento di FreeBSD
(/usr/src/tools).src-usrbin release=cvsUtility per l'utente
(/usr/src/usr.bin).src-usrsbin release=cvsUtility di sistema
(/usr/src/usr.sbin).www release=cvsI sorgenti per il sito web di FreeBSD.distrib release=selfI file di configurazione del server
CVSup. Usati dai siti mirror
CVSup.gnats release=currentIl database GNATS per tener traccia dei bug.mail-archive release=currentArchivio delle mailing list di FreeBSD.www release=currentI file pre-processati del sito web di FreeBSD (non i file
sorgenti). Usati dai siti mirror WWW.Per Maggiori InformazioniPer 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 CVSupI server CVSup per FreeBSD si trovano
ai seguenti siti:
&chap.mirrors.cvsup.inc;
Tag CVSQuando 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 RamoTutti, con l'eccezione di HEAD (che è
sempre un valido tag), sono relativi all'albero
src/. Gli alberi ports/,
doc/, e www/ non sono
ramificati.HEADNome 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
+ cruciali.RELENG_5_1Il ramo di release per FreeBSD-5.1, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_5_0Il ramo di release per FreeBSD-5.0, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4La linea di sviluppo per FreeBSD-4.X, anche conosciuta come
FreeBSD-STABLE.RELENG_4_9Il ramo di release per FreeBSD-4.9, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4_8Il ramo di release per FreeBSD-4.8, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4_7Il ramo di release per FreeBSD-4.7, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4_6Il ramo di release per FreeBSD-4.6 e FreeBSD-4.6.2, usato solo
- per aggiornamenti relativi alla sicurezza e per altri fix seri e
+ per aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4_5Il ramo di release per FreeBSD-4.5, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4_4Il ramo di release per FreeBSD-4.4, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_4_3Il ramo di release per FreeBSD-4.3, usato solo per
- aggiornamenti relativi alla sicurezza e per altri fix seri e
+ aggiornamenti relativi alla sicurezza e per altri fix
cruciali.RELENG_3La line di sviluppo per FreeBSD-3.X, anche conosciuta come
3.X-STABLE.RELENG_2_2La linea di sviluppo per FreeBSD-2.2.X, anche conosciuta come
2.2-STABLE. Questo ramo è per la maggior parte
obsoleto.Tag di ReleaseQuesti 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_4_9_0_RELEASEFreeBSD 4.9RELENG_5_1_0_RELEASEFreeBSD 5.1RELENG_4_8_0_RELEASEFreeBSD 4.8RELENG_5_0_0_RELEASEFreeBSD 5.0RELENG_4_7_0_RELEASEFreeBSD 4.7RELENG_4_6_2_RELEASEFreeBSD 4.6.2RELENG_4_6_1_RELEASEFreeBSD 4.6.1RELENG_4_6_0_RELEASEFreeBSD 4.6RELENG_4_5_0_RELEASEFreeBSD 4.5RELENG_4_4_0_RELEASEFreeBSD 4.4RELENG_4_3_0_RELEASEFreeBSD 4.3RELENG_4_2_0_RELEASEFreeBSD 4.2RELENG_4_1_1_RELEASEFreeBSD 4.1.1RELENG_4_1_0_RELEASEFreeBSD 4.1RELENG_4_0_0_RELEASEFreeBSD 4.0RELENG_3_5_0_RELEASEFreeBSD-3.5RELENG_3_4_0_RELEASEFreeBSD-3.4RELENG_3_3_0_RELEASEFreeBSD-3.3RELENG_3_2_0_RELEASEFreeBSD-3.2RELENG_3_1_0_RELEASEFreeBSD-3.1RELENG_3_0_0_RELEASEFreeBSD-3.0RELENG_2_2_8_RELEASEFreeBSD-2.2.8RELENG_2_2_7_RELEASEFreeBSD-2.2.7RELENG_2_2_6_RELEASEFreeBSD-2.2.6RELENG_2_2_5_RELEASEFreeBSD-2.2.5RELENG_2_2_2_RELEASEFreeBSD-2.2.2RELENG_2_2_1_RELEASEFreeBSD-2.2.1RELENG_2_2_0_RELEASEFreeBSD-2.2.0Siti AFSI server AFS per FreeBSD sono in esecuzione nei seguenti siti:SveziaIl 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.seIl maintainer ftp@stacken.kth.seSiti rsyncI 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 Cecarsync://ftp.cz.FreeBSD.org/Collezioni disponibili:ftp: Un mirror parziale del server FTP di FreeBSD.FreeBSD: Un mirror completo del server FTP di
FreeBSD.Germaniarsync://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.Olandarsync://ftp.nl.FreeBSD.org/Collezioni disponibili:vol/3/freebsd-core: Un completo mirror del server FTP di
FreeBSD.Regno Unitorsync://rsync.mirror.ac.uk/Collezioni disponibili:ftp.FreeBSD.org: Un completo mirror del server FTP di
FreeBSD.Stati Uniti d'Americarsync://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 a3cb432ca1..5b87c1dce0 100644
--- a/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml
@@ -1,1544 +1,1698 @@
RossLippertScritto da MultimediaSinossiFreeBSD 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 un CD audio o un DVD video con il comando
+ 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.MosesMooreContributo di Configurazione della Scheda AudioRiconoscimento del Proprio DispositivoPCIISAschede audioPrima 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, 4231Yamaha OPL-SAxOPTi931Ensoniq AudioPCI 1370/1371ESS Solo-1/1ENeoMagic 256AV/ZX&soundblaster; Pro, 16, 32, AWE64, AWE128, LiveCreative ViBRA16Advance Asound 100, 110, e Logic ALS120ES 1868, 1869, 1879, 1888Gravis UltraSoundAureal Vortex 1 o 2kernelconfigurazionePer 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.kosia 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 ESSSe hai una delle suddette schede, dovrai aggiungere:device pcmal file di configurazione del kernel. Se hai una scheda ISA
PnP, dovrai aggiungere inoltre:device sbcPer una scheda ISA non PnP, aggiungi:device pcm
device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15al 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 UltraSoundPer una scheda ISA PnP, dovrai aggiungere:device pcm
device guscal 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 0x13al 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 SoundPer le schede Crystal, dovrai aggiungere:device pcm
device csaal file di configurazione del kernel.Supporto GenericoPer schede ISA o PCI PnP, dovrai aggiungere:device pcmal 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 0x0al file di configurazione del kernel. Potresti aver bisogno di
cambiare IRQ o altre impostazioni per identificare la tua
scheda.Sonoro IntegratoQualche sistema con dispositivi audio integrati nella scheda madre
può richiedere l'opzione seguente nella configurazione del
kernel:options PNPBIOSCreazione e Test dei DispositividispositiviDopo 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 sbc0L'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 snd0Se 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:DispositivoDescrizione/dev/audioDispositivo audio compatibile &sparc;/dev/dspDispositivo per la voce digitalizzata/dev/dspWCome /dev/dsp, ma con 16 bit per
canale/dev/midiDispositivo per l'accesso midi in modalità
diretta/dev/mixerDispositivo per il controllo del mixer/dev/musicInterfaccia di secondo livello al sequenziatore/dev/sequencerSequenziatore/dev/pssInterfaccia di dispositivo programmabileSe 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 1Varie applicazioni, come audio/workman offrono una migliore
interfaccia. Potresti voler installare una applicazione come
audio/mpg123 per ascoltare i file
audio MP3.Problemi ComunidispositiviI/O portIRQDSPErroreSoluzioneunsupported subdevice XXNon è stato creato correttamente qualche
dispositivo. Ripeti i precedenti passi.sb_dspwr(XX) timed outNon è 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
memoryNon 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.MunishChopraContributo 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=4L'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.ChernLeeContributo di Audio MP3Il formato MP3 (Audio MPEG Livello 3) raggiunge una qualità
audio vicino a quella dei CD, non lasciandoti motivi per non utilizzarlo
sulla tua workstation FreeBSD.Lettori MP3Da 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 CDPrima 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 -Bcdda2wav 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 7Il
indica il dispositivo SCSI 0,1,0, che
corrisponde all'output di cdrecord -scanbus.Per estrarre tracce singole, usa l'opzione come
mostrato:&prompt.root; cdda2wav -D 0,1,0 -t 7Questo 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+7L'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 MP3Al 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.mp3128 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
attiva il modo qualità migliore ma un
po' più lento". Le opzioni che iniziano con
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 MP3Per 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
+ Esegui mpg123 -s audio01.mp3
+ > audio01.pcmXMMS 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.rawLeggi per ulteriori informazioni su
come usare un masterizzatore con FreeBSD.RossLippertContributo di Riproduzione VideoLa 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/rdvdNota 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 rdvdSu 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/rdvdIn 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 kerneloptions CPU_ENABLE_SSEopzioni del kerneloptions USER_LDTAlcuni 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_LDToption 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=32768Determinazione delle Capacità VideoXVideoSDLDGACi 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 i815alcuni 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; xvinfoXVideo è 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, 0x0Inoltre 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 presentAllora 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 LayerIl 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/sdl12Direct Graphics AccessDirect 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 Videoport videopackage videoIn 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.MPlayerMPlayer è 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 MPlayerMPlayercompilazioneMPlayer è 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=yesAl 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 MPlayerMPlayerutilizzoOgni 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-userLe 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
:&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
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/dvdPer 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:
che abilita la modalità schermo
intero e 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=yesIn 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/dvdIl file ottenuto, out.vob, sarà
in formato MPEG e potrà manipolato da un'altro programma
descritto in questa sezione.mencodermencoderSe 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.aviCombinazioni 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 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.aviQuesto comando ha creato un file riproducibile con
mplayer e xine.Il parametro input.avi può
essere sostituito con 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 xineIl 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; xineAlternativamente, può essere invocato per aprire
firettamente un file senza l'interfaccia GUI, con il comando:&prompt.user; xine -g -p mymovie.aviLe Utility transcodeIl 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=yesSe 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=yesEcco 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 1Esiste 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 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 LettureI 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.Xtheatermultimedia/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 6b5f056c5f..558fda1aca 100644
--- a/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml
@@ -1,696 +1,711 @@
Chiavi PGPchiavi pgpNel 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.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.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.bsd;
&pgpkey.bsd;
&a.dd;
&pgpkey.dd;
+
+
+
+ &a.ale;
+ &pgpkey.ale;
&a.ue;
&pgpkey.ue;
&a.ru;
&pgpkey.ru;
&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.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.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.rushani;
&pgpkey.rushani;
+
+
+
+ &a.clement;
+ &pgpkey.clement;
&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.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.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.gsutter;
&pgpkey.gsutter;
&a.nyan;
&pgpkey.nyan;
&a.mi;
&pgpkey.mi;
&a.gordon;
&pgpkey.gordon;
+
+ &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/Makefile b/it_IT.ISO8859-15/books/handbook/ports/Makefile
index 053016daea..2bdc9665c2 100644
--- a/it_IT.ISO8859-15/books/handbook/ports/Makefile
+++ b/it_IT.ISO8859-15/books/handbook/ports/Makefile
@@ -1,15 +1,15 @@
#
# Crea il Manuale con il contenuto di solo questo capitolo.
#
# $FreeBSD$
#
-CHAPTERS= introduction/chapter.sgml
+CHAPTERS= ports/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"
diff --git a/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml b/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
index d6777663d2..6b9760ca75 100644
--- a/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
@@ -1,1235 +1,1239 @@
Installazione delle Applicazioni: Port e PackageSinossiportpackageFreeBSD è 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 SoftwareSe 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 autonomamemte (scaricare, scompattare, correggere,
+ 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 PackageIl 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 PortI 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;.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 ApplicazionePrima 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.FreshPortDan 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.FreshMeatSe 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.ChernLeeContributo diUtilizzo del Sistema dei PackageInstallazione di un Packagepackageinstallazionepkg_addPuoi 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.tgzSe 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
. 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 lsofL'esempio qui sopra scarica il giusto package e lo installa senza
nessun ulteriore intervento. &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 PackagepackagegestioneL'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 ottimizato per CVS
+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.SimboloSignificato=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 Packagepkg_deletepackagecancellarePer rimuovere un package installato in precedenza, usa l'utility
&man.pkg.delete.1;.&prompt.root; pkg_delete xchat-1.7.1MiscellaneaTutte 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 PortLe sezioni seguenti forniscono le istruzioni basilari sull'uso della
collezione dei port per installare e rimuovere programmi dal tuo
sistema.Ottenimento della Collezione dei PortPrima 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
la collezione dei port. Se hai rifiutato, puoi seguire queste
istruzioni per ottenerla:Il Metodo SysinstallQuesto 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/sysinstallScorri 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
+ 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 CVSupQuesto è 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-supfilePoco 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 PortportinstallazioneLa 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;.
+ 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/lsofQuesto 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
+ 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
+ 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.Installazione dei Port dal CDROMportinstallazione da CDROMLe 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/lsofUna 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 InternetQuesta 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
+ 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,
- giusto come 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.
+
+ 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 che non sia il MASTER_SITES
+ 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
- sequente:
+ seguente:&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 l'opzione
- MASTER_SITES a 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.
+
+ 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 DefaultQualche 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 installcompilerà il port in
/usr/home/example/ports e installerà ogni
cosa sotto /usr/local.&prompt.root; make PREFIX=/usr/home/example/local installcompilerà 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 imakeAlcuni port che usano imake (una parte del
sistema a finestre X) 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 queti port PREFIX è
+ Perl. Far rispettare a questi port PREFIX è
spesso un lavoro difficile o persino impossibile.Rimozione dei Port InstallatiportrimozioneOra 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 Discoportspazio su discoUsando la collezione dei port puoi facilmente esaurire lo spazio del
tuo disco. Per questa ragione dovresti sempre ricordarti di ripulire
- le directory di lavoro usando l'opzione make
+ le directory di lavoro dei port usando l'opzione make
clean. Questo rimuoverà la
- directory work usata per compilare ed installare il
- port. Inoltre puoi rimuovere i file tar dalla directory
- distfiles, e rimuovere i port installati che non
- sono più utilizzati.
+ 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 PortportupgradeportaggiornamentoMantenere 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
- utilità che fanno questo lavoro per noi. Per esempio l'utility
+ strumenti che fanno questo lavoro per noi. Per esempio l'utility
sysutils/portupgrade fa tutto questo!
Installalo come qualsiasi altro port, usando il comando
- make install clean command.
-
- Fatto ciò 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. Esistono altre utility che fanno simili lavori,
- controlla la directory ports/sysutils e guarda se
- ti viene qualche idea.
+ 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. Esistono
+ altre utility che fanno simili lavori, controlla la directory
+ ports/sysutils e guarda se ti viene qualche
+ idea.Attività del Dopo InstallazioneDi 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 | lessmostrerà 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 foopackagetroverà 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.0Una riga contenete WWW:, se presente, dovrebbe
fornire l'URL del sito dell'applicazione.
- I port che dovrebbero avviarsi in fase di avvio (come dei server
+ 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 Avvio dei Servizi
- per maggiori informazioni.
+ script ed eventualmente modificarlo o rinominarlo. Vedi la sezione
+ Avvio dei
+ Servizi per maggiori informazioni.Avere a che Fare con Port non FunzionantiSe 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/x11/Makefile b/it_IT.ISO8859-15/books/handbook/x11/Makefile
index 053016daea..46ca90e47b 100644
--- a/it_IT.ISO8859-15/books/handbook/x11/Makefile
+++ b/it_IT.ISO8859-15/books/handbook/x11/Makefile
@@ -1,15 +1,15 @@
#
# Crea il Manuale con il contenuto di solo questo capitolo.
#
# $FreeBSD$
#
-CHAPTERS= introduction/chapter.sgml
+CHAPTERS= x11/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"
diff --git a/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml b/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml
index 0e3cc9b5b0..6de7ecc4f8 100644
--- a/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml
+++ b/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml
@@ -1,62 +1,354 @@
L'X Window SystemSinossi
- Traduzione in corso
+ FreeBSD usa XFree86 per fornire agli utenti una potente
+ interfaccia grafica. XFree86 è una implementazione gratuita dell'X
+ Window System. Questo capitolo copre l'installazione e la
+ configurazione di XFree86 su un sistema FreeBSD. Per ulteriori
+ informazioni su XFree86 e sull'hardware che supporta, controlla il
+ sito web di XFree86.
+
+ Dopo aver letto questo capitolo, conoscerai:
+
+
+
+ I diversi componenti dell'X Window system, e come
+ questi cooperano.
+
+
+
+ Come installare e configurare XFree86.
+
+
+
+ Come installare ed usare diversi window manager.
+
+
+
+ Come usare i font TrueType in XFree86.
+
+
+
+ Come impostare il sistema per il login grafico (XDM).
+
+
+
+ Prima di leggere questo capitolo, dovresti:
+
+
+
+ Sapere come installare del software di terze parti ().
+
+
- Understanding X
- Traduzione in corso
+ Capire X
+
+ Usare X per la prima volta può essere talvolta scioccante per
+ quelli che hanno familiarità con altri ambienti grafici, come
+ Microsoft Windows o MacOS
+
+ Non é necessario capire tutti i dettagli dei diversi componenti
+ di X e come interagiscono; in ogni caso, una piccola conoscenza di base
+ rende possibile avvantaggiarsi delle funzionalità di X.
+
+
+ Perchè X?
+
+ X non è il primo window manager scritto per Unix, ma è
+ il più popolare.
+ Il gruppo di sviluppo di X aveva già lavorato ad un altro
+ sistema grafico prima di scrivere X. Il nome di quel sistema era
+ W (per Window). X è semplicemente
+ la lettera seguente nell'alfabeto Romano.
+
+ X può essere chiamato X, X Window
+ System, X11, e in altri modi. Chiamare X11
+ X Windows potrebbe dare fastidio a della gente; dà
+ un'occhiata a &man.X.1; per ulteriori informazioni su questo.
+
+
+
+ Il modello client/server di X
+
+ X è stato progettato fin dall'inizio per essere usato in
+ rete, e adotta un modello client-server.
+ Nel modello di X, il server X funziona sul computer che
+ ha tastiera, monitor e mouse attaccati. Il server è responsabile
+ del controllo del display, del trattamento dell'input dalla tastiera e
+ dal mouse, e così via. Ogni applicazione X (come
+ XTerm, o Netscape)
+ è un client. Un client spedisce messaggi al
+ server come Per favore disegna una finestra a queste
+ coordinate, e il server risponde con messaggi quali
+ L'utente ha appena premuto il bottone OK.
+
+ Se si tratta solo di un computer, come in una casa o in un
+ piccolo ufficio, il server X e i client X funzioneranno sullo stesso
+ computer. Ad ogni modo, è perfettamente possibile far funzionare
+ il server X su una macchina meno potente, e far funzionare le
+ applicazioni (i client) su di una macchina che serve l'ufficio.
+ In questo scenario le comunicazioni tra il client X e il server hanno
+ luogo attraverso la rete.
+
+ Questo confonde certa gente, perchè la terminologia di X
+ è proprio l'opposto di come ci si possa aspettare di solito.
+ Normalmente ci si aspetta che il server X sia la grossa e
+ potente macchina in fondo alla sala, e il client X sia la
+ macchina sulla propria scrivania.
+
+ Ricorda che il server X è la macchina con il monitor e la
+ tastiera, e i client X sono i programmi che mostrano le
+ finestre.
+
+ Non c'è nulla nel protocollo che obbliga la macchina client e
+ quella server ad utilizzare lo stesso sistema operativo, oppure a
+ funzionare sullo stesso tipo di computer. È certamente possibile
+ far funzionare un server X su Microsoft Windows o MacOS, e ci sono
+ diverse applicazioni free o commerciali che fanno esattamente
+ quello.
+
+ Il server X che viene fornito con FreeBSD è chiamato
+ XFree86, ed è disponibile
+ gratuitamente, sotto una licenza molto simile a quella di FreeBSD.
+ Server X commerciali per FreeBSD sono comunque disponibili.
+
+
+
+ Il Window Manager
+
+ La filosofia di design di X è molto simile a quella di Unix,
+ strumenti, non regole. Questo significa che X non prova
+ a dire come una azione debba essere compiuta. Invece, vengono forniti
+ degli strumenti all'utente, ed è quindi esponsabilitè
+ dell'utente decidere come usare questi strumenti.
+
+ Questa filosofia si estende al fatto che X non dice come le
+ finestre debbano comparire sullo schermo, né come queste debbano
+ essere spostate con il mouse, né quali tasti servano per muoversi
+ attraverso le finestre (ad esempio,
+ Alt
+ Tab
+ , nel caso di Windows), né che aspetto devono avere
+ le barre sopra ogni finestra, se queste hanno o meno bottoni di
+ chiusura, e così via.
+
+ Invece X delega questa responsabilitè ad una applicazione
+ chiamata Window Manager. Ci sono dozzine di window
+ manager disponibili per X; AfterStep,
+ Blackbox, ctwm,
+ Enlightenment,
+ fvwm, Sawfish,
+ twm, Window
+ Maker, ed altri. Ciascuno di questi window manager
+ fornisce un diverso aspetto ed ambiente; alcuni di questi supportano i
+ virtual desktop; alcuni consentono di avere delle
+ combinazioni di tasti predefinite per gestire il desktop; altri hanno
+ un pulsante Start o simile; altri possono avere dei
+ temi, permettendo un cambio completo di look-and-feel
+ applicando un nuovo tema. Questi window manager, e molti altri,
+ sono disponibili nella categoria x11-wm
+ dei Port.
+
+ Inoltre, i desktop environments KDE
+ e GNOME hanno tutti e due il proprio
+ window manager che si integra con il desktop.
+
+ Ciascun window manager inoltre ha a un proprio meccanismo di
+ configurazione; alcuni si aspettano di avere un file di configurazione
+ scritto a mano, altri hanno delle interfacce grafiche per molti dei
+ compiti di configurazione; almeno uno
+ (sawfish) ha un file di configurazione
+ scritto in un dialetto del linguaggio Lisp.
+
+
+ Regole di fuoco
+
+ Un'altra capacità che il window manager deve avere è
+ la cosiddetta focus policy, o Regola di fuoco.
+ Ogni sistema a finestre necessita di un modo per scegliere
+ la finestra che deve essere attiva e che deve ricevere le
+ comunicazioni da tastiera, e deve indicare univocamente
+ quale finestra è attiva in un determinato momento.
+
+ Una Focus policy familiare è chiamata
+ click-to-focus. Questo è il modello
+ utilizzato da Microsoft Windows, nel quale una finestra
+ diventa attiva dopo aver ricevuto un click del mouse.
+
+ X non supporta alcuna focus policy particolare. Invece
+ il Window Manager controlla quale finestra è attiva in
+ un determinato momento. Diversi Window manager supporteranno
+ diversi metodi di focus. Tutti supportano il click-to-focus,
+ e la maggioranza di questi ne supporta molti altri.
+
+ Le regole di fuoco più popolari sono:
+
+
+
+ focus-follows-mouse (o fuoco-segue-mouse)
+
+
+ La finestra su cui si trova il puntatore è quella
+ che riceve il fuoco. Questa potrebbe non essere
+ necesariamente la finestra che si trova davanti a tutte
+ le altre. Il fuoco cambia se si punta un'altra
+ finestra, e non c'è modo di fare click con il
+ mouse.
+
+
+
+
+ sloppy-focus
+
+
+ Questa policy è una piccola estensione della
+ focus-follows-mouse. Con focus-follows-mouse, se il mouse
+ viene mosso sulla finestra principale (o sullo sfondo), allora
+ nessuna finestra avrà il fuoco, e la pressione di un
+ tasto verrà semplicemente ignorata. Con Sloppy-focus, il
+ fuoco è solamente cambiato quando il cursore entra in
+ una nuova finestra, e non quando si esce dalla finestra
+ corrente.
+
+
+
+
+ click-to-focus
+
+
+ La finestra attiva è scelta dal click del mouse. La
+ finestra potrebbe essere allora alzata, ed
+ apparire davanti alle altre finestre. Tutte le pressioni dei
+ tasti saranno da quel momento dirette a questa finestra,
+ anche se il cursore viene spostato su un'altra
+ finestra.
+
+
+
+
+ Molti window manager supportano altre policy, come possono
+ avere variazioni sul tema. Per maggiori informazioni vi preghiamo
+ di consultare la documentazione stessa del window manager.
+
+
+
+
+ I Widget
+
+ L'approccio di X di fornire strumenti e non regole si estende
+ anche ai widget, cioè ai contenitori contenenti, sullo schermo,
+ le applicazioni.
+
+ Widget è un termine usato per tutte quelle
+ parti nell'interfaccia utente che possono essere cliccate o manipolate
+ in un certo modo; bottoni, checkboxes, radio buttons, icone, liste, e
+ così via. Windows li chiama invece
+ controlli.
+
+ Sia Microsoft Windows che Apple MacOS hanno delle regole strette
+ per i widget. Gli sviluppatori devono assicurarsi che tutte le loro
+ applicazioni condividano lo stesso stile. Con X, non si è
+ sentito un particolare bisogno di obbligare ad avere un particolare
+ stile grafico, o settare widgets a cui aderire.
+
+ Come risultato, non aspettatevi applicazioni per X che abbiano
+ lo stesso stile. Ci sono alcuni widgets popolari e le loro variazioni,
+ come l'originale Athena sviluppato dall'MIT,
+ Motif (dal quale è stato modellato il
+ widget presente su Microsoft windows, tutti angoli a doppio livello e
+ tre sfumature di grigio), OpenLook, ed
+ altri.
+
+ Molte applicazioni nuove di X di oggi usano un widget con
+ sembianze moderne, probabilmente Qt, usato da
+ KDE, o GTK,
+ usato da GNOME. Nel rispetto di questo,
+ c'è un accenno di convergenza nell'aspetto dei desktop UNIX,
+ il che facilita le cose ai nuovi utenti.
+
- Installing XFree86
+ Installazione di XFree86
- Traduzione in corso
+ Prima di installare XFree86, decidi quale versione utilizzare.
+ XFree86 3.X è un ramo di mantenimento
+ dello sviluppo di XFree86. È molto stabile, e supporta un grande
+ numero di schede grafiche. Ad ogni modo, non vi è alcuno sviluppo
+ ulteriore effettuato su questo software.
+ XFree86 4.X è un redesign completo del
+ sistema con molte nuove features come un miglior supporto per i font
+ e l'antialiasing. Sfortunatamente questa nuova architettura fa sì
+ che i driver per le schede video debbano essere riscritti, e alcune
+ delle schede video meno recenti che erano supportate nella 3.X è
+ possibile che non siano ancora supportate nella 4.X
+
+ Il programma di installazione di FreeBSD offre l'opportunità
+ di installare e configurare XFree86 3.3.6 durante l'installazione
+ (trattato in ). Per utilizzare
+ XFree86 4.X, aspetta finché il
+ sistema base è stato installato, quindi installa XFree86.
+ Per esempio, per compilare ed installare
+ XFree86 4.X dai port:
+
+ &prompt.root; cd /usr/ports/x11/XFree86-4
+&prompt.root; make all install clean
+
+ Alternativamente, XFree86 4.X può
+ essere installato da package binario con il comando
+ pkg_add direttamente dai binari FreeBSD forniti sul
+ sito di XFree86.
+
+ Il resto del capitolo spiegherà come configurare XFree86,
+ e come settare un ambiente desktop produttivo.XFree86 ConfigurationTraduzione in corsoUsing Fonts in XFree86Traduzione in corsoThe X Display ManagerTraduzione in corsoDesktop EnvironmentsTraduzione in corso
diff --git a/it_IT.ISO8859-15/share/sgml/catalog b/it_IT.ISO8859-15/share/sgml/catalog
index 91693f8109..d736b68913 100644
--- a/it_IT.ISO8859-15/share/sgml/catalog
+++ b/it_IT.ISO8859-15/share/sgml/catalog
@@ -1,26 +1,29 @@
-- ...................................................................... --
-- FreeBSD SGML Public Identifiers ...................................... --
-- ...................................................................... --
-- Italian specific ..................................................... --
-- $FreeBSD$
--
PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN"
"freebsd.dsl"
PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN"
"l10n.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//IT"
"mailing-lists.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//IT"
"bookinfo.ent"
PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//IT"
"freebsd.dsl"
PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"
"translators.ent"
+
+PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//IT"
+ "trademarks.ent"
diff --git a/it_IT.ISO8859-15/share/sgml/legalnotice.sgml b/it_IT.ISO8859-15/share/sgml/legalnotice.sgml
index 75d760a813..2b6df8d706 100644
--- a/it_IT.ISO8859-15/share/sgml/legalnotice.sgml
+++ b/it_IT.ISO8859-15/share/sgml/legalnotice.sgml
@@ -1,47 +1,47 @@
La ridistribuzione e l'uso come sorgente (SGML DocBook) e in forme
'compilate' (SGML, HTML, PDF, PostScript, RTF e cosí via) con o
senza modifiche, sono permessi a patto che le seguenti condizioni vengano
rispettate:Le ridistribuzioni del codice sorgente (SGML DocBook) devono
mantenere le suddette note sul copyright, questa lista di condizioni e
il seguente avviso, non modificati, come prime linee di questo
file.Le ridistribuzioni in forma compilata (trasformazioni in altri DTD,
conversioni in PDF, PostScript, RTF e altri formati) devono riportare le
suddette note di copyright, questa lista di condizioni e il seguente
avviso nella documentazione e/o in altri materiali forniti con la
distribuzione.QUESTA DOCUMENTAZIONE È FORNITA DAL FREEBSD ITALIAN
DOCUMENTATION PROJECT "COSÌ COM'È" E NON VIENE RICONOSCIUTA
NESSUNA GARANZIA ESPLICITA O IMPLICITA, INCLUSE, MA NON SOLO, LE GARANZIE
IMPLICITE DI COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO
PARTICOLARE. IN NESSUN CASO IL FREEBSD ITALIAN DOCUMENTATION PROJECT
POTRÀ ESSERE RITENUTO RESPONSABILE DI QUALSIASI DANNO DIRETTO,
INDIRETTO, ACCIDENTALE, SPECIALE, SIMBOLICO, O CONSEGUENTE (INCLUSI, MA
NON SOLO, L'ACQUISIZIONE DI BENI O SERVIZI SOSTITUTIVI; LA PERDITA
D'USABILITÀ, DI DATI O DI PROFITTI; O L'INTERRUZIONE DEL LAVORO)
COMUNQUE CAUSATO E SULLA BASE DI QUALUNQUE TEORIA DI
RESPONSABILITÀ, SIA CONTRATTUALE, SIA OGGETTIVA, SIA FONDATA
SULL'ILLECITO CIVILE (INCLUSA NEGLIGENZA O QUANT'ALTRO) DERIVANTE IN OGNI
MODO DALL'USO DI QUESTA DOCUMENTAZIONE, ANCHE SE AVVISATO DELLA
POSSIBILITÀ DI DETTO DANNO.
diff --git a/it_IT.ISO8859-15/share/sgml/mailing-lists.ent b/it_IT.ISO8859-15/share/sgml/mailing-lists.ent
index 4ea731f1c4..a8e7560c73 100644
--- a/it_IT.ISO8859-15/share/sgml/mailing-lists.ent
+++ b/it_IT.ISO8859-15/share/sgml/mailing-lists.ent
@@ -1,360 +1,364 @@
server delle liste di FreeBSD">
&a.mailman.listinfo;">
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 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 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">
diff --git a/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl b/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl
index a475359431..0e989e9ece 100644
--- a/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl
+++ b/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl
@@ -1,42 +1,37 @@
-
-
-
-
In caso di problemi, contatta l'hostmaster
di questo
dominio.aggiornato al
-
\ No newline at end of file
+
diff --git a/it_IT.ISO8859-15/share/sgml/trademarks.ent b/it_IT.ISO8859-15/share/sgml/trademarks.ent
new file mode 100644
index 0000000000..0cc69c86b2
--- /dev/null
+++ b/it_IT.ISO8859-15/share/sgml/trademarks.ent
@@ -0,0 +1,208 @@
+
+
+3Com e HomeConnect sono marchi registrati
+ della 3Com Corporation.">
+
+3ware e Escalade sono marchi registrati della
+ 3ware Inc.">
+
+Adaptec è un marchio registrato della
+ Adaptec, Inc.">
+
+Adobe, Acrobat, Acrobat Reader, e
+ PostScript sono marchi o marchi registrati della Adobe
+ Systems Incorporated negli Stati Uniti e/o in altri paesi.">
+
+AMD, Am486, Am5X86, AMD Athlon, AMD
+ Duron, AMD Opteron, AMD-K6, Élan, e PCnet sono marchi
+ della Advanced Micro Devices, Inc.">
+
+Apple, FireWire, Mac, Macintosh, Mac OS,
+ Quicktime, e TrueType sono marchi della Apple Computer, Inc.,
+ registrati negli Stati Uniti e in altri paesi.">
+
+ARM è un marchio registrato della ARM
+ Limited.">
+
+Il marchio Bluetooth è di
+ proprietà della Bluetooth SIG, Inc.">
+
+Broadcom è un marchio registrato della
+ Broadcom Corporation e/o delle sue sussidiarie.">
+
+Check Point, Firewall-1, e
+ VPN-1 sono marchi della Check Point Software Technologies Ltd..">
+
+Cisco, Catalyst, e IOS sono marchi registrati
+ della Cisco Systems, Inc. e/o delle sue affiliate negli Stati Uniti e in
+ certi altri paesi.">
+
+Corel and WordPerfect sono marchi o marchi
+ registrati della Corel Corporation e/o delle sue sussidiarie
+ in Canada, negli Stati Uniti e/o in altri paesi.">
+
+Sound Blaster è un marchio della
+ Creative Technology Ltd. negli Stati Uniti e/o in altri paesi.">
+
+CVSup è un marchio registrato di
+ John D. Polstra.">
+
+Dell, Dell Precision, Latitude,
+ Optiplex, PowerEdge sono marchi o marchi registrati della Dell
+ Computer Corporation">
+
+FreeBSD è un marchio registrato della
+ Wind River Systems, Inc. È previsto che cambi a breve.">
+
+Heidelberg, Helvetica,
+ Palatino, e Times Roman sono marchi o marchi registrati della
+ Heidelberger Druckmaschinen AG negli Stati Uniti e in altri paesi.">
+
+IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC,
+ PS/2, S/390, e ThinkPad sono marchi della International Business Machines
+ Corporation negli Stati Uniti, in altri paesi, o in entrambi.">
+
+IEEE, POSIX, e 802 sono marchi registrati
+ dell'Institute of Electrical and Electronics Engineers,
+ Inc. negli Stati Uniti.">
+
+Intel, Celeron, EtherExpress, i386,
+ i486, Itanium, Pentium, e Xeon sono marchi o marchi registrati della
+ Intel Corporation o delle sue sussidiarie negli Stati Uniti e in altri
+ paesi.">
+
+Intuit e Quicken sono marchi registrati
+ e/o marchi di servizi registrati della Intuit Inc., o una delle sue
+ sussidiarie, negli Stati Uniti e in altri paesi.">
+
+Iomega, Zip, e Jaz sono marchi o marchi
+ registrati della Iomega Corporation negli Stati Uniti e/o in altri
+ paesi.">
+
+Lantronix e EasyIO sono marchi della
+ Lantronix Corporation.">
+
+Linux è un marchio registrato di
+ Linus Torvalds negli Stati Uniti.">
+
+LSI Logic, AcceleRAID, eXtremeRAID,
+ MegaRAID e Mylex sono marchi o marchi registrati della LSI
+ Logic Corp.">
+
+Macromedia, Flash, e Shockwave sono
+ marchi o marchi registrati della Macromedia, Inc. negli Stati Uniti e/o
+ in altri paesi.">
+
+Microsoft, FrontPage, MS-DOS,
+ Outlook, Windows, Windows Media, and Windows NT are either
+ registered trademarks or trademarks of Microsoft Corporation in the
+ United States and/or other countries.">
+
+MIPS and R4000 are registered
+ trademarks of MIPS Technologies, Inc. in the United States and other
+ countries.">
+
+MySQL is a registered trademark of
+ MySQL AB in the United States, the European Union and other
+ countries.">
+
+M-Systems and DiskOnChip are
+ trademarks or registered trademarks of M-Systems Flash Disk
+ Pioneers, Ltd.">
+
+Netscape e Netscape Navigator
+ sono marchi registrati della Netscape Communications Corporation negli
+ Stati Uniti e in altri paesi.">
+
+GateD e NextHop sono marchi registrati e non
+ registrati della NextHop negli Stati Uniti e in altri paesi.">
+
+NetWare, NetWare Loadable Module, e
+ NLM sono marchi o marchi registrati della Novell,
+ Inc. negli Stati Uniti e in altri paesi.">
+
+Motif, OSF/1, e UNIX sono marchi
+ registrati e IT DialTone e The Open Group sono marchi del The Open Group
+ negli Stati Uniti e in altri paesi.">
+
+Oracle è un marchio registrato della
+ Oracle Corporation.">
+
+PowerQuest e PartitionMagic sono marchi
+ registrati della PowerQuest Corporation negli Stati Uniti e/o in altri
+ paesi.">
+
+QUALCOMM e Eudora sono marchi registrati
+ della QUALCOMM Incorporated.">
+
+RealNetworks, RealPlayer, e
+ RealAudio sono marchi registrati della RealNetworks, Inc.">
+
+Red Hat e RPM sono marchi o marchi registrati
+ della Red Hat, Inc. negli Stati Uniti e in altri paesi.">
+
+SAP, R/3, e mySAP sono marchi o marchi
+ registrati della SAP AG in Germania e in molti altri paesi in tutto il
+ mondo.">
+
+Silicon Graphics, SGI, e OpenGL sono marchi
+ registrati della Silicon Graphics, Inc., negli Stati Uniti e/o in altri
+ paesi in tutto il mondo.">
+
+Sparc, Sparc64, SPARCEngine, e
+ UltraSPARC sono marchi SPARC International, Inc negli Stati Uniti e in
+ altri paesi. I prodotti che portano il marchio SPARC sono basati su
+ architettura sviluppata dalla Sun Microsystems, Inc.">
+
+Sun, Sun Microsystems, Java, Java Virtual Machine,
+ JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice,
+ Sun Blade, Sun Enterprise, Sun Fire, SunOS, e Ultra sono marchi o marchi
+ registrati della Sun Microsystems, Inc. negli Stati Uniti e in altri
+ paesi.">
+
+Symantec e Ghost sono marchi registrati
+ della Symantec Corporation negli Stati Uniti e in altri paesi.">
+
+MATLAB è un marchio registrato
+ della The MathWorks, Inc.">
+
+SpeedTouch è un marchio di
+ Thomson">
+
+Transmeta e Crusoe sono marchi o marchi
+ registrati della Transmeta Corporation negli Stati Uniti e/o in altri
+ paesi.">
+
+U.S. Robotics e Sportster sono marchi
+ registrati della U.S. Robotics Corporation.">
+
+Waterloo Maple e Maple sono marchi
+ o marchi registrati della Waterloo Maple Inc.">
+
+Mathematica è un marchio
+ registrato della Wolfram Research, Inc.">
+
+VMware è un marchio della VMware,
+ Inc.">
+
+XFree86 è un marchio della The
+ XFree86 Project, Inc.">
+
+Ogg Vorbis e Xiph.Org sono marchi di
+ Xiph.Org.">
+
+Molti dei nomi identificativi usati dai
+ produttori e dai venditori per distinguere i loro prodotti sono anche dei
+ marchi. Quando questi nomi appaiono nel libro, e il FreeBSD Project
+ è al corrente del marchio, vengono fatti seguire dal simbolo
+ ™ o ®.">
\ No newline at end of file
diff --git a/it_IT.ISO8859-15/share/sgml/trademarks.sgml b/it_IT.ISO8859-15/share/sgml/trademarks.sgml
index 2e0dd31326..55f55c3533 100644
--- a/it_IT.ISO8859-15/share/sgml/trademarks.sgml
+++ b/it_IT.ISO8859-15/share/sgml/trademarks.sgml
@@ -1,36 +1,36 @@
- FreeBSD è un marchio registrato da Wind River Systems,
+ FreeBSD è un marchio registrato della Wind River Systems,
Inc. È previsto che cambi a breve.
- UNIX è un marchio registrato da The Open Group negli
+ UNIX è un marchio registrato del The Open Group negli
Stati Uniti e in altri paesi.Sun, Sun Microsystems, SunOS, Solaris, e Java sono marchi o
- marchi registrati da Sun Microsystems, Inc. negli Stati Uniti e in
+ marchi registrati della Sun Microsystems, Inc. negli Stati Uniti e in
altri paesi.
- Apple e QuickTime sono marchi dalla Apple Computer, Inc., registrati
+ Apple e QuickTime sono marchi della Apple Computer, Inc., registrati
negli Stati Uniti e in altri paesi.
- Macromedia e Flash sono marchi o marchi registrati da Macromedia, Inc.
- negli Stati Uniti e in altri paesi.
+ Macromedia e Flash sono marchi o marchi registrati della Macromedia,
+ Inc. negli Stati Uniti e in altri paesi.Microsoft, Windows, e Windows Media sono marchi o marchi resgistrati
- dalla Microsoft Corporation negli Stati Uniti e in altri paesi.
+ della Microsoft Corporation negli Stati Uniti e in altri paesi.
- PartitionMagic è un marchio registrato dalla PowerQuest
+ PartitionMagic è un marchio registrato della PowerQuest
Corporation negli Stati Uniti e in altri paesi.Molti dei nomi identificativi usati dai produttori e dai
venditori per distinguere i loro prodotti sono anche dei marchi.
Quando questi nomi appaiono nel libro, e il FreeBSD Project
è al corrente del marchio, vengono fatti seguire dal simbolo
'™'.
diff --git a/it_IT.ISO8859-15/share/sgml/translators.ent b/it_IT.ISO8859-15/share/sgml/translators.ent
index 2ff63cf7ee..e05c718716 100644
--- a/it_IT.ISO8859-15/share/sgml/translators.ent
+++ b/it_IT.ISO8859-15/share/sgml/translators.ent
@@ -1,33 +1,34 @@
sysadmin@alexdupre.com">
andrea_bsd@virgilio.it">
carla@cct.it">
sepry@tin.it">
daniele@cct.it">
daniele@keybit.net">
ale@unixmania.net">
eugenio@openbeer.it">
ferruccio.vitale@tin.it">
gabrielef@zeropiu.it">
gmarco@scotty.masternet.it">
inzet@gufi.org">
kaosweb@yahoo.it">
lapo@lapo.it">
luca@xunil.it">
mark@remotelab.org">
matteo.niccoli@softecspa.it">
-stucchi@willystudios.com">
+max@gufi.org">
nivit@libero.it">
rodario@libero.it">
rudy@tzone.it">
bartequi@neomedia.it">
sriva@gufi.org">
+stefano@merlinobbs.net">
surrender_it@yahoo.it">
vdaelli@hotmail.com">
diff --git a/it_IT.ISO8859-15/share/sgml/transtable-local.xsl b/it_IT.ISO8859-15/share/sgml/transtable-local.xsl
index f1004669ed..cd1a788434 100644
--- a/it_IT.ISO8859-15/share/sgml/transtable-local.xsl
+++ b/it_IT.ISO8859-15/share/sgml/transtable-local.xsl
@@ -1,23 +1,18 @@
-
-
-
-
-
\ No newline at end of file
+
diff --git a/it_IT.ISO8859-15/share/sgml/transtable.xml b/it_IT.ISO8859-15/share/sgml/transtable.xml
index b5040c6a88..5c012a8e32 100644
--- a/it_IT.ISO8859-15/share/sgml/transtable.xml
+++ b/it_IT.ISO8859-15/share/sgml/transtable.xml
@@ -1,266 +1,330 @@
$FreeBSD$
-
- Central Servers
- Server Centrali
-
-
-
- Primary Mirror Sites
- Siti Mirror Primari
-
-
-
- Argentina
- Argentina
-
-
-
- Australia
- Australia
-
-
-
- Austria
- Austria
-
-
-
- Belgium
- Belgio
-
-
-
- Brazil
- Brasile
-
-
-
- Bulgaria
- Bulgaria
-
-
-
- Canada
- Canada
-
-
-
- China
- Cina
-
-
-
- Croatia
- Croazia
-
-
-
- Czech Republic
- Repubblica Ceca
-
-
-
- Denmark
- Danimarca
-
-
-
- Estonia
- Estonia
-
-
-
- Finland
- Finlandia
-
-
-
- France
- Francia
-
-
-
- Germany
- Germania
-
-
-
- Greece
- Grecia
-
-
-
- Hong Kong
- Hong Kong
-
-
-
- Hungary
- Ungheria
-
-
-
- Iceland
- Islanda
-
-
-
- Ireland
- Irlanda
-
-
-
- Italy
- Italia
-
-
-
- Japan
- Giappone
-
-
-
- Korea
- Corea
-
-
-
- Kuwait
- Kuwait
-
-
-
- Latvia
- Lettonia
-
-
-
- Lithuania
- Lituania
-
-
-
- Netherlands
- Olanda
-
-
-
- New Zealand
- Nuova Zelanda
-
-
-
- Norway
- Norvegia
-
-
-
- Philippines
- Filippine
-
-
-
- Poland
- Polonia
-
-
-
- Portugal
- Portogallo
-
-
-
- Romania
- Romania
-
-
-
- Russia
- Russia
-
-
-
- San Marino
- San Marino
-
-
-
- Saudi Arabia
- Arabia Saudita
-
-
-
- Singapore
- Singapore
-
-
-
- Slovak Republic
- Repubblica Slovacca
-
-
-
- Slovenia
- Slovenia
-
-
-
- South Africa
- Sud Africa
-
-
-
- Spain
- Spagna
-
-
-
- Sweden
- Svezia
-
-
-
- Switzerland
- Svizzera
-
-
-
- Taiwan
- Taiwan
-
-
-
- Turkey
- Turchia
-
-
-
- Ukraine
- Ucraina
-
-
-
- United Kingdom
- Regno Unito
-
-
-
- USA
- USA
-
-
\ No newline at end of file
+
+
+ Central Servers
+ Server Centrali
+
+
+
+ Primary Mirror Sites
+ Siti Mirror Primari
+
+
+
+ Argentina
+ Argentina
+
+
+
+ Australia
+ Australia
+
+
+
+ Austria
+ Austria
+
+
+
+ Belgium
+ Belgio
+
+
+
+ Brazil
+ Brasile
+
+
+
+ Bulgaria
+ Bulgaria
+
+
+
+ Canada
+ Canada
+
+
+
+ China
+ Cina
+
+
+
+ Croatia
+ Croazia
+
+
+
+ Czech Republic
+ Repubblica Ceca
+
+
+
+ Denmark
+ Danimarca
+
+
+
+ Estonia
+ Estonia
+
+
+
+ Finland
+ Finlandia
+
+
+
+ France
+ Francia
+
+
+
+ Germany
+ Germania
+
+
+
+ Greece
+ Grecia
+
+
+
+ Hong Kong
+ Hong Kong
+
+
+
+ Hungary
+ Ungheria
+
+
+
+ Iceland
+ Islanda
+
+
+
+ Ireland
+ Irlanda
+
+
+
+ Italy
+ Italia
+
+
+
+ Japan
+ Giappone
+
+
+
+ Korea
+ Corea
+
+
+
+ Kuwait
+ Kuwait
+
+
+
+ Latvia
+ Lettonia
+
+
+
+ Lithuania
+ Lituania
+
+
+
+ Netherlands
+ Olanda
+
+
+
+ New Zealand
+ Nuova Zelanda
+
+
+
+ Norway
+ Norvegia
+
+
+
+ Philippines
+ Filippine
+
+
+
+ Poland
+ Polonia
+
+
+
+ Portugal
+ Portogallo
+
+
+
+ Romania
+ Romania
+
+
+
+ Russia
+ Russia
+
+
+
+ San Marino
+ San Marino
+
+
+
+ Saudi Arabia
+ Arabia Saudita
+
+
+
+ Singapore
+ Singapore
+
+
+
+ Slovak Republic
+ Repubblica Slovacca
+
+
+
+ Slovenia
+ Slovenia
+
+
+
+ South Africa
+ Sud Africa
+
+
+
+ Spain
+ Spagna
+
+
+
+ Sweden
+ Svezia
+
+
+
+ Switzerland
+ Svizzera
+
+
+
+ Taiwan
+ Taiwan
+
+
+
+ Turkey
+ Turchia
+
+
+
+ Ukraine
+ Ucraina
+
+
+
+ United Kingdom
+ Regno Unito
+
+
+
+ USA
+ USA
+
+
+
+
+
+ 1
+ Gennaio
+
+
+
+ 2
+ Febbraio
+
+
+
+ 3
+ Marzo
+
+
+
+ 4
+ Aprile
+
+
+
+ 5
+ Maggio
+
+
+
+ 6
+ Giugno
+
+
+
+ 7
+ Luglio
+
+
+
+ 8
+ Agosto
+
+
+
+ 9
+ Settembre
+
+
+
+ 10
+ Ottobre
+
+
+
+ 11
+ Novembre
+
+
+
+ 12
+ Dicembre
+
+
+