diff options
author | Marc Fonvieille <blackend@FreeBSD.org> | 2002-09-22 10:47:32 +0000 |
---|---|---|
committer | Marc Fonvieille <blackend@FreeBSD.org> | 2002-09-22 10:47:32 +0000 |
commit | 68f259f776fb0dacf717d95068db7a4f4b5ba938 (patch) | |
tree | d0072fe3394d0a4e75d7f91dd0db29790fde1569 | |
parent | ae21ca12d7c83079d8557a819784f6858a05e551 (diff) | |
download | doc-68f259f776fb0dacf717d95068db7a4f4b5ba938.tar.gz doc-68f259f776fb0dacf717d95068db7a4f4b5ba938.zip |
New translations: committers-guide, euro, explaining-bsd and multi-os.
PR: docs/42926
Submitted by: Alex Dupre <sysadmin@alexdupre.com>
Notes
Notes:
svn path=/head/; revision=14348
-rw-r--r-- | it_IT.ISO8859-15/articles/Makefile | 7 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/Makefile.inc | 2 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/committers-guide/Makefile | 29 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/committers-guide/article.sgml | 1509 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/euro/Makefile | 14 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/euro/article.sgml | 383 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/explaining-bsd/Makefile | 14 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/explaining-bsd/article.sgml | 593 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/multi-os/Makefile | 14 | ||||
-rw-r--r-- | it_IT.ISO8859-15/articles/multi-os/article.sgml | 761 |
10 files changed, 3323 insertions, 3 deletions
diff --git a/it_IT.ISO8859-15/articles/Makefile b/it_IT.ISO8859-15/articles/Makefile index 6e8de39901..a92958dd1c 100644 --- a/it_IT.ISO8859-15/articles/Makefile +++ b/it_IT.ISO8859-15/articles/Makefile @@ -1,10 +1,13 @@ # $FreeBSD$ SUBDIR = +SUBDIR+= committers-guide +SUBDIR+= euro +SUBDIR+= explaining-bsd SUBDIR+= filtering-bridges +SUBDIR+= multi-os SUBDIR+= new-users -# ROOT_SYMLINKS+= new-users - DOC_PREFIX?= ${.CURDIR}/../.. + .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/Makefile.inc b/it_IT.ISO8859-15/articles/Makefile.inc index 634a769c39..0ff2b6dcad 100644 --- a/it_IT.ISO8859-15/articles/Makefile.inc +++ b/it_IT.ISO8859-15/articles/Makefile.inc @@ -1,4 +1,4 @@ -# +# # $FreeBSD$ # diff --git a/it_IT.ISO8859-15/articles/committers-guide/Makefile b/it_IT.ISO8859-15/articles/committers-guide/Makefile new file mode 100644 index 0000000000..a48603f040 --- /dev/null +++ b/it_IT.ISO8859-15/articles/committers-guide/Makefile @@ -0,0 +1,29 @@ +# +# $FreeBSD$ +# +# Crea la Nuova Guida per i Committer di FreeBSD +# + +MAINTAINER=sysadmin@alexdupre.com + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +JADEFLAGS+= -V %generate-article-toc% + +# +# SRCS lista i singoli files SGML che compongono il documento. Modifiche +# a qualunque di questi files obbligano la ricreazione +# + +# Contenuto SGML +SRCS= article.sgml + +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" + diff --git a/it_IT.ISO8859-15/articles/committers-guide/article.sgml b/it_IT.ISO8859-15/articles/committers-guide/article.sgml new file mode 100644 index 0000000000..9744e83a5e --- /dev/null +++ b/it_IT.ISO8859-15/articles/committers-guide/article.sgml @@ -0,0 +1,1509 @@ +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ + Original revision: 1.133 +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> +%man; + +<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN"> +%freebsd; + +<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> +%authors; + +<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//EN"> +%teams; + +<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//IT"> +%mailing-lists; + +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"> +%translators; +]> + +<article lang="it"> + <articleinfo> + <title>Guida del Committer</title> + + <authorgroup> + <author> + <surname>The FreeBSD Italian Documentation Project</surname> + </author> + </authorgroup> + + <pubdate>$FreeBSD$</pubdate> + + <copyright> + <year>1999</year> + + <year>2000</year> + + <year>2001</year> + + <year>2002</year> + + <holder>The FreeBSD Italian Documentation Project</holder> + </copyright> + + <abstract> + <para>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.</para> + + <para>Traduzione a cura di &a.it.alex;.</para> + </abstract> + </articleinfo> + + <sect1 id="admin"> + <title>Dettagli Amministrativi</title> + + <informaltable frame="none" orient="port"> + <tgroup cols="2"> + <tbody> + <row> + <entry><emphasis>Host con il Repository + Principale</emphasis></entry> + + <entry><hostid>freefall.FreeBSD.org</hostid></entry> + </row> + + <row> + <entry><emphasis>Metodi di Accesso</emphasis></entry> + + <entry>&man.ssh.1;</entry> + </row> + + <row> + <entry><emphasis>CVSROOT Principale</emphasis></entry> + + <entry><filename>/home/ncvs</filename></entry> + </row> + + <row> + <entry><emphasis>&a.cvs; Principali</emphasis></entry> + + <entry>&a.peter; e &a.markm;, così come &a.joe; per i + <filename>ports/</filename></entry> + </row> + + <row> + <entry><emphasis>Mailing List</emphasis></entry> + + <entry>&a.developers;, &a.committers;</entry> + </row> + + <row> + <entry><emphasis>Tag CVS Degni di Nota</emphasis></entry> + + <entry><literal>RELENG_4</literal> (4.X-STABLE), + <literal>HEAD</literal> (-CURRENT)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>È richiesto l'uso di &man.ssh.1; o &man.telnet.1; con + Kerberos 5 per connettersi agli 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 <xref linkend="ssh.guide">.</para> + </sect1> + + <sect1 id="committer.types"> + <title>Tipi di Bit di Commit</title> + + <para>Il repository CVS di FreeBSD ha un numero di componenti che, se + combinati, supportano i sorgenti di base del sistema operativo, la + documentazione, l'infrastruttura dei port delle applicazioni di terze + parti, e vari programmi di utilità. Quando vengono assegnati i bit + di commit di FreeBSD, vengono specificate le aree dell'albero dove il bit + può essere usato. Solitamente, le aree associate a un bit + corrispondono a quelle di chi ha autorizzato l'assegnamento del bit di + commit. Ulteriori aree di autorità possono essere aggiunte in + seguito: se occorrerà, il committer dovrà seguire le + normali procedure di allocazione del bit di commit per quell'area + dell'albero, chiedendo l'approvazione all'entità appropriata e + possibilmente prendendo un mentore per quell'area per un po' di + tempo.</para> + + <informaltable frame="none"> + <tgroup cols="3"> + <tbody> + <row> + <entry><emphasis>Tipo di Committer</emphasis></entry> + + <entry><emphasis>Responsabile</emphasis></entry> + + <entry><emphasis>Componenti dell'Albero</emphasis></entry> + </row> + + <row> + <entry>src</entry> + + <entry>core@</entry> + + <entry>src/, doc/ soggetta ad appropriata revisione</entry> + </row> + + <row> + <entry>doc</entry> + + <entry>nik@</entry> + + <entry>doc/, src/ documentazione</entry> + </row> + + <row> + <entry>ports</entry> + + <entry>portmgr@</entry> + + <entry>ports/</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>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.</para> + + <para>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.</para> + </sect1> + + <sect1 id="cvs.operations"> + <title>Operazioni sul CVS</title> + + <para>Si assume che tu abbia già familiarità con le operazioni + di base di CVS.</para> + + <para>I &a.cvs; sono i <quote>proprietari</quote> del repository CVS e sono + responsabili di <emphasis>tutte</emphasis> le sue modifiche dirette allo + scopo di ripulire o sistemare dei gravi abusi di CVS da parte di un + committer. Nessun altro deve provare a toccare il repository + direttamente. Nel caso dovessi causare qualche problema al repository, + diciamo una errata operazione di <command>cvs import</command> o + <command>cvs tag</command>, <emphasis role="bold">non</emphasis> cercare + di sistemarla da solo! + Invia un messaggio ai &a.cvs; (o chiama uno di loro) ed esponi il problema + ad uno di loro invece. Gli unici che hanno il permesso di manipolare + direttamente i bit del repository sono i + <quote>repomeister</quote>.</para> + + <para>Le operazioni sul CVS solitamente sono fatte loggandosi su + <hostid>freefall</hostid>, assicurandosi che la variabile di ambiente + <envar>CVSROOT</envar> sia impostata a <filename>/home/ncvs</filename>, e + quindi effettuando le appropriate operazioni di check-out/check-in. + Se desideri aggiungere qualcosa di totalmente nuovo (ad esempio dei + sorgenti in contrib, ecc.), deve essere usato <command>cvs + import</command>. Guarda come riferimento la pagina man di &man.cvs.1; + per l'utilizzo.</para> + + <para>Tieni presente che quando usi CVS su <hostid>freefall</hostid>, devi + impostare la tua <literal>umask</literal> a <literal>2</literal>, + così come la variabile di ambiente <envar>CVSUMASK</envar> a + <literal>2</literal>. Questo assicura che ogni nuovo file creato tramite + <command>cvs add</command> abbia i corretti permessi. + Se aggiungi un file o una directory e scopri che il file nel repository + ha i permessi errati (per essere precisi, tutti i file nel repository + dovrebbero essere modificabili dal gruppo <literal>ncvs</literal>), + contatta uno dei meister del repository come descritto sopra.</para> + + <para>Se sei abituato ad usare CVS da remoto e ti consideri abbastanza + pratico di CVS in generale, puoi anche effettuare le operazioni sul CVS + direttamente dalla tua macchina e dai tuoi sorgenti locali. + Ricordati solo di impostare <envar>CVS_RSH</envar> a + <literal>ssh</literal> così da usare un metodo di trasferimento + relativamente sicuro ed affidabile. Se non hai idea del significato di + quello che ho appena detto, allora continua a loggarti su + <hostid>freefall</hostid> ed ad applicare le tue diff con + &man.patch.1;.</para> + + <para>Se devi usare le operazioni <command>add</command> e + <command>delete</command> di CVS come se fosse un'operazione &man.mv.1;, + allora va effettuata una copia nel repository piuttosto che usare + <command>add</command> e <command>delete</command> di CVS. In una + copia nel repository, un <link linkend="conventions">CVS Meister</link> + 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.</para> + + <para>Informazioni di riferimento, tutorial, e FAQ su CVS possono + essere trovate su: <ulink + url="http://www.cvshome.org/docs/">http://www.cvshome.org/docs/</ulink>, + e anche le informazioni contenute nei <ulink + url="http://cvsbook.red-bean.com/cvsbook.html">capitoli di Karl Fogel + da <quote>Open Source Development with CVS</quote></ulink> sono molto + utili.</para> + + <para>&a.des; ha fornito inoltre il seguente <quote>mini manuale</quote> su + CVS.</para> + + <orderedlist> + <listitem> + <para>Effettua il check out di un modulo con il comando + <command>co</command> o <command>checkout</command>.</para> + + <screen>&prompt.user; <userinput>cvs checkout shazam</userinput></screen> + + <para>Questo estrae una copia del modulo <filename>shazam</filename>. Se + non c'è alcun modulo <filename>shazam</filename> nel file dei + moduli, cercherà allora una directory di primo livello chiamata + <filename>shazam</filename>.</para> + + <table frame="none"> + <title>Opzioni utili con <command>cvs checkout</command></title> + + <tgroup cols=2> + <tbody> + <row> + <entry><option>-P</option></entry> + + <entry>Non crea le directory vuote</entry> + </row> + + <row> + <entry><option>-l</option></entry> + + <entry>Estrae solo un livello, non le sottodirectory</entry> + </row> + + <row> + <entry><option>-r<replaceable>ver</replaceable></option></entry> + + <entry>Estrai la versione, il ramo, o il tag + <replaceable>ver</replaceable></entry> + </row> + + <row> + <entry><option>-D<replaceable>data</replaceable></option></entry> + + <entry>Estrai i sorgenti com'erano in data + <replaceable>data</replaceable></entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Esempi pratici su FreeBSD:</para> + + <itemizedlist> + <listitem> + <para>Estrai il modulo <filename>miscfs</filename>, che + corrisponde a <filename>src/sys/miscfs</filename>:</para> + + <screen>&prompt.user; <userinput>cvs co miscfs</userinput></screen> + + <para>Ora hai una directory chiamata <filename>miscfs</filename> + con le sottodirectory <filename>CVS</filename>, + <filename>deadfs</filename>, <filename>devfs</filename>, e + così via. Una di queste (<filename>linprocfs</filename>) + è vuota.</para> + </listitem> + + <listitem> + <para>Estrai gli stessi file, ma con il percorso completo:</para> + + <screen>&prompt.user; <userinput>cvs co src/sys/miscfs</userinput></screen> + + <para>Ora hai una directory chiamata <filename>src</filename>, + con le sottodirectory <filename>CVS</filename> e + <filename>sys</filename>. <filename>src/sys</filename> ha le + sottodirectory <filename>CVS</filename> e + <filename>miscfs</filename>, ecc.</para> + </listitem> + + <listitem> + <para>Estrai gli stessi file, ma elimina le directory vuote:</para> + + <screen>&prompt.user; <userinput>cvs co -P miscfs</userinput></screen> + + <para>Ora hai una directory chiamata <filename>miscfs</filename> + con le sottodirectory <filename>CVS</filename>, + <filename>deadfs</filename>, <filename>devfs</filename>... ma nota + che non c'è nessuna sottodirectory + <filename>linprocfs</filename>, perché non contiene alcun + file.</para> + </listitem> + + <listitem> + <para>Estrai la directory <filename>miscfs</filename>, ma nessuna + delle sue sottodirectory:</para> + + <screen>&prompt.user; <userinput>cvs co -l miscfs</userinput></screen> + + <para>Ora hai una a directory chiamata <filename>miscfs</filename> + con solo una sottodirectory chiamata + <filename>CVS</filename>.</para> + </listitem> + + <listitem> + <para>Estrai il modulo <filename>miscfs</filename> com'è nel + ramo 4.X:</para> + + <screen>&prompt.user; <userinput>cvs co -rRELENG_4 miscfs</userinput></screen> + + <para>Puoi modificare i sorgenti ed effettuare il commit su questo + ramo.</para> + </listitem> + + <listitem> + <para>Estrai il modulo <filename>miscfs</filename> com'era nella + 3.4-RELEASE.</para> + + <screen>&prompt.user; <userinput>cvs co -rRELENG_3_4_0_RELEASE miscfs</userinput></screen> + + <para>Non potrai effettuare il commit delle modifiche, visto che + <literal>RELENG_3_4_0_RELEASE</literal> corrisponde ad un + preciso istante di tempo, non a un ramo.</para> + </listitem> + + <listitem> + <para>Estrai il modulo <filename>miscfs</filename> com'era il 15 + gennaio 2000.</para> + + <screen>&prompt.user; <userinput>cvs co -D'01/15/2000' miscfs</userinput></screen> + + <para>Non potrai effettuare modifiche.</para> + </listitem> + + <listitem> + <para>Estrai il modulo <filename>miscfs</filename> com'era una + settimana fa.</para> + + <screen>&prompt.user; <userinput>cvs co -D'last week' miscfs</userinput></screen> + + <para>Non potrai effettuare modifiche.</para> + </listitem> + </itemizedlist> + + <para>Tieni presente che cvs salva i metadati in sottodirectory chiamate + <filename>CVS</filename>.</para> + + <para>Gli argomenti di <option>-D</option> e <option>-r</option> + sono fissi, che vuol dire che cvs se li ricorderà in seguito, + ad esempio quando farai un <command>cvs update</command>.</para> + </listitem> + + <listitem> + <para>Controlla lo stato dei file estratti con il comando + <command>status</command>.</para> + + <screen>&prompt.user; <userinput>cvs status shazam</userinput></screen> + + <para>Questo visualizza lo stato del file <filename>shazam</filename> o + di ogni file nella directory <filename>shazam</filename>. Per ogni + file, lo stato è uno fra:</para> + + <informaltable frame="none"> + <tgroup cols=2> + <tbody> + <row> + <entry>Up-to-date</entry> + + <entry>Il file à aggiornato e non è stato + modificato.</entry> + </row> + + <row> + <entry>Needs Patch</entry> + + <entry>Il file non è stato modificato, ma c'è una + nuova versione nel repository.</entry> + </row> + + <row> + <entry>Locally Modified</entry> + + <entry>Il file è aggiornato, ma è stato + modificato.</entry> + </row> + + <row> + <entry>Needs Merge</entry> + + <entry>Il file è stato modificato, e c'è una nuova + versione nel repository.</entry> + </row> + + <row> + <entry>File had conflicts on merge</entry> + + <entry>Ci sono stati conflitti l'ultima volta che il file + è stato aggiornato, e non sono ancora stati + risolti.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Vedrai anche la versione e la data locale, il numero dell'ultima + versione appropriata (<quote>ultima appropriata</quote> 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.</para> + </listitem> + + <listitem> + <para>Dopo avere estratto qualcosa, aggiornalo con il comando + <command>update</command>.</para> + + <screen>&prompt.user; <userinput>cvs update shazam</userinput></screen> + + <para>Questo aggiorna il file <filename>shazam</filename> o il contenuto + della directory <filename>shazam</filename> all'ultima versione sul + ramo che hai estratto. Se hai estratto un <quote>preciso instante di + tempo</quote>, non fa nulla a meno che i tag non siano stati + spostati nel repository o qualche altra strana cosa sia in + corso.</para> + + <para>Opzioni utili, in aggiunta a quelle elencate sopra, con + <command>checkout</command>:</para> + + <informaltable frame="none"> + <tgroup cols=2> + <tbody> + <row> + <entry><option>-d</option></entry> + + <entry>Estrae ogni directory aggiuntiva mancante.</entry> + </row> + + <row> + <entry><option>-A</option></entry> + + <entry>Scarica l'ultima versione del ramo principale.</entry> + </row> + + <row> + <entry><option>-j<replaceable>ver</replaceable></option></entry> + + <entry>Altre magie (guarda sotto).</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Se hai estratto un modulo con <option>-r</option> o + <option>-D</option>, l'esecuzione di <command>cvs update</command> + con un argomento differente di <option>-r</option> o + <option>-D</option> o con <option>-A</option> selezionerà un + nuovo ramo, una nuova versione o una nuova data. + L'opzione <option>-A</option> elimina tutti i tag, le date o le + versioni fissate mentre <option>-r</option> e <option>-D</option> ne + impostano di nuove.</para> + + <para>Teoricamente, specificando <literal>HEAD</literal> come argomento + di <option>-r</option> avrai lo stesso risultato di + <option>-A</option>, ma è solo in teoria.</para> + + <para>L'opzione <option>-d</option> è utile se:</para> + + <itemizedlist> + <listitem> + <para>qualcuno ha aggiunto delle sottodirectory al modulo che hai + estratto dopo averlo estratto.</para> + </listitem> + + <listitem> + <para>hai estratto con <option>-l</option>, e dopo cambi idea e + vuoi estrarre anche le sottodirectory.</para> + </listitem> + + <listitem> + <para>hai cancellato delle sottodirectory e vuoi estrarle + nuovamente.</para> + </listitem> + </itemizedlist> + + <para><emphasis>Osserva l'output di <command>cvs update</command> con + cura</emphasis>. La lettera all'inizio di ogni file indica cosa + è stato fatto su di esso:</para> + + <informaltable frame="none"> + <tgroup cols=2> + <tbody> + <row> + <entry><literal>U</literal></entry> + + <entry>Il file è stato aggiornato senza problemi.</entry> + </row> + + <row> + <entry><literal>P</literal></entry> + + <entry>Il file è stato aggiornato senza problemi (vedrai + questo solo quando lavorerai su un repository remoto).</entry> + </row> + + <row> + <entry><literal>M</literal></entry> + + <entry>Il file è stato modificato, ed è stato + fuso senza conflitti.</entry> + </row> + + <row> + <entry><literal>C</literal></entry> + + <entry>Il file è stato modificato, ed è stato + fuso con dei conflitti.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>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 <command>cvs + update</command>. 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).</para> + + <para>CVS stamperà una <literal>M</literal> davanti ad ogni file + modificato localmente anche se non c'è una nuova versione nel + repository, quindi <command>cvs update</command> è adatto + per avere un resoconto di quello che hai cambiato in locale.</para> + + <para>Se appare una <literal>C</literal>, 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 <command>cvs</command> 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 <literal><</literal>, + <literal>=</literal> e <literal>></literal>. Per ogni conflitto, + ci sarà una linea di demarcazione formata da sette + <literal><</literal> 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 <literal>=</literal>, seguita dalla porzione + corrispondente presente nella versione del repository, seguita da una + riga di separazione con sette <literal>></literal> e il numero di + versione che stai aggiornando.</para> + + <para>L'opzione <option>-j</option> è un po' voodoo. Aggiorna + il file locale alla versione specificata come se avessi usato + <option>-r</option>, 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.</para> + + <para>Per esempio, supponiamo che ti abbia effettuato il commit di una + modifica a <filename>shazam/shazam.c</filename> in &os.current; e che + più tardi tu voglia effettuare l'MFC. Le modifiche che vuoi + fondere sono nella versione 1.15:</para> + + <itemizedlist> + <listitem> + <para>Estrai la versione &os.stable; del modulo + <filename>shazam</filename>:</para> + + <screen>&prompt.user; <userinput>cvs co -rRELENG_4 shazam</userinput></screen> + </listitem> + + <listitem> + <para>Applica le modifiche tra la ver 1.14 e la 1.15:</para> + + <screen>&prompt.user; <userinput>cvs update -j1.14 -j1.15 shazam/shazam.c</userinput></screen> + </listitem> + </itemizedlist> + + <para>Quasi certamente avrai un conflitto a causa delle righe + <literal>$<!-- blocca l'espansione -->Id<!-- blocca l'espansione + -->$</literal> (o nel caso di FreeBSD, <literal>$<!-- blocca + l'espansione -->FreeBSD<!-- blocca l'espansione -->$</literal>), + quindi dovrai modificare a mano il file per risolvere il conflitto + (rimuovi le righe di separazione e la seconda linea + <literal>$<!-- blocca l'espansione -->Id<!-- blocca l'espansione + -->$</literal>, lasciando la linea <literal>$<!-- blocca + l'espansione -->Id<!-- blocca l'espansione -->$</literal> + originale intatta).</para> + </listitem> + + <listitem> + <para>Guarda le differenze tra la versione locale e quella sul + repository con il comando <command>diff</command>.</para> + + <screen>&prompt.user; <userinput>cvs diff shazam</userinput></screen> + + <para>mostra ogni modifica che hai fatto al file o al modulo + <filename>shazam</filename>.</para> + + <table frame="none"> + <title>Opzioni utili con <command>cvs diff</command></title> + + <tgroup cols=2> + <tbody> + <row> + <entry><option>-u</option></entry> + + <entry>Utilizza il formato diff unificato.</entry> + </row> + + <row> + <entry><option>-c</option></entry> + + <entry>Utilizza il formato diff contestuale.</entry> + </row> + + <row> + <entry><option>-N</option></entry> + + <entry>Visualizza i file mancanti o aggiunti.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Vorrai sempre utilizzare <option>-u</option>, 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 <option>-c</option> 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 + <literal>@</literal> 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 <literal>-</literal>) sono quelle + eliminate e altre ancora (precedute da un <literal>+</literal>) sono + quelle aggiunte.</para> + + <para>Puoi anche effettuare una diff con una versione differente + rispetto a quella che hai estratto specificando la versione con + <option>-r</option> o <option>-D</option> come per il + <command>checkout</command> o l'<command>update</command>, + o anche visualizzare le differenze tra due versioni arbitrarie + (indipendentemente da quella che hai localmente) specificando + <emphasis>due</emphasis> versioni con <option>-r</option> o + <option>-D</option>.</para> + </listitem> + + <listitem> + <para>Guarda le righe di log con il comando + <command>log</command>.</para> + + <screen>&prompt.user; <userinput>cvs log shazam</userinput></screen> + + <para>Se <filename>shazam</filename> è un file, questo + stamperà un'<emphasis>intestazione</emphasis> con le + informazioni sul file, come la locazione nel repository dove il file + è salvato, a quale versione è l'<literal>HEAD</literal> + 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.</para> + + <para>Se <filename>shazam</filename> è 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 + <option>-l</option> a <command>log</command>, vengono stampati anche + i log per tutte le sottodirectory di <filename>shazam</filename>, in + maniera ricorsiva.</para> + + <para>Usa il comando <command>log</command> 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 <option>-r<replaceable>ver</replaceable></option> al + comando <command>log</command>:</para> + + <screen>&prompt.user; <userinput>cvs log -r1.2 shazam</userinput></screen> + + <para>Questo stamperà solamente il messaggio di log per la + versione <literal>1.2</literal> del file <filename>shazam</filename> + se è un file, oppure i messaggi di log per le versioni 1.2 di + ogni file sotto <filename>shazam</filename> se è una + directory.</para> + </listitem> + + <listitem> + <para>Guarda chi ha fatto cosa con il comando + <command>annotate</command>. Questo comando visualizza ogni riga del + file o dei file specificati, insieme all'utente che ha modificato + più recentemente quella riga.</para> + + <screen>&prompt.user; <userinput>cvs annotate shazam</userinput></screen> + </listitem> + + <listitem> + <para>Aggiungi nuovi file con il comando <command>add</command>.</para> + + <para>Crea il file, usa <command>cvs add</command> su di esso, quindi + <command>cvs commit</command>.</para> + + <para>In modo analogo, puoi aggiungere nuove directory creandole e poi + utilizzando <command>cvs add</command> su di esse. Nota che non + c'è bisogno di usare il commit sulle directory.</para> + </listitem> + + <listitem> + <para>Rimuovi i file obsoleti con il comando + <command>remove</command>.</para> + + <para>Rimuovi il file, quindi usa <command>cvs rm</command> su di esso, + ed infine <command>cvs commit</command>.</para> + </listitem> + + <listitem> + <para>Effettua il commit con il comando <command>commit</command> o + <command>checkin</command>.</para> + + <table frame="none"> + <title>Opzioni utili con <command>cvs commit</command></title> + + <tgroup cols=2> + <tbody> + <row> + <entry><option>-f</option></entry> + + <entry>Forza il commit di un file non modificato.</entry> + </row> + + <row> + <entry><option>-m<replaceable>msg</replaceable></option></entry> + + <entry>Specifica un messaggio di commit sulla riga di comando + anziché invocare un editor.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Usa l'opzione <option>-f</option> se ti accorgi che hai lasciato + fuori informazioni importanti dal messaggio di commit.</para> + + <para>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.</para> + + <para>I messaggi di commit devono essere chiari, concisi, e fornire + un ragionevole sommario per dare un'indicazione di cosa è stato + cambiato e perché.</para> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + + <para>Prima di effettuare il commit, devi + <emphasis>sempre</emphasis>:</para> + + <itemizedlist> + <listitem> + <para>verificare su che ramo stai effettuando il commit, tramite + <command>cvs status</command>.</para> + </listitem> + + <listitem> + <para>revisionare i tuoi cambiamenti, con + <command>cvs diff</command></para> + </listitem> + </itemizedlist> + + <para>Inoltre, devi SEMPRE specificare esplicitamente sulla riga di + comando su quali file deve essere effettuato il commit, in modo da non + toccare incidentalmente altri file non voluti - <command>cvs + commit</command> senza argomenti effettuerà il commit di ogni + modifica nella directory corrente ed ogni sottodirectory.</para> + </listitem> + </orderedlist> + + <para>Suggerimenti e trucchi aggiuntivi:</para> + + <orderedlist> + <listitem> + <para>Puoi inserire le opzioni più comunemente usate nel tuo + <filename>~/.cvsrc</filename>, come in questo caso:</para> + + <programlisting>cvs -z3 +diff -Nu +update -Pd +checkout -P</programlisting> + + <para>Questo esempio dice:</para> + + <itemizedlist> + <listitem> + <para>usa sempre il livello di compressione 3 quando si parla con un + server remoto. Questo è un salvavita quando si lavora su + una connessione lenta.</para> + </listitem> + + <listitem> + <para>usa sempre le opzioni <option>-N</option> (visualizza i file + aggiunti o rimossi) e <option>-u</option> (formato diff unificato) + con &man.diff.1;.</para> + </listitem> + + <listitem> + <para>usa sempre le opzioni <option>-P</option> (elimina le + directory vuote) e <option>-d</option> (estrai le nuove directory) + quando si effettua l'update.</para> + </listitem> + + <listitem> + <para>usa sempre l'opzione <option>-P</option> (elimina le + directory vuote) quando si estrae.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>Usa lo script <command>cdiff</command> 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).</para> + + <para><ulink + url="http://people.FreeBSD.org/~eivind/cdiff">http://people.FreeBSD.org/~eivind/cdiff</ulink></para> + + <para>Semplicemente usalo al posto di &man.more.1; o + &man.less.1;:</para> + + <screen>&prompt.user; <userinput>cvs diff -Nu shazam | cdiff</userinput></screen> + + <para>Alternativamente alcuni editor come &man.vim.1; + (<filename role="package">editors/vim5</filename>) 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.</para> + + <screen>&prompt.user; <userinput>echo "syn on" >> ~/.vimrc </userinput> +&prompt.user; <userinput>cvs diff -Nu shazam | vim -</userinput> +&prompt.user; <userinput>cvs log shazam | vim -</userinput> </screen> + </listitem> + + <listitem> + <para>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;).</para> + </listitem> + + <listitem> + <para>Non lasciare il comando <command>cvs commit</command> 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 + <command>cvs commit</command>, e inseriscilo successivamente.</para> + </listitem> + </orderedlist> + </sect1> + + <sect1 id="conventions"> + <title>Convenzioni e Tradizioni</title> + + <para>Come nuovo committer ci sono alcune cose che dovresti fare + all'inizio.</para> + + <itemizedlist> + <listitem> + <para>Aggiungere te stesso alla sezione <quote>Developers</quote> della + <ulink url="../contributors/index.html">Contributors List</ulink> e + rimuovere te stesso dalla sezione <quote>Additional + Contributors</quote>. Una volta fatto ciò, non dimenticarti + di aggiungere la tua entity di autore in + <filename>doc/en_US.ISO8859-1/share/sgml/authors.ent</filename>; + usa le altre voci come esempio.</para> + + <para>Questo è un compito relativamente semplice, ma rimane una + buona prima prova delle tue abilità con CVS.</para> + </listitem> + + <listitem> + <para>Aggiungi una voce per te stesso in + <filename>www/en/news/news.xml</filename>. Guarda le altre voci che + assomigliano a <quote>A new committer</quote> e segui il + formato.</para> + </listitem> + + <listitem> + <para>Se hai una chiave PGP o GnuPG, potresti volerla aggiungere in + <filename>doc/en_US.ISO8859-1/books/handbook/pgpkeys</filename>.</para> + + <para>&a.des; ha scritto uno script di shell per rendere questa + operazione molto semplice. Guarda il file <ulink + url="http://cvsweb.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/pgpkeys/README">README</ulink> + per maggiori informazioni.</para> + </listitem> + + <listitem> + <para>Alcune persone aggiungono una voce per se stessi in + <filename>ports/astro/xearth/files/freebsd.committers.markers</filename>.</para> + </listitem> + + <listitem> + <para>Alcune persone aggiungono una voce per se stessi in + <filename>src/usr.bin/calendar/calendars/calendar.freebsd</filename>.</para> + </listitem> + + <listitem> + <para>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!</para> + </listitem> + + <listitem> + <para>Loggati su <hostid>hub.FreeBSD.org</hostid> e crea un file + <filename>/var/forward/<replaceable>utente</replaceable></filename> + (dove <replaceable>utente</replaceable> è il tuo nome utente) + contenente l'indirizzo e-mail dove vuoi che i messaggi indirizzati a + <replaceable>tuonomeutente</replaceable>@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 + <hostid>hub</hostid> spesso vengono <quote>accidentalmente</quote> + troncate senza preavviso, quindi inoltra o leggi i messaggi in modo da + non perderli.</para> + </listitem> + + <listitem> + <para>Se sei iscritto alla &a.cvsall;, probabilmente vorrai + disiscriverti per evitare di ricevere copie doppie dei messaggi di + commit e della loro evoluzione.</para> + </listitem> + </itemizedlist> + + <para>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.</para> + + <para>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;.</para> + </sect1> + + <sect1 id="developer.relations"> + <title>Relazioni tra Sviluppatori</title> + + <para>Se stai lavorando direttamente sul tuo codice o su codice che è + già stabilito essere di tua responsabilità, allora + c'è probabilmente poca necessità di confrontarsi con altri + committer prima di effettuare un commit. Se vedi un bug in un'area del + sistema che è chiaramente orfana (e ce n'è qualcuna di + queste aree, per nostra vergogna), agisci allo stesso modo. Se, tuttavia, + stai per modificare qualcosa che è chiaramente mantenuto + attivamente da qualcun'altro (ed è solo guardando la mailing list + <literal>cvs-committers</literal> 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 + <makevar>MAINTAINER</makevar> specificato nel + <filename>Makefile</filename>. Per altre parti del repository, se non sei + sicuro di chi possa essere il maintainer attivo, potrebbe essere utile + scorrere l'output di <command>cvs log</command> 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 <hostid>freefall</hostid> in + <filename>~fenner/bin/whodid</filename>. 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.</para> + + <para>Se non sei sicuro di un commit per qualunque motivo, fallo revisionare + da <literal>-hackers</literal> 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.</para> + </sect1> + + <sect1 id="gnats"> + <title>GNATS</title> + + <para>Il FreeBSD Project utilizza <application>GNATS</application> per + gestire i bug e le richieste di cambiamenti. Assicurati di usare + <command>edit-pr <replaceable>numero-pr</replaceable></command> su + <hostid>freefall</hostid> quando effettui il commit di una correzione o di + un suggerimento trovato in un PR <application>GNATS</application> 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.</para> + + <para>Puoi trovare di più su <application>GNATS</application> + su:</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html">http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="../../../../support.html">http://www.FreeBSD.org/support.html</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="../../../../send-pr.html">http://www.FreeBSD.org/send-pr.html</ulink></para> + </listitem> + + <listitem> + <para>&man.send-pr.1;</para> + </listitem> + </itemizedlist> + + <para>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 + <command>tkgnats</command>. Questo ti permette di interrogare il database + dei PR senza bisogno di essere connesso a Internet.</para> + + <procedure> + <title>Utilizzo di un albero GNATS locale</title> + + <step> + <para>Se non stai già scaricando l'albero GNATS, aggiungi questa + riga al tuo <filename>supfile</filename>, 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 + <filename>supfile</filename> esistente deve apparire prima di ogni + voce <quote>tag=</quote> dato che queste rimangono attive una volta + impostate.</para> + + <programlisting>gnats release=current prefix=/usr</programlisting> + + <para>Questo metterà l'albero GNATS di FreeBSD in + <filename>/usr/gnats</filename>. Puoi usare un file + <emphasis>refuse</emphasis> per controllare quali categorie ricevere. + Per esempio, per ricevere solo i PR <literal>docs</literal>, metti + questa riga in <filename>/usr/local/etc/cvsup/sup/refuse</filename> + <footnote> + <para>Il percorso preciso dipende dall'impostazione + <literal>*default base</literal> nel tuo + <filename>supfile</filename>.</para> + </footnote>.</para> + + <programlisting>gnats/[a-ce-z]*</programlisting> + + <para>Il resto di questi esempi assume che tu abbia scaricato solo la + categoria <literal>docs</literal>. Modificali quando è + necessario, a seconda delle categorie che tieni in sincronia.</para> + </step> + + <step> + <para>Installa il port GNATS da + <filename>ports/databases/gnats</filename>. Questo metterà le + varie directory GNATS sotto + <filename>$PREFIX/share/gnats</filename>.</para> + </step> + + <step> + <para>Crea un symlink per le directory GNATS che aggiorni tramite CVSup + sotto la versione di GNATS che hai installato.</para> + + <screen>&prompt.root; <userinput>cd /usr/local/share/gnats/gnats-db</userinput> +&prompt.root; <userinput>ln -s /usr/gnats/docs</userinput></screen> + + <para>Ripeti tante volte quanto necessario, a seconda di quante + categorie GNATS tieni in sincronia.</para> + </step> + + <step> + <para>Aggiorna il file <filename>categories</filename> di GNATS con + queste categorie. Il file è + <filename>$PREFIX/share/gnats/gnats-db/gnats-adm/categories</filename>.</para> + + <programlisting># Questa categoria è obbligatoria +pending:Categoria per i PR errati:gnats-admin: +# +# Categorie di FreeBSD +# +docs:Bug di Documentazione:nik:</programlisting> + </step> + + <step> + <para>Esegui <filename>$PREFIX/libexec/gnats/gen-index</filename> per + ricreare l'indice GNATS. L'output deve essere reindirizzato su + <filename>$PREFIX/share/gnats/gnats-db/gnats-adm/index</filename>. + Puoi fare questo periodicamente da &man.cron.8;, o eseguire + &man.cvsup.1; da uno script di shell che fa anche questo.</para> + + <screen>&prompt.root; <userinput>/usr/local/libexec/gnats/gen-index \ + > /usr/local/share/gnats/gnats-db/gnats-adm/index</userinput></screen> + </step> + + <step> + <para>Verifica la configurazione interrogando il database dei PR. + Questo comando visualizza i PR <literal>docs</literal> aperti.</para> + + <screen>&prompt.root; <userinput>query-pr -c docs -s open</userinput></screen> + + <para>Anche altre interfacce, come quella fornita dal port <filename + role="package">databases/tkgnats</filename>, dovrebbero funzionare + correttamente.</para> + </step> + + <step> + <para>Prendi un PR e chiudilo.</para> + </step> + </procedure> + + <note> + <para>Questa procedura funziona solo per permetterti di visualizzare ed + interrogare i PR localmente. Per modificarli o chiuderli dovrai ancora + loggarti su <hostid>freefall</hostid> e farlo da lì.</para> + </note> + </sect1> + + <sect1 id="people"> + <title>Chi è Chi</title> + + <para>Oltre ai meister del repository, ci sono altri membri e team del + FreeBSD Project che probabilmente arriverai a conoscere nel tuo ruolo di + committer. Brevemente, e senza pretesa di elencarli tutti, questi + sono:</para> + + <variablelist> + <varlistentry> + <term>&a.jhb;</term> + + <listitem> + <para>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: <ulink + url="http://www.FreeBSD.org/smp/">http://www.FreeBSD.org/smp/</ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.jake;, &a.tmm;</term> + + <listitem> + <para>Jake e Thomas sono i maintainer del port sull'architettura + sparc64.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.nik;</term> + + <listitem> + <para>Nik supervisiona il <ulink + url="../../../../docproj/index.html">Documentation Project</ulink>. + Oltre a scrivere documentazione mette insieme l'infrastruttura + sotto <filename>doc/share/mk</filename> e i fogli di stile e il + codice relativo sotto <filename>doc/share/sgml</filename>. Se hai + domande su questi sei incoraggiato a inviarle attraverso la &a.doc;. + I committer interessati a contribuire alla documentazione + dovrebbero familiarizzare con il <ulink + url="../../../en_US.ISO8859-1/books/fdp-primer/index.html">Documentation + Project Primer</ulink>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.ru;</term> + + <listitem> + <para>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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.bde;</term> + + <listitem> + <para>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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.gallatin;</term> + <term>&a.mjacob;</term> + <term>&a.dfr;</term> + <term>&a.obrien;</term> + + <listitem> + <para>Questi sono gli sviluppatori e i supervisori primari della + piattaforma DEC Alpha AXP.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.dg;</term> + + <listitem> + <para>David è il supervisore del sistema VM. Se hai in mente + una modifica al sistema VM, coordinala con David.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.dfr;</term> + <term>&a.marcel;</term> + <term>&a.peter;</term> + <term>&a.ps;</term> + + <listitem> + <para>Questi sono i principali sviluppatori e supervisori della + piattaforma Intel IA-64, ufficialmente conosciuta come l'Itanium + Processor Family (IPF).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.murray;</term> + <term>&a.steve;</term> + <term>&a.rwatson;</term> + <term>&a.jhb;</term> + <term>&a.bmah;</term> + + <listitem> + <para>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.</para> + + <para>Bruce è anche l'autore della documentazione di + release (<filename>src/release/doc/*</filename>). 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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.benno;</term> + + <listitem> + <para>Benno è il maintainer ufficiale del port per + PowerPC.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.brian;</term> + + <listitem> + <para>Maintainer ufficiale di + <filename>/usr/sbin/ppp</filename>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.nectar;</term> + + <listitem> + <para>Jacques è il <ulink url="../../../../security/">FreeBSD + Security Officer</ulink> e supervisiona il + &a.security-officer;.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.wollman;</term> + + <listitem> + <para>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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.committers;</term> + + <listitem> + <para>cvs-committers è l'entità che CVS usa per inviarti + tutti i messaggi di commit. Non devi <emphasis>mai</emphasis> + inviare email direttamente a questa lista. Puoi solamente + rispondere a questa lista quando i messaggi sono brevi e + direttamente correlati a un commit.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.developers;</term> + + <listitem> + <para>developers comprende tutti i committer. Questa lista è + stata creata per essere un forum sulle questioni della + <quote>comunità</quote> dei committer. Esempi sono le + votazioni per il Core, annunci, ecc. Questa lista + <emphasis>non</emphasis> è 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 <quote>pubbliche</quote>. + Ultimo, ma non per importanza <emphasis>mai e poi mai invia un + messaggio alla &a.developers; mettendo in CC:/BCC: un'altra lista + FreeBSD</emphasis>. + 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.</para> + </listitem> + </varlistentry> + </variablelist> + </sect1> + + <sect1 id="ssh.guide"> + <title>Guida Rapida a SSH</title> + + <procedure> + <step> + <para>Se stai usando FreeBSD 4.0 o successivo, OpenSSH è incluso + nel sistema base. Se stai usando una release precedente, aggiorna + ed installa uno dei port di SSH. In generale, probabilmente vorrai + prendere OpenSSH dal port <filename + role="package">security/openssh</filename>. Potresti anche voler + estrarre l'ssh1 originale dal port <filename + role="package">security/ssh</filename>, ma sii certo di porre la + dovuta attenzione alla sua licenza. Nota che questi port non possono + essere installati contemporaneamente.</para> + </step> + + <step> + <para>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 <filename>.xsession</filename> o + <filename>.xinitrc</filename>. Guarda &man.ssh-agent.1; per i + dettagli.</para> + </step> + + <step> + <para>Genera un paio di chiavi con &man.ssh-keygen.1;. Le chiavi + finiranno nella tua directory + <filename><envar>$HOME</envar>/.ssh</filename>.</para> + </step> + + <step> + <para>Invia la tua chiave pubblica + (<filename><envar>$HOME</envar>/.ssh/identity.pub</filename>) + alla persona che ti sta configurando come committer in modo che possa + inserirla nel file <filename>authorized_keys</filename> nella tua + home directory su <hostid>freefall</hostid> (ad esempio, + <filename><envar>$HOME</envar>/.ssh/authorized_keys</filename>). + </para> + </step> + </procedure> + + <para>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 <command>ssh-add -d</command> + la rimuoverà.</para> + + <para>Verifica facendo qualcosa come <command>ssh freefall.FreeBSD.org ls + /usr</command>.</para> + + <para>Per maggiori informazioni, guarda <filename + role="package">security/openssh</filename>, &man.ssh.1;, + &man.ssh-add.1;, &man.ssh-agent.1;, &man.ssh-keygen.1;, e + &man.scp.1;.</para> + </sect1> + + <sect1 id="rules"> + <title>Il Lungo Elenco di Regole dei Committer di FreeBSD</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="ports"> + <title>FAQ Specifiche sui Port</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="perks"> + <title>Benefici del Lavoro</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="misc"> + <title>Domande Generali</title> + + <para>Traduzione in corso</para> + </sect1> +</article> diff --git a/it_IT.ISO8859-15/articles/euro/Makefile b/it_IT.ISO8859-15/articles/euro/Makefile new file mode 100644 index 0000000000..886e21cc9d --- /dev/null +++ b/it_IT.ISO8859-15/articles/euro/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/euro/article.sgml b/it_IT.ISO8859-15/articles/euro/article.sgml new file mode 100644 index 0000000000..139ee91f58 --- /dev/null +++ b/it_IT.ISO8859-15/articles/euro/article.sgml @@ -0,0 +1,383 @@ +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ + Original revision: 1.3 +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> +%man; +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"> +%translators; +]> + +<article lang="it"> + <articleinfo> + <title>Il simbolo dell'Euro su <systemitem + class="osname">FreeBSD</systemitem></title> + + <authorgroup> + <author> + <firstname>Aaron</firstname> + + <surname>Kaplan</surname> + + <affiliation> + <address><email>aaron@lo-res.org</email></address> + </affiliation> + </author> + </authorgroup> + + <copyright> + <year>2002</year> + + <holder>The FreeBSD Italian Documentation Project</holder> + </copyright> + + <pubdate role="rcs">$FreeBSD$</pubdate> + + <abstract> + <para>Questo documento cercherà di aiutarvi ad usare il nuovo + simbolo dell'<keycap>Euro</keycap> 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 + <application>X11</application>.</para> + + <para>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!</para> + + <para>Traduzione a cura di &a.it.dema;.</para> + </abstract> + </articleinfo> + + <sect1> + <title>L'Euro in 5 minuti</title> + + <para>Se avete già familiarità con la + <ulink url="../../books/handbook/l10n.html">localizzazione</ulink> come + descritta nel Manuale di <systemitem class="osname">FreeBSD</systemitem> + potreste essere interessanti solamente alle seguenti informazioni che + vi consentiranno di iniziare velocemente ad usare l'Euro:</para> + + <variablelist> + <varlistentry> + <term>ISO8859-15</term> + + <listitem> + <para>Questa è una versione leggermente modificata della + più comune mappa caratteri ISO8859-1. + Include il simbolo dell'Euro. Usata per le variabili d'ambiente + <envar>LANG</envar> e <envar>LC_CTYPE</envar>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>iso15-8x16.fnt</filename></term> + + <listitem> + <para>Il font per la console da usare con &man.vidcontrol.1;</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>/usr/share/syscons/keymaps/*.iso.kbd</filename></term> + + <listitem> + <para>Mappe di tastiera per le diverse lingue. Impostate la vostra + variabile <literal>keymap</literal> in <filename>rc.conf</filename> + ad una di queste mappe.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><envar>LC_CTYPE</envar></term> + + <listitem> + <para>Usata per impostare il corretto tipo di caratteri nelle vostre + impostazioni locali.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>XkbLayout + "<replaceable>lingua</replaceable>(euro)"</literal></term> + + <listitem> + <para>Opzione di configurazione di XFree86.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><filename>/usr/X11R6/lib/X11/fonts/*/fonts.alias</filename></term> + + <listitem> + <para>Assicuratevi di modificare i nomi dei vostri file dei font di + X11 a <literal>-*-..-*-iso8859-15</literal></para> + </listitem> + </varlistentry> + </variablelist> + </sect1> + + <sect1> + <title>Nota generale</title> + + <para>Nelle sezioni seguenti ci riferiremo spesso a + <emphasis>ISO8859-15</emphasis>. + Questa è la notazione standard a partire da + <systemitem class="osname">FreeBSD</systemitem> 4.5. + Nelle versioni più vecchie la notazione standard era invece + <emphasis>ISO_8859-15</emphasis> oppure + <emphasis>DIS_8859-15</emphasis>.</para> + + <para>Se state usando una versione di + <systemitem class="osname">FreeBSD</systemitem> più vecchia, + assicuratevi di guardare in + <filename>/usr/share/locale/</filename> per scoprire quale notazione + è in uso nel vostro sistema.</para> + </sect1> + + <sect1> + <title>La console</title> + + <sect2> + <title>Configurare il font della console</title> + + <para>In base alla risoluzione e dimensione della vostra console + dovrete mettere una delle seguenti linee in + <filename>rc.conf</filename>:</para> + + <programlisting>font8x16="iso15-8x16.fnt" # da /usr/share/syscons/fonts/* +font8x14="iso15-8x14.fnt" +font8x8="iso15-8x8.fnt"</programlisting> + + <para>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 come "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.</para> + + <warning> + <para>Al momento della stesura di questo articolo l'unico font + utilizzabile sembra essere l'<literal>iso15-8x16.fnt</literal>. + Gli altri sembrano avere l'aspetto dello ISO8859-1 sebbene il nome + suggerisca altrimenti.</para> + </warning> + + <note> + <para>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 è + <application>/stand/sysintall</application>. + Comunque questo non dovrebbe essere un problema nella maggior parte + dei casi.</para> + </note> + + <para>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:</para> + + <screen>&prompt.user; <userinput>vidcontrol -f <replaceable>iso15-8x16.fnt</replaceable></userinput></screen> + + <para>Per controllare se il font è stato impostato eseguite il + seguente piccolo script + <command><anchor id="awk-test">awk</command>:</para> + + <programlisting>#!/usr/bin/awk -f +BEGIN { + for(i=160;i<180;i++) + printf"%3d %c\n",i,i +}</programlisting> + + <para>Il risultato dovrebbe mostrare il simbolo dell'Euro nella + posizione 164.</para> + </sect2> + + <sect2> + <title>Configurare la vostra tastiera per l'Euro</title> + + <para>La 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: <keycombo action=simul> + <keycap>Alt Gr</keycap> + <keycap>e</keycap> + </keycombo>) al valore decimale 164. + Se avete problemi la cosa migliore è controllare i file in + <filename>/usr/share/syscons/keymaps/*.kbd</filename>. + Il formato dei file delle mappe di tastiera è descritto in + &man.keyboard.4;. &man.kbdcontrol.1; può essere usato per + caricare una mappa personalizzata.</para> + + <para>Una volta che è stata trovata la corretta mappa di tastiera, + dovete aggiungerla a <filename>/etc/rc.conf</filename> con la + linea:</para> + + <programlisting>keymap="<replaceable>it.iso</replaceable>" # o un'altra mappa</programlisting> + + <para>Come spiegato in precedenza, questo passo probabilmente lo avete + già fatto al momento dell'installazione (con + <application>sysinstall</application>). + In caso contrario, riavviate oppure caricate la nuova mappa con + &man.kbdcontrol.1;.</para> + + <para>Per verificare la nuova mappatura della tastiera, passate ad una + nuova console e al prompt di login, <emphasis>invece di + loggarvi</emphasis>, provate a premere il tasto <keycap>Euro</keycap>. + Se non funziona assicuratevi di aver correttamente impostato la + giusta mappa di tastiera oppure inviate una segnalazione di bug + con &man.send-pr.1;.</para> + + <note> + <para>Al momento il tasto Euro non funziona ancora in + <application>bash </application> o + <application>tcsh</application>.</para> + </note> + </sect2> + + <sect2> + <title>Correggere le variabili d'ambiente</title> + + <para>Le shell (bash, tcsh) si basano sulla libreria &man.readline.3; + la quale a sua volta utilizza la variabile d'ambiente + <envar>LC_CTYPE</envar>. <envar>LC_CTYPE</envar> deve essere impostata + prima che la shell sia completamente operativa. + Fortunatamente è sufficiente aggiungere la linea:</para> + + <programlisting>export LC_CTYPE=<replaceable>it_IT</replaceable>.ISO8859-15</programlisting> + + <para>al vostro file <filename>.bash_profile</filename> (bash), + oppure:</para> + + <programlisting>setenv LC_CTYPE <replaceable>it_IT</replaceable>.ISO8859-15</programlisting> + + <para>al vostro file <filename>.login</filename> (tcsh). Naturalmente, + <replaceable>it_IT</replaceable> 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 + <application>pine</application> potrebbero essere comunque + necessarie.</para> + + <note> + <para>Un'alternativa alla modifica di <filename>.login</filename> e + <filename>.bash_profile</filename> è 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.) + <emphasis>in un solo posto</emphasis>.</para> + </note> + </sect2> + </sect1> + + <sect1> + <title>Modificare X11</title> + + <para>Modificate <filename>/etc/XF86Config</filename> secondo le + seguenti istruzioni:</para> + + <programlisting>Option "XkbLayout" "<replaceable>it</replaceable>(euro)"</programlisting> + + <para>Come sempre, rimpiazzate <replaceable>it</replaceable> con la + vostra lingua. Così facendo la tastiera dovrebbe essere + configurata correttamente. Come in console, deve essere scelto il font + adatto. Per le applicazioni <application>KDE</application> andate in + <application>KDE control center</application> -> + Personalization -> Country & Language -> Charset e + cambiatelo in <literal>ISO8859-15</literal>. + Simili modifiche si devono effettuare per + <application>kmail</application> e altre applicazioni.</para> + + <para>Un'altra buona idea è modificare i vostri file + <filename>fonts.alias</filename>. + In particolar modo il font <literal>fixed</literal> dovrebbe essere + modificato per usare la giusta mappa caratteri. Il file + <filename>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</filename> + dell'autore è mostrato come esempio:</para> + + <programlisting>! $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 +(...)</programlisting> + + <para>Come in console, applicazioni speciali hanno ancora i font + ISO8859-1 configurati nei loro rispettivi database xrdb. + Un esempio importante è <application>xterm</application>. + Come regola generale è sufficiente cambiare il corrispondente file + di configurazione in + <filename>/usr/X11R6/lib/X11/app-defaults</filename> + e aggiungere il font corretto. Ecco come fare per + <application>xterm</application>.</para> + + <screen>&prompt.root; cd /usr/X11R6/lib/X11/app-defaults/ +&prompt.root; vi XTerm</screen> + + <para>Aggiungete la seguente linea all'inizio del file:</para> + + <programlisting>*font: -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15</programlisting> + + <para>Infine, fate ripartire X e assicuratevi che i font siano + visualizzati correttamente eseguendo il precedente + <link linkend="awk-test">script awk</link>. + Tutte le principali applicazioni dovrebbero rispettare la mappatura di + tastiera e l'impostazione del font.</para> + </sect1> + + <sect1> + <title>Problemi non ancora risolti</title> + + <para>Naturalmente, l'autore gradirebbe ricevere i vostri commenti. + Inoltre, fatemi almeno sapere se avete soluzioni per questi problemi + irrisolti.</para> + + <itemizedlist> + <listitem> + <para>Descrivere metodi alternativi per configurare XFree86: + <filename role="package">x11/xkeycaps</filename></para> + </listitem> + + <listitem> + <para>Impostazioni in <application>GNOME</application></para> + </listitem> + + <listitem> + <para>Impostazioni in <application>XFCE</application></para> + </listitem> + + <listitem> + <para>Impostazioni per <application>(X)Emacs</application></para> + </listitem> + + <listitem> + <para>Descrivere l'UTF-8</para> + </listitem> + + <listitem> + <para>Descrivere <application>libiconv</application> come un buon + sistema per convertire applicazioni da ISO8859-15 a UTF-{8,16}</para> + </listitem> + </itemizedlist> + </sect1> +</article> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + End: +--> diff --git a/it_IT.ISO8859-15/articles/explaining-bsd/Makefile b/it_IT.ISO8859-15/articles/explaining-bsd/Makefile new file mode 100644 index 0000000000..886e21cc9d --- /dev/null +++ b/it_IT.ISO8859-15/articles/explaining-bsd/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml b/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml new file mode 100644 index 0000000000..b65bd92208 --- /dev/null +++ b/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml @@ -0,0 +1,593 @@ +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ + Original revision: 1.6 +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> +%man; +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"> +%translators; +]> + +<article lang="it"> + <articleinfo> + <title>Panoramica su BSD</title> + + <author> + <firstname>Greg</firstname> + + <surname>Lehey</surname> + + <affiliation> + <address><email>grog@FreeBSD.org</email></address> + </affiliation> + </author> + + <abstract> + <para>Nel mondo open source, la parola <quote>Linux</quote> è quasi + sinonimo di <quote>Sistema Operativo</quote>, ma non si tratta del solo + sistema operativo <trademark>UNIX</trademark> open source. Secondo + l'<ulink url="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet + Operating System Counter</ulink>, 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 <ulink + url="http://www.yahoo.com/">Yahoo!</ulink>, usano BSD. Il server + FTP più affollato del mondo, <ulink + url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink>, usa BSD per + trasferire 1.4 TB di dati al giorno. Chiaramente questo non è + un mercato di nicchia: BSD è un segreto ben mantenuto.</para> + + <para>Dunque, qual è il segreto? Perché BSD non è + conosciuto meglio? Questo documento risponde a questa e ad altre + domande.</para> + + <para>In questo documento, le differenze tra BSD e Linux verranno + evidenziate <emphasis>così</emphasis>.</para> + + <para>Traduzione a cura di &a.it.surrender;.</para> + </abstract> + </articleinfo> + + <sect1> + <title>Cos'è BSD?</title> + + <para>BSD sta per <quote>Berkeley Software Distribution</quote>. È + 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:</para> + + <itemizedlist> + <listitem> + <para>Il kernel BSD, che gestisce lo scheduling dei processi, l'utilizzo + della memoria, il supporto multiprocessore (SMP), i driver dei + vari dispositivi, ecc.</para> + + <para><emphasis>Diversamente dal kernel Linux, ci sono differenti + kernel BSD con differenti caratteristiche.</emphasis></para> + </listitem> + + <listitem> + <para>La libreria C, le API di base per il sistema.</para> + + <para><emphasis>La libreria C BSD è basata su codice proveniente + da Berkeley, non dal progetto GNU.</emphasis></para> + </listitem> + + <listitem> + <para>Utilità come shell, file manager, compilatori e + linker.</para> + + <para><emphasis>Alcune delle applicazioni derivano dal + progetto GNU, altre no.</emphasis></para> + </listitem> + + <listitem> + <para>L'X Window System, che gestisce la visualizzazione grafica.</para> + + <para>L'X Window System usato nella maggior parte delle versioni di + BSD viene mantenuto come un progetto separato, il + <ulink url="http://www.XFree86.org/">progetto XFree86</ulink>. + Questo è lo stesso codice usato da Linux. BSD in genere non + specifica un <quote>desktop grafico</quote> come GNOME o KDE, + anche se questi sono disponibili.</para> + </listitem> + + <listitem> + <para>Molti altri programmi ed utilità.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1> + <title>Cosa, un vero UNIX?</title> + + <para>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?</para> + + <para>È vero che lo UNIX AT&T non è open source, e nel + senso del copyright BSD in definitiva <emphasis>non è</emphasis> + 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 <emphasis>Berkeley Software Distribution</emphasis> o + <emphasis>BSD</emphasis>.</para> + + <para>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 <emphasis>Internet Protocols</emphasis>, + e in seguito come <emphasis>TCP/IP</emphasis>, ai nomi dei protocolli + più importanti. La prima implementazione distribuita in maniera + estesa fu parte di 4.2BSD, nel 1982.</para> + + <para>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 <emphasis>csh</emphasis> e l'editor <emphasis>vi</emphasis>. + Complessivamente, questi miglioramenti furono conosciuti + come le <emphasis>Estensioni Berkeley</emphasis>.</para> + + <para>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 <emphasis>Networking Tape 2</emphasis>, + in genere noto come <emphasis>Net/2</emphasis>. 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 <emphasis>386BSD</emphasis>. + Allo stesso tempo, un altro gruppo di ex membri del CSRG formò una + compagnia chiamata <ulink url="http://www.bsdi.com/">Berkeley Software + Design Inc.</ulink> e rilasciò una versione beta di un sistema + operativo chiamato <ulink url="http://www.bsdi.com/">BSD/386</ulink>, + che era basato sugli stessi sorgenti. Il nome del sistema operativo + è cambiato di recente in BSD/OS.</para> + + <para>386BSD non divenne mai un sistema operativo stabile. Invece, due + altri progetti se ne distaccarono nel 1993: + <ulink url="http://www.NetBSD.org/">NetBSD</ulink> e + <ulink url="../../../../index.html">FreeBSD</ulink>. + 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, + <ulink url="http://www.OpenBSD.org/">OpenBSD</ulink>, si divise da + NetBSD.</para> + </sect1> + + <sect1> + <title>Perché BSD non è più conosciuto?</title> + + <para>Per un certo numero di ragioni, BSD è relativamente + sconosciuto:</para> + + <orderedlist> + <listitem> + <para>Gli sviluppatori BSD sono spesso più interessati + a ripulire il loro codice che a fagli pubblicità.</para> + </listitem> + + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para>Nel 1992, l'AT&T citò in giudizio + <ulink url="http://www.bsdi.com/">BSDI</ulink>, + 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 <quote>concluso + recentemente</quote>.</para> + + <para>Un dettaglio che venne chiarito dall'azione legale fu il nome: + negli anni '80, BSD era stato conosciuto come <quote>BSD Unix</quote>. + 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 <quote>sistema operativo 4.3BSD + UNIX</quote> ed al <quote>sistema operativo 4.4BSD</quote>.</para> + </listitem> + + <listitem> + <para>C'è una certa percezione che il progetto BSD sia + frammentato e belligerante. Il <ulink + url="http://interactive.wsj.com/bin/login?Tag=/&URI=/archive/retrieve.cgi%253Fid%253DSB952470579348918651.djm&">Wall + Street Journal</ulink> parlò di + <quote>balcanizzazione</quote> dei progetti BSD. Come per l'azione + legale, questa percezione si basa principalmente su vecchie + storie.</para> + </listitem> + </orderedlist> + </sect1> + + <sect1> + <title>Paragone tra BSD e Linux</title> + + <para>Dunque 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.</para> + + <sect2> + <title>Chi possiede BSD?</title> + + <para>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.</para> + </sect2> + + <sect2> + <title>Come viene sviluppato ed aggiornato BSD?</title> + + <para>I kernel BSD vengono sviluppati ed aggiornati + seguendo il modello di sviluppo open source. Ogni progetto mantiene + un <emphasis>albero dei sorgenti</emphasis> liberamente accessibile in + un <ulink url="http://www.sourcegear.com/CVS/">Concurrent Versions + System</ulink>, 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 <quote>estrarre</quote> (in sostanza, + estrarre una copia di) ogni versione desiderata del sistema.</para> + + <para>Un grande numero di sviluppatori da tutto il mondo contribuisce al + miglioramento di BSD. Essi sono divisi in tre grandi gruppi:</para> + + <itemizedlist> + <listitem> + <para>I <firstterm>contributor</firstterm> 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 <emphasis>committer</emphasis>.</para> + </listitem> + + <listitem> + <para>I <firstterm>committer</firstterm> 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.</para> + + <para> + È 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 <firstterm>marcia + indietro</firstterm>. + Tutti i committer ricevono una lettera che descrive ogni + modifica individuale, dunque non è possibile effettuare un + commit segretamente.</para> + </listitem> + + <listitem> + <para>Il <firstterm>Core Team</firstterm>. 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.</para> + </listitem> + </itemizedlist> + + <para>Questa organizzazione differisce da Linux in vari modi:</para> + + <orderedlist> + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para>D'altra parte, <emphasis>c'è</emphasis> un deposito + centrale, un punto singolo dove è possibile trovare i + sorgenti dell'intero sistema, incluse tutte le vecchie + versioni.</para> + </listitem> + + <listitem> + <para>I progetti BSD mantengono l'intero <quote>Sistema + Operativo</quote>, 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.</para> + </listitem> + + <listitem> + <para>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.</para> + </listitem> + </orderedlist> + </sect2> + + <sect2> + <title>Release di BSD</title> + + <para>Ogni progetto BSD fornisce il sistema in tre + <quote>release</quote> 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:</para> + + <orderedlist> + <listitem> + <para>la versione di sviluppo del sistema è chiamata + <firstterm>CURRENT</firstterm>. 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 + (<quote>OpenBSD-current</quote>). + Tutti gli sviluppi del sistema vanno in questo ramo.</para> + </listitem> + + <listitem> + <para>A intervalli regolari, tra le due e le quattro volte all'anno, i + progetti fanno uscire una versione <firstterm>RELEASE</firstterm> + 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 + <emphasis>patch release</emphasis>, versioni con solo piccole + correzioni, con una terza cifra, ad esempio NetBSD 1.4.2.</para> + </listitem> + + <listitem> + <para>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 + <firstterm>STABLE</firstterm>, 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.</para> + </listitem> + </orderedlist> + + <para><emphasis>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 <quote>TurboLinux 6.0 con kernel + 2.2.14</quote></emphasis></para> + </sect2> + + <sect2> + <title>Quali versioni di BSD sono disponibili?</title> + + <para>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.</para> + + <para>È difficile catalogare gli obiettivi di ogni progetto: + le differenze sono molto soggettive. Di base,</para> + + <itemizedlist> + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para>NetBSD punta alla massima portabilità: <quote>of course + it runs NetBSD</quote>, 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.</para> + </listitem> + + <listitem> + <para>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.</para> + </listitem> + </itemizedlist> + + <para>Ci sono anche altri due sistemi operativi BSD che non sono open + source, BSD/OS e il Mac OS X della Apple:</para> + + <itemizedlist> + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.apple.com/macosx/server/">Mac OS + X</ulink> è l'ultima versione del sistema operativo per + la linea Macintosh della <ulink url="http://www.apple.com/">Apple + Computer Inc.</ulink>. Diversamente dal resto del sistema + operativo, il kernel è open source. Come parte di questo + sviluppo, gli sviluppatori chiave della Apple hanno accesso come + committer all'albero dei sorgenti di FreeBSD.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Come differisce la licenza BSD dalla GNU Public?</title> + + <para>Linux è disponibile con licenza <ulink + url="http://www.fsf.org/copyleft/gpl.html">GNU General Public + License</ulink> (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 <ulink + url="http://www.opensource.org/licenses/bsd-license.html">licenza + BSD</ulink> è meno restrittiva: le distribuzioni dei soli + binari sono permesse. Ciò è particolarmente attraente per + le applicazioni embedded.</para> + </sect2> + + <sect2> + <title>Cos'altro dovrei sapere?</title> + + <para>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.</para> + + <para>La natura <quote>tutto da una sola fonte</quote> 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.</para> + </sect2> + + <sect2> + <title>Cosa dovrei usare, BSD o Linux?</title> + + <para>Cosa significa tutto questo in pratica? Chi dovrebbe usare BSD, chi + dovrebbe usare Linux?</para> + + <para>Questa è una domanda molto difficile a cui rispondere. Qui + ci sono alcune linee guida:</para> + + <itemizedlist> + <listitem> + <para><quote>Se non è rotto, non aggiustarlo</quote>: se usi + già un sistema operativo open source, e ne sei soddisfatto, + probabilmente non c'è ragione di cambiare.</para> + </listitem> + + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para>In generale, i sistemi BSD hanno una reputazione migliore di + affidabilità, principalmente come risultato di una base di + codice più maturo.</para> + </listitem> + + <listitem> + <para>La licenza BSD può essere più attraente della + GPL.</para> + </listitem> + + <listitem> + <para>BSD può eseguire codice Linux, mentre Linux non + può eseguire codice BSD. Come risultato, c'è + più software disponibile per BSD che per Linux.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Chi fornisce supporto, servizi, e training su BSD?</title> + + <para>BSD ha sempre supportato BSD/OS, e recentemente ha + annunciato contratti di supporto per FreeBSD.</para> + + <para>Inoltre, ognuno dei progetti ha una lista di consulenti a pagamento: + <ulink + url="../../../../commercial/consulting_bycat.html">FreeBSD</ulink>, + <ulink + url="http://www.netbsd.org/gallery/consultants.html">NetBSD</ulink>, + e <ulink + url="http://www.openbsd.org/support.html">OpenBSD</ulink>.</para> + </sect2> + </sect1> +</article> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + End: +--> diff --git a/it_IT.ISO8859-15/articles/multi-os/Makefile b/it_IT.ISO8859-15/articles/multi-os/Makefile new file mode 100644 index 0000000000..886e21cc9d --- /dev/null +++ b/it_IT.ISO8859-15/articles/multi-os/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/multi-os/article.sgml b/it_IT.ISO8859-15/articles/multi-os/article.sgml new file mode 100644 index 0000000000..d805111b84 --- /dev/null +++ b/it_IT.ISO8859-15/articles/multi-os/article.sgml @@ -0,0 +1,761 @@ +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ + Original revision: 1.26 +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"> +%translators; +]> + +<article lang="it"> + <articleinfo> + <title>Installazione e Utilizzo di FreeBSD con altri Sistemi Operativi</title> + + <authorgroup> + <author> + <firstname>Jay</firstname> + + <surname>Richmond</surname> + + <affiliation> + <address><email>jayrich@sysc.com</email></address> + </affiliation> + </author> + </authorgroup> + + <pubdate>6 Agosto 1996</pubdate> + + <abstract> + <para>Questo documento spiega come far coesistere felicemente + FreeBSD con altri sistemi operativi come Linux, MS-DOS, + OS/2, e Windows 95. + Un ringraziamento speciale va a: Annelise Anderson + <email>andrsn@stanford.edu</email>, Randall Hopper + <email>rhh@ct.picker.com</email>, e Jordan K. Hubbard + <email>jkh@time.cdrom.com</email></para> + + <para>Traduzione a cura di &a.it.max;.</para> + </abstract> + </articleinfo> + + <sect1> + <title>Introduzione</title> + + <para>Molta 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 <xref linkend="ch5"> potrebbe esserti di aiuto più + di altre. Contiene descrizioni di specifiche configurazioni che + usano molteplici sistemi operativi.</para> + + <para>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 + <filename>\TOOLS</filename> oppure via + <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>). + Ti permette di ripartizionare il tuo hard disk senza distruggere i + dati già contenuti. C'è anche un programma commerciale + chiamato Partition Magic, che ti permette di ridimensionare e cancellare + partizioni senza conseguenze.</para> + </sect1> + + <sect1 id="ch2"> + <title>Panoramica sui Boot Manager</title> + + <para>Si 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.</para> + + <variablelist> + <varlistentry> + <term>Boot Easy</term> + + <listitem> + <para>Questo è il boot manager standard fornito con FreeBSD. + Ha la possibilità di far partire qualsiasi cosa, incluso BSD, + OS/2 (HPFS), Windows 95 (FAT e FAT32), e Linux. + Le partizioni vengono scelte con i tasti funzione (F1-F12).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Boot Manager di OS/2</term> + + <listitem> + <para>Questo fa partire FAT, HPFS, FFS (FreeBSD), ed EXT2 + (Linux). Farà anche partire partizioni FAT32. Le partizioni + vengono scelte usando i tasti freccia. L'OS/2 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 <ulink + URL="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">HOWTO + di Linux</ulink> sul World Wide Web per avere più + informazioni su come far partire Linux con il boot manager di + OS/2.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>OS-BS</term> + + <listitem> + <para>Questa è 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 + <filename>\TOOLS</filename> oppure via <ulink + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/">ftp</ulink>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>LILO, o LInux LOader</term> + + <listitem> + <para>Questo è un boot manager limitato. Farà partire + FreeBSD, sebbene siano necessari alcuni accorgimenti e sistemazioni + nel file di configurazione.</para> + </listitem> + </varlistentry> + </variablelist> + + <note id="fat32"> + <title>A proposito di FAT32</title> + + <para>FAT32 è il rimpiazzo al filesystem FAT incluso nella Release + Beta SR2 di Microsoft, che dovrebbe essere installata + con Windows 95 a partire dalla fine del 1996. Converte il + normale filesystem 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.</para> + </note> + </sect1> + + <sect1 id="ch3"> + <title>Una Installazione Tipica</title> + + <para>Diciamo che ho due grandi hard disk EIDE e voglio installarci + FreeBSD, Linux, e Windows 95.</para> + + <para>Ecco come potrei fare usando questi due hard disk:</para> + + <itemizedlist> + <listitem> + <para><filename>/dev/wd0</filename> (Primo hard disk)</para> + </listitem> + + <listitem> + <para><filename>/dev/wd1</filename> (Secondo hard disk)</para> + </listitem> + </itemizedlist> + + <para>Tutti e due hanno 1416 cilindri.</para> + + <procedure> + <step> + <para>Parto dalla partizione MS-DOS o dal dischetto di avvio + di Windows 95 che contiene l'utility <filename>FDISK.EXE</filename> + e creo una piccola partizione primaria da 50 megabyte + (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.</para> + </step> + + <step> + <para>Faccio ripartire ed installo Windows 95 (più facile a + dirsi che a farsi) sulla partizione <filename>C:</filename>.</para> + </step> + + <step> + <para>La prossima cosa che farò sarà installare Linux. + Non sono sicuro per le altre distribuzioni, ma la slackware include + LILO (guarda la <xref linkend="ch2">). Quando ripartiziono il + mio hard disk con l'<command>fdisk</command> di Linux, + metterò tutto ciò che riguarda Linux sul primo hard + disk (probabilmente 300 mega per una partizione di + root decente e un po' di spazio di swap).</para> + </step> + + <step> + <para>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).</para> + </step> + + <step> + <para>La parte rimanente di hard disk va a FreeBSD. + Assicurati anche che la <quote>slice</quote> root di FreeBSD + non vada oltre il 1024esimo cilindro. (Il 1024esimo + cilindro è circa intorno ai 528mb in un disco ipotetico, + il mio, di 720mb). Userò il resto dell'hard disk + (circa 270 mb) per <filename>/usr</filename> e + <filename>/</filename>. 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 <filename>/usr/src</filename> + e per lo spazio di swap.</para> + </step> + + <step> + <para>Se visualizzato con l'utility <command>fdisk</command> + di Windows 95, l'hard disk dovrebbe risultare in questo modo: + <screen>--------------------------------------------------------------------- + + 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 + +---------------------------------------------------------------------</screen> + ** Potrebbe essere FAT16 o FAT32 se stai usando l'aggiornamento OEM + SR2. (Guarda la <xref linkend="ch2">).</para> + </step> + + <step> + <para>Installazione di FreeBSD. Assicurati di avviare il computer + con il primo hard disk configurato con <quote>NORMAL</quote> 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 + (<filename>MSD.EXE</filename>), o controlla il BIOS) con il + parametro <literal>hd0=1416,16,63</literal> dove <replaceable> + 1416</replaceable> è il numero di cilindri sull'hard disk, + <replaceable>16</replaceable> è il numero di testine per + traccia, o <quote>heads per track</quote>, e + <replaceable>63</replaceable> è il numero di settori per + traccia sul drive.</para> + </step> + + <step> + <para>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.</para> + </step> + + <step> + <para>Al riavvio, Boot Easy dovrebbe riconoscere le tre partizioni + avviabili, cioè quella DOS (ovvero Windows 95), Linux, e + BSD (FreeBSD).</para> + </step> + </procedure> + </sect1> + + <sect1 id="ch4"> + <title>Considerazioni Speciali</title> + + <para>Molti 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. OS/2 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.</para> + + <para>Se installi Windows 95 su un sistema BSD esistente, questo + <quote>distruggerà</quote> 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 <ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/"> ftp</ulink>. + 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.</para> + + <para>Ricordati che OS/2 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 <xref linkend="ch2">). + FreeBSD può leggere gran parte degli altri filesystem, 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 filesystem. + Capito? Lo spero...</para> + </sect1> + + <sect1 id="ch5"> + <title>Esempi</title> + + <para><emphasis>(La sezione ha bisogno di lavoro, per favore spedisci + il tuo esempio a <email>jayrich@sysc.com</email>)</emphasis>.</para> + + <para>FreeBSD+Win95: Se hai installato FreeBSD dopo Windows 95, dovresti + vedere <literal>DOS</literal> nel menu di Boot Easy. Questo è + Windows 95. Se hai installato Windows 95 dopo FreeBSD, leggi la + <xref linkend="ch4"> 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 <errorname>invalid system disk</errorname> sotto + DOS (Windows 95) e FreeBSD non parte, prova a cercare una opzione nel BIOS + chiamata <quote>> 1024 cylinder support</quote> o + <quote>NORMAL/LBA mode</quote>. + 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 + <filename>FBSDBOOT.EXE</filename> che trovi sul CD (dovrebbe trovare la + tua partizione FreeBSD e farla partire).</para> + + <para>FreeBSD+OS/2+Win95: Nulla di nuovo qui. Il boot manager di OS/2 + può far partire tutti questi sistemi operativi, cosicché non + dovrebbero esserci problemi.</para> + + <para>FreeBSD+Linux: Puoi usare Boot Easy per far partire tutti e due i + sistemi operativi.</para> + + <para>FreeBSD+Linux+Win95: (guarda la <xref linkend="ch3">)</para> + </sect1> + + <sect1 id="sources"> + <title>Altre Fonti di Aiuto</title> + + <para>Ci sono molti <ulink + URL="http://www.linuxresources.com/LDP/HOWTO/HOWTO-INDEX.html">HOW-TO su + Linux</ulink> che trattano come affrontare il problema di avere + più sistemi operativi sullo stesso hard disk.</para> + + <para>Il <ulink + URL="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+DOS+Win95+OS2.html">Linux+DOS+Win95+OS2 + mini-HOWTO</ulink> offre aiuto su come configurare il boot manager di + OS/2 e il <ulink + URL="http://www.linuxresources.com/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD + mini-HOWTO</ulink> potrebbe essere anch'esso interessante. + Anche il <ulink + URL="http://www.in.net/~jkatz/win95/Linux-HOWTO.html">Linux-HOWTO</ulink> + è di grande aiuto.</para> + + <para>E il pacchetto di Hale Landis, <quote>How It Works</quote> contiene + alcune utili informazioni su tutti i tipi di geometrie dei drive e su + argomenti legati al processo di avvio. Puoi trovarlo su <ulink + URL="ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip">ftp://fission.dt.wdc.com/pub/otherdocs/pc_systems/how_it_works/allhiw.zip</ulink>.</para> + + <para>Inoltre non perderti la documentazione del kernel di FreeBSD sul + processo di avvio, disponibile nella distribuzione dei sorgenti del kernel + (si scompatta in <ulink + URL="file://localhost/usr/src/sys/i386/boot/biosboot/README.386BSD">file:/usr/src/sys/i386/boot/biosboot/README.386BSD</ulink>.</para> + </sect1> + + <sect1> + <title>Dettagli Tecnici</title> + + <para><emphasis>(Contributo di Randall Hopper, + <email>rhh@ct.picker.com</email>)</emphasis></para> + + <para>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.</para> + + <sect2> + <title>Introduzione agli Hard Disk</title> + + <para>Sono 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.</para> + + <para>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:</para> + + <informalexample> + <para>(numero di cilindri) × (numero di testine) × (63 + settori/traccia) × (512 byte/settore)</para> + </informalexample> + + <para>Per esempio, sul mio Western Digital AC31600 EIDE, questo + è:</para> + + <informalexample> + <para>(3148 cilindri) × (16 testine) × (63 + settori/traccia) × (512 byte/settore)</para> + </informalexample> + + <para>che sarebbe 1,624,670,208 byte, o circa 1.6 Giga.</para> + + <para>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 + <xref linkend="limits">), non puoi usare un qualsiasi programma per + conoscere la geometria fisica. Questo perché molti programmi (ad + esempio <filename>MSD.EXE</filename> o l'fdisk di FreeBSD) non + identificano la geometria fisica del disco, fanno invece riferimento + alla <firstterm>geometria traslata</firstterm> (Numeri virtuali usando + LBA). Continua a leggere per saperne di più.</para> + + <para>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.</para> + + <para>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 + <literal>boot sector</literal> o <literal>master boot record</literal>. + Tra le numerose informazioni utili che si possono trovare c'è il + pacchetto di documentazione <citetitle>How It Works</citetitle> (in + italiano <quote>Come Funziona</quote>) di Hale Landis. Guarda la + <xref linkend="sources"> per alcuni puntatori a questo + pacchetto.</para> + + <para>Ok, troppa terminologia finora. Adesso parliamo del processo di + avvio.</para> + </sect2> + + <sect2 id="booting"> + <title>Il Processo di Avvio</title> + + <para>Sul 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 <firstterm>partizioni</firstterm>, ciascuna delle + quali è uno spazio, una parte, di quel disco. FreeBSD chiama + queste partizioni <firstterm>slices</firstterm> per evitare confusione + con le sue partizioni, di cui ora non parleremo. + Ciascuna partizione può contenere un sistema operativo + diverso.</para> + + <para>Ogni elemento che rappresenta una partizione presente nell'MBR ha un + <firstterm>Partition ID</firstterm>, un valore <firstterm>Start + Cylinder/Head/Sector</firstterm>, e un valore <firstterm>End + Cylinder/Head/Sector</firstterm>. 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 <xref linkend="tbl-pid"> + mostra una lista di partition ID più comuni.</para> + + <table id="tbl-pid"> + <title>Partition ID</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>ID (hex)</entry> + <entry>Descrizione</entry> + </row> + </thead> + + <tbody> + <row> + <entry>01</entry> + <entry>DOS12 primaria (12-bit FAT)</entry> + </row> + + <row> + <entry>04</entry> + <entry>DOS16 primaria (16-bit FAT)</entry> + </row> + + <row> + <entry>05</entry> + <entry>DOS estesa</entry> + </row> + + <row> + <entry>06</entry> + <entry>DOS primaria di grande dimensione (> 32MB)</entry> + </row> + + <row> + <entry>0A</entry> + <entry>OS/2</entry> + </row> + + <row> + <entry>83</entry> + <entry>Linux (EXT2FS)</entry> + </row> + + <row> + <entry>A5</entry> + <entry>FreeBSD, NetBSD, 386BSD (UFS)</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>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 <firstterm>Partition + Boot Sector</firstterm> che si trova all'inizio di ciascuna + partizione.</para> + + <para>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.</para> + + <para>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.</para> + </sect2> + + <sect2 id="limits"> + <title>Limitazioni sull'Avvio e Avvertimenti</title> + + <para>Ora un po' di cose interessanti alle quali devi stare + attento.</para> + + <sect3> + <title>Il maledetto limite dei 1024 cilindri e l'aiuto dell'LBA del + BIOS</title> + + <para>La 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.</para> + + <para>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:</para> + + <itemizedlist> + <listitem> + <para>1024 cilindri, massimo</para> + </listitem> + + <listitem> + <para>256 testine, massimo</para> + </listitem> + + <listitem> + <para>64 settori/traccia, massimo (in realtà 63, + <literal>0</literal> non è disponibile)</para> + </listitem> + </itemizedlist> + + <para>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:</para> + + <informalexample> + <para>1024 cilindri/disco × 16 testine/disco × 63 + settori/traccia × 512 byte/settore</para> + </informalexample> + + <para>che è intorno al summenzionato limite dei 528MB.</para> + + <para>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).</para> + + <para>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.</para> + + <para>Per usare ancora l'esempio del mio Western Digital da 1.6 + Giga, la sua geometria fisica è:</para> + + <informalexample> + <para>(3148 cilindri, 16 testine, 63 settori/traccia, 512 + byte/settore)</para> + </informalexample> + + <para>Ad ogni modo, il mio LBA del BIOS rimappa questo in:</para> + + <informalexample> + <para>(787 cilindri, 64 testine, 63 settori/traccia, 512 + byte/settore)</para> + </informalexample> + + <para>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).</para> + </sect3> + + <sect3> + <title>Boot Manager e Allocazione del Disco</title> + + <para>Un 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.</para> + + <para>Se hai seguito il discorso nella <xref linkend="booting"> 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.</para> + + <para>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.</para> + + <para>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.</para> + + <para>Come riferimento, i seguenti boot manager usano il Master Boot + Sector per immagazzinare il loro codice e i loro dati:</para> + + <itemizedlist> + <listitem> + <para>OS-BS 1.35</para> + </listitem> + + <listitem> + <para>Boot Easy</para> + </listitem> + + <listitem> + <para>LILO</para> + </listitem> + </itemizedlist> + + <para>Questi boot manager usano alcuni settori addizionali dopo + il Master Boot Sector:</para> + + <itemizedlist> + <listitem> + <para>OS-BS 2.0 Beta 8 (settori 2-5)</para> + </listitem> + + <listitem> + <para>Boot Manager di OS/2</para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Cosa fare se il tuo computer non parte?</title> + + <para>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.</para> + + <para>Se hai una partizione DOS avviabile sul tuo hard disk, puoi + partire da un floppy DOS, e poi eseguire il comando:</para> + + <informalexample> + <screen>A:\> <userinput>FDISK /MBR</userinput></screen> + </informalexample> + + <para>Per 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.</para> + </sect3> + </sect2> + </sect1> +</article> |