diff options
Diffstat (limited to 'it_IT.ISO8859-15')
117 files changed, 0 insertions, 51956 deletions
diff --git a/it_IT.ISO8859-15/Makefile b/it_IT.ISO8859-15/Makefile deleted file mode 100644 index bff03f518f..0000000000 --- a/it_IT.ISO8859-15/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -SUBDIR = articles -SUBDIR+= books - -COMPAT_SYMLINK = it - -DOC_PREFIX?= ${.CURDIR}/.. - -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/Makefile b/it_IT.ISO8859-15/articles/Makefile deleted file mode 100644 index d646345f96..0000000000 --- a/it_IT.ISO8859-15/articles/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -SUBDIR = -SUBDIR+= committers-guide -SUBDIR+= euro -SUBDIR+= explaining-bsd -SUBDIR+= filtering-bridges -SUBDIR+= multi-os -SUBDIR+= new-users -SUBDIR+= vm-design - -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 deleted file mode 100644 index 0ff2b6dcad..0000000000 --- a/it_IT.ISO8859-15/articles/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# -# $FreeBSD$ -# - -DESTDIR?= ${DOCDIR}/it_IT.ISO8859-15/articles/${.CURDIR:T} diff --git a/it_IT.ISO8859-15/articles/committers-guide/Makefile b/it_IT.ISO8859-15/articles/committers-guide/Makefile deleted file mode 100644 index 30139e3c4c..0000000000 --- a/it_IT.ISO8859-15/articles/committers-guide/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Guida del Committer - -MAINTAINER=ale@FreeBSD.org - -DOC?= article - -FORMATS?= html -WITH_ARTICLE_TOC?= YES - -INSTALL_COMPRESSED?= gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.sgml - -URL_RELPREFIX?= ../../../.. -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 deleted file mode 100644 index a71c482896..0000000000 --- a/it_IT.ISO8859-15/articles/committers-guide/article.sgml +++ /dev/null @@ -1,1797 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.207 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<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> - - <year>2003</year> - - <year>2004</year> - - <holder>The FreeBSD Italian Documentation Project</holder> - </copyright> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.cvsup; - &tm-attrib.ibm; - &tm-attrib.intel; - &tm-attrib.sparc; - &tm-attrib.general; - </legalnotice> - - <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> - - &trans.it.alex; - </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 role="fqdn">ncvs.FreeBSD.org</hostid></entry> - </row> - - <row> - <entry><emphasis>Metodi di Accesso</emphasis></entry> - - <entry>&man.ssh.1;, solo protocollo 2</entry> - </row> - - <row> - <entry><emphasis>CVSROOT Principale</emphasis></entry> - - <entry><hostid - role="fqdn">ncvs.FreeBSD.org</hostid><literal>:</literal><filename>/home/ncvs</filename> - (guarda anche la <xref linkend="cvs.operations">).</entry> - </row> - - <row> - <entry><emphasis>&a.cvs; Principali</emphasis></entry> - - <entry>&a.peter; e &a.markm;, così come &a.joe; e &a.marcus; - per i <filename>ports/</filename></entry> - </row> - - <row> - <entry><emphasis>Mailing List</emphasis></entry> - - <entry>&a.doc-developers;, &a.doc-committers;; - &a.ports-developers;, &a.ports-committers;; - &a.src-developers;, &a.src-committers;. (Ogni repository di - progetto ha le sue mailing list -developers e -committers. Gli - archivi per queste liste possono essere trovati nei file - <filename>/home/mail/<replaceable>repository-name</replaceable>-developers-archive</filename> - e - <filename>/home/mail/<replaceable>repository-name</replaceable>-committers-archive</filename> - sul cluster di <hostid - role="domainname">FreeBSD.org</hostid>.)</entry> - </row> - - <row> - <entry><emphasis>Report mensili del Core Team</emphasis></entry> - <entry><filename>/home/core/public/monthly-report</filename> - sul cluster di <hostid - role="domainname">FreeBSD.org</hostid>.</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 del progetto. Per &man.ssh.1; - è permesso solo il protocollo 2. - Questi sono generalmente più sicuri che un semplice &man.telnet.1; - o &man.rlogin.1; visto che la negoziazione delle credenziali - avverrà sempre in modo cifrato. - Tutto il traffico è cifrato di default - con &man.ssh.1;. Insieme a programmi di utilità come - &man.ssh-agent.1; e &man.scp.1;, anch'essi disponibili, &man.ssh.1; - è di gran lunga più conveniente. Se non sai nulla di - &man.ssh.1;, guarda la <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>doceng@</entry> - - <entry>doc/, www/, documentazione src/</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> - - <sect2> - <title>Regolamento dell'attività del <filename>doc/</filename> - committer in <filename>src/</filename></title> - - <itemizedlist> - <listitem> - <para>I doc committer possono effettuare commit riguardanti modifiche - alla documentazione sui file src, come pagine man, README, - database dei fortune, file dei calendari, e correzioni sui commenti - senza l'approvazione di un src committer, prestando la solita - attenzione e cura ai commit.</para> - </listitem> - - <listitem> - <para>I doc committer possono effettuare commit riguardanti piccole - modifiche e correzioni ai sorgenti, come correzioni per la - compilazione, piccole funzionalità, ecc., con un - <quote>Approved by</quote> di un src committer.</para> - </listitem> - - <listitem> - <para>I doc committer possono cercare di ottenere il commit bit sui - src acquisendo un mentore, che proporrà il doc committer al - core. Una volta approvato, verrà aggiunto al file - <filename>access</filename> ed inizierà il normale periodo - sotto la guida del mentore, che implica l'aggiunta di - <quote>Approved by</quote> per un certo periodo.</para> - </listitem> - - <listitem> - <para><quote>Approved by</quote> può essere usato solamente - se l'approvazione è di un src committer senza mentore — - i committer ancora sotto la guida di un mentore possono fornire al - più un <quote>Reviewed by</quote> ma non un - <quote>Approved by</quote>.</para> - </listitem> - </itemizedlist> - </sect2> - </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 delle sue modifiche dirette allo scopo di ripulire o - sistemare dei gravi abusi di CVS da parte di un committer. - Nel caso dovessi causare qualche problema al repository, - diciamo una errata operazione di <command>cvs import</command> o - <command>cvs tag</command>, invia un messaggio ai &a.cvs; (o chiama uno di - loro) ed esponi il problema ad uno di loro. Gli unici che hanno il - permesso di manipolare direttamente i bit del repository sono i - <quote>repomeister</quote>. Per questo non ci sono shell di login - disponibili sulle macchine del repository, tranne che per i - repomeister.</para> - - <para>L'albero CVS è attualmente diviso in quattro repository - differenti, ovvero <literal>doc</literal>, <literal>ports</literal>, - <literal>projects</literal> e <literal>src</literal>. Questi vengono - ricomposti sotto un unico <literal>CVSROOT</literal> quando vengono - distribuiti tramite <application>CVSup</application> per la convenienza - dei nostri utenti.</para> - - <note> - <para>Nota che il modulo <literal>www</literal> che contiene i sorgenti - del <ulink url="http://www.FreeBSD.org">sito web di FreeBSD</ulink> - è contenuto all'interno del repository - <literal>doc</literal>.</para> - </note> - - <para>I repository CVS sono ospitati sulle macchine repository. - Attualmente, ognuno dei repository elencati qui sopra risiede sulla stessa - macchina fisica, <hostid role="hostname">ncvs.FreeBSD.org</hostid>, ma - per permettere la possibilità di averne ognuno su una macchina - diversa in futuro, ci sono diversi nomi di host che i committer - dovrebbero utilizzare. Inoltre, ogni repository risiede in una - directory differente. La seguente tabella racchiude la situazione.</para> - - <table frame="none" id="cvs-repositories-and-hosts"> - <title>Repository CVS, Host e Directory di &os;</title> - - <tgroup cols="3"> - <thead> - <row> - <entry>Repository</entry> - - <entry>Host</entry> - - <entry>Directory</entry> - </row> - </thead> - - <tbody> - <row> - <entry>doc</entry> - - <entry>dcvs.FreeBSD.org</entry> - - <entry>/home/dcvs</entry> - </row> - - <row> - <entry>ports</entry> - - <entry>pcvs.FreeBSD.org</entry> - - <entry>/home/pcvs</entry> - </row> - - <row> - <entry>projects</entry> - - <entry>projcvs.FreeBSD.org</entry> - - <entry>/home/projcvs</entry> - </row> - - <row> - <entry>src</entry> - - <entry>ncvs.FreeBSD.org</entry> - - <entry>/home/ncvs</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>Le operazioni sul CVS sono fatte da remoto impostando la variabile di - ambiente <envar>CVSROOT</envar> a <hostid - role="fqdn">ncvs.FreeBSD.org</hostid><literal>:</literal><filename>/home/ncvs</filename> - e la variabile <envar>CVS_RSH</envar> a <command>ssh</command>, e - quindi effettuando le appropriate operazioni di check-out/check-in. - Molti committer definiscono degli alias che si espandono nella corretta - invocazione di <application>cvs</application> per il repository - appropriato. Per esempio, un utente di &man.tcsh.1; può aggiungere - le seguenti righe al suo <filename>.cshrc</filename> per questo - scopo:</para> - - <programlisting>alias dcvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@dcvs.FreeBSD.org:/home/dcvs -alias pcvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@pcvs.FreeBSD.org:/home/pcvs -alias projcvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@projcvs.FreeBSD.org:/home/projcvs -alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.org:/home/ncvs</programlisting> - - <para>In questo modo è possibile fare tutte le operazioni di - CVS localmente ed usare <command><replaceable>X</replaceable>cvs - commit</command> per effettuare il commit sull'albero CVS ufficiale. - Se desideri aggiungere qualcosa di totalmente nuovo (ad esempio dei - sorgenti in contrib, ecc.), deve essere usato <command>cvs - import</command>. Guarda come riferimento la pagina man di &man.cvs.1; - per l'utilizzo.</para> - - <note> - <para>Per favore <emphasis>non</emphasis> usare <command>cvs - checkout</command> o <command>update</command> con la macchina con il - repository ufficiale impostata come CVS Root per tenere aggiornato il - tuo albero dei sorgenti. CVS da remoto non è ottimizzato per la - distribuzione via rete e richiede un grande sovraccarico di lavoro e di - amministrazione sul lato server. Utilizza il nostro metodo di - distribuzione avanzato <command>cvsup</command> per ottenere i bit del - repository, ed esegui solamente l'operazione di - <command>commit</command> sull'host con il repository. - Forniamo un'estesa rete di mirror cvsup per questo scopo, così - come diamo accesso al <hostid>cvsup-master</hostid> se hai veramente - bisogno di essere aggiornato alle ultime modifiche. - Il <hostid>cvsup-master</hostid> ha la potenza necessaria a gestire - questa cosa, il repository principale no. &a.kuriyama; è a capo - del <hostid>cvsup-master</hostid>.</para> - </note> - - <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/"></ulink>. - 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>. La directory - <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, puoi aggiornarlo 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"></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>Aggiungi la tua entity di autore in - <filename>doc/en_US.ISO8859-1/share/sgml/authors.ent</filename>; - questo dovrebbe essere fatto per prima cosa, visto che l'omissione - di questo commit farà in modo che i prossimi commit - romperanno la compilazione del ramo doc/.</para> - - <para>Questo è un compito relativamente semplice, ma rimane una - buona prima prova delle tue abilità con CVS.</para> - </listitem> - - <listitem> - <para>Aggiungi te stesso alla sezione <quote>Developers</quote> della - <ulink url="&url.articles.contributors.en;/index.html">Contributors - List</ulink> e - rimuovere te stesso dalla sezione <quote>Additional - Contributors</quote>.</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>Dovresti aggiungere la tua chiave PGP o GnuPG in - <filename>doc/share/pgpkeys</filename> (e se non ce l'hai, dovresti - creartene una). Non dimenticare di effettuare il commit del file - <filename>doc/share/pgpkeys/pgpkeys.ent</filename> aggiornato.</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/share/pgpkeys/README">README</ulink> - per maggiori informazioni.</para> - - <note> - <para>È importante avere una chiave PGP/GnuPG aggiornata nel - Manuale, visto che potrà essere richiesta per - l'identificazione del committer, ad esempio dai &a.admins; per - il recupero dell'account. Un portachiavi completo degli utenti - <hostid role="domainname">FreeBSD.org</hostid> è disponibile - su <ulink - url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink>.</para> - </note> - </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> - - <para>A causa dell'intenso carico per la gestione dello SPAM che - arriva ai server di posta centrali che processano le mailing list, i - server front-end fanno alcuni controlli e non fanno passare alcuni - messaggi in base a questi controlli. Al momento l'unico controllo - attivo è la verifica sulla correttezza delle informazioni DNS - dell'host che si connette, ma questo potrebbe cambiare. Alcune - persone accusano questi controlli di respingere email valide. Se - vuoi disabilitare questi controlli per la tua email puoi creare - un file chiamato <filename>~/.spam_lover</filename> nella tua - directory home su <hostid - role="fqdn">freefall.FreeBSD.org</hostid>.</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 è responsabile di insegnarti le regole e le - convenzioni del progetto e guidare i tuoi primi passi nella - comunità dei committer. È anche personalmente responsabile - delle tue azioni durante questo periodo iniziale. Fino a quando il tuo - mentore non decide (e lo annuncia con un commit forzato su - <filename>access</filename>) che sei diventato pratico e pronto per - effettuare commit da solo, non dovresti effettuare commit senza aver - prima ottenuto la revisione e l'approvazione del tuo mentore, e dovresti - documentare l'approvazione con una riga <literal>Approved by:</literal> - nel messaggio di commit.</para> - - <para>Tutti i commit <filename>src</filename> 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="pref-license"> - <title>Licenza Preferita per i Nuovi File</title> - - <para>Attualmente il &os; Project suggerisce di usare il seguente testo - come schema di licenza preferito:</para> - -<programlisting>Copyright © <Year> <Author>. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE.</programlisting> - - <para>Il progetto &os; scoraggia fortemente la cosiddetta clausola - pubblicitaria nel nuovo codice. A causa del grande numero di - contributi al progetto &os;, osservare questa clausola per molti - fornitori commerciali è diventato difficile. Se hai codice - nell'albero con la clausola pubblicitaria, pensa a rimuoverla. - In pratica, considera di usare la licenza qui sopra per il tuo - codice.</para> - - <para>Il progetto &os; scoraggia completamente nuove licenze e variazioni - sulle licenze standard. Nuove licenze richiedono l'approvazione di - <email>core@FreeBSD.org</email> per risiedere nel repository principale. - Più licenze differenti vengono usate nell'albero, più - problemi possono essere causati a chi desidera utilizzare questo codice, - tipicamente da conseguenze non previste di una licenza strutturata - male.</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> - - <para>Non mettere in dubbio le intenzioni di qualcuno che non è - d'accordo con te. Se vedono una soluzione differente dalla tua per un - problema, o anche un problema diverso, non è perché sono - stupidi, perché hanno una dubbia origine, o perché stanno - cercando di distruggere il tuo duro lavoro, la tua immagine personale, o - FreeBSD, ma semplicemente perché hanno una visione differente del - mondo. La diversità è una buona cosa.</para> - - <para>Dissenti onestamente. Argomenta la tua posizione con i suoi meriti, - sii onesto sui difetti che può avere, e sii disponibile a guardare - le loro soluzioni, o anche le loro visioni del problema, con mente - aperta.</para> - - <para>Accetta le correzioni. Possiamo tutti sbagliare. Se hai fatto un - errore, scusati e vai avanti con la tua vita. Non picchiarti, e - sicuramente non picchiare gli altri per il tuo sbaglio. Non sprecare - tempo imbarazzandoti o recriminando, risolvi solo il problema e vai - avanti.</para> - - <para>Chiedi aiuto. Cerca (e dai) revisioni dagli altri. Uno delle cose - in cui dovrebbe eccellere il software open source è il numero di - occhi che lo scrutano; questo non è vero se nessuno - revisionerà il codice.</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="&url.base;/support.html">http://www.FreeBSD.org/support.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:freebsd-doc:</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/"></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.doceng;</term> - - <listitem> - <para>doceng è il gruppo responsabile dell'infrastruttura - per la realizzazione della documentazione, approva i nuovi committer - della documentazione, e assicura che il sito web di FreeBSD e la - documentazione sul sito FTP siano aggiornati rispetto all'albero - CVS. Non è un organo di risoluzione dei conflitti. - La maggior parte delle discussioni relative alla documentazione - prendono posto sulla &a.doc;. Maggiori dettagli riguardanti il - team doceng possono essere trovati nel suo <ulink - url="http://www.FreeBSD.org/internal/doceng.html">statuto</ulink>. - I committer interessati a contribuire - alla documentazione dovrebbero familiarizzare con il <ulink - url="&url.books.fdp-primer.en;/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.scottl;</term> - <term>&a.kensmith;</term> - <term>&a.hrs;</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>Hiroki è 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 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="&url.base;/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>Tutti i committer sono iscritti a -developers. 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/id_dsa.pub</filename> o - <filename><envar>$HOME</envar>/.ssh/id_rsa.pub</filename>) - alla persona che ti sta configurando come committer in modo che possa - inserirla nel file - <filename><replaceable>tualogin</replaceable></filename> su - <hostid>freefall</hostid>.</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="archs"> - <title>Supporto per Diverse Architetture</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>Sfortunatamente, non ci sono molti benefici derivanti dall'essere un - committer. Il riconoscimento di essere un progettista di software - competente è probabilmente l'unica cosa che sarà di tuo - vantaggio a lungo termine. Ciononostante, ci sono comunque alcuni - benefici:</para> - - <variablelist> - <varlistentry> - <term>Accesso diretto al <hostid>cvsup-master</hostid></term> - - <listitem> - <para>Come committer, puoi chiedere a &a.kuriyama; accesso diretto - a <hostid role="fqdn">cvsup-master.FreeBSD.org</hostid>, - fornendo l'output della tua chiave pubblica tramite - <command>cvpasswd - <replaceable>yourusername</replaceable>@FreeBSD.org - freefall.FreeBSD.org</command>. Nota: devi specificare - <hostid>freefall.FreeBSD.org</hostid> sulla riga di comando si - <command>cvpasswd</command> anche se il server attuale è - <hostid>cvsup-master</hostid>. L'accesso al - <hostid>cvsup-master</hostid> non dovrebbe essere abusato visto che - è una macchina carica di lavoro.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Un abbonamento gratuito al set da 4 CD o DVD</term> - - <listitem> - <para><ulink url="http://www.freebsdmall.com">FreeBSD Mall, - Inc.</ulink> offre un abbonamento gratuito al set da 4 CD o DVD a - tutti i committer di FreeBSD. Le informazioni su come ottenere il - prodotto gratuitamente vengono spedite a - <email>developers@FreeBSD.org</email> dopo ogni release.</para> - </listitem> - </varlistentry> - </variablelist> - </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 deleted file mode 100644 index 2588133637..0000000000 --- a/it_IT.ISO8859-15/articles/euro/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Il simbolo dell'Euro su FreeBSD - -DOC?= article - -FORMATS?= html - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.sgml - -URL_RELPREFIX?= ../../../.. -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 deleted file mode 100644 index 2d2f3b4ea3..0000000000 --- a/it_IT.ISO8859-15/articles/euro/article.sgml +++ /dev/null @@ -1,393 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.10 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<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> - - <year>2003</year> - - <holder>The FreeBSD Italian Documentation Project</holder> - </copyright> - - <pubdate role="rcs">$FreeBSD$</pubdate> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.general; - </legalnotice> - - <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> - - &trans.it.dema; - </abstract> - </articleinfo> - - <sect1> - <title>L'Euro in 5 minuti</title> - - <para>Se avete già familiarità con la - <ulink url="&url.books.handbook;/l10n.html">localization</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 - <application>XFree86</application>.</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 <quote>simbolo universale di valuta</quote>. - 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 <quote>rovinato</quote>. - 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>sysinstall</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 con - <application>bash</application> o - <application>tcsh</application>.</para> - </note> - </sect2> - - <sect2> - <title>Correggere le variabili d'ambiente</title> - - <para>Le shell (<application>bash</application>, - <application>tcsh</application>) 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> - (<application>bash</application>), oppure:</para> - - <programlisting>setenv LC_CTYPE <replaceable>it_IT</replaceable>.ISO8859-15</programlisting> - - <para>al vostro file <filename>.login</filename> - (<application>tcsh</application>). 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 &man.xrdb.1;. - 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 - <application>XFree86</application>: - <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 deleted file mode 100644 index 5d5291bf47..0000000000 --- a/it_IT.ISO8859-15/articles/explaining-bsd/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Panoramica su BSD - -DOC?= article - -FORMATS?= html -WITH_ARTICLE_TOC?= YES - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.sgml - -URL_RELPREFIX?= ../../../.. -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 deleted file mode 100644 index 717ae9e64f..0000000000 --- a/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml +++ /dev/null @@ -1,609 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.13 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<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> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.apple; - &tm-attrib.linux; - &tm-attrib.opengroup; - &tm-attrib.sun; - &tm-attrib.xfree86; - &tm-attrib.general; - </legalnotice> - - <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 &unix; 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> - - &trans.it.surrender; - </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="&url.base;/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 &macos; 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/">&macos; - X</ulink> è l'ultima versione del sistema operativo per - la linea &macintosh; della <ulink url="http://www.apple.com/">Apple - Computer Inc.</ulink>. L'anima BSD &unix; di questo sistema - operativo, <ulink - url="http://developer.apple.com/darwin/">Darwin</ulink>, è - disponibile come un sistema operativo open source completamente - funzionante per computer x86 e PPC. Il sistema grafico Aqua/Quartz - e molti altri aspetti proprietari di &macos; X rimangono comunque - closed source. Numerosi sviluppatori di Darwin sono anche - committer di FreeBSD, e viceversa.</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 la maggior parte dei binari Linux, - mentre Linux non può eseguire i binari BSD. Molte - implementazioni di BSD possono anche eseguire i binari di altri - sistemi di tipo &unix;. Come risultato, BSD può - rappresentare un percorso di migrazione più semplice da - altri sistemi rispetto a 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="&url.base;/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/filtering-bridges/Makefile b/it_IT.ISO8859-15/articles/filtering-bridges/Makefile deleted file mode 100644 index b41d2ebd8c..0000000000 --- a/it_IT.ISO8859-15/articles/filtering-bridges/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Filtering Bridges - -DOC?= article - -FORMATS?= html - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.sgml - -URL_RELPREFIX?= ../../../.. -DOC_PREFIX?= ${.CURDIR}/../../.. - -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml b/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml deleted file mode 100644 index 7f3b9d7d2a..0000000000 --- a/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml +++ /dev/null @@ -1,437 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.20 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<article lang="it"> - <articleinfo> - <title>Filtering Bridges</title> - - <authorgroup> - <author> - <firstname>Alex</firstname> - - <surname>Dupre</surname> - - <affiliation> - <address><email>ale@FreeBSD.org</email></address> - </affiliation> - </author> - </authorgroup> - - <pubdate>$FreeBSD$</pubdate> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.3com; - &tm-attrib.intel; - &tm-attrib.general; - </legalnotice> - - <abstract> - <para>Spesso è utile dividere una rete fisica (come una Ethernet) - in due segmenti separati, senza dover creare sottoreti e usare un router - per collegarli assieme. Il dispositivo che collega due reti insieme in - questo modo è chiamato bridge. Un sistema FreeBSD con due - interfacce di rete è sufficiente per raggiungere lo scopo.</para> - - <para>Un bridge funziona individuando gli indirizzi del livello - <acronym>MAC</acronym> (indirizzi Ethernet) dei dispositivi collegati ad - ognuna delle sue interfacce di rete e inoltrando il traffico tra le due - reti solo se il mittente e il destinatario si trovano su segmenti - differenti. Sotto molti punti di vista un brigde è simile a uno - switch Ethernet con solo due porte.</para> - </abstract> - </articleinfo> - - <sect1 id="filtering-bridges-why"> - <title>Perché usare un filtering bridge?</title> - - <para>Sempre più frequentemente, grazie all'abbassamento dei costi - delle connessioni a banda larga (xDSL) e a causa della riduzione del - numero di indirizzi IPv4 disponibili, molte società si ritrovano - collegate ad Internet 24 ore su 24 e con un numero esiguo (a volte nemmeno - una potenza di 2) di indirizzi IP. In situazioni come queste spesso - è desiderabile avere un firewall che regoli i permessi di ingresso - e uscita per il traffico da e verso Internet, ma una soluzione basata - sulle funzionalità di packet filtering dei router può non - essere applicabile, vuoi per problemi di suddivisione delle sottoreti, - vuoi perché il router è di proprietà del fornitore di - accesso (<acronym>ISP</acronym>), vuoi perché il router non - supporta tali funzionalità. È in questi casi che l'utilizzo - di un filtering bridge diventa altamente consigliato.</para> - - <para>Un firewall basato su bridge può essere configurato e inserito - direttamente tra il router xDSL e il vostro hub/switch Ethernet senza - alcun problema di assegnazione di indirizzi IP.</para> - - <note> - <para>La traduzione italiana di <quote>firewall</quote> è - <quote>muro anti incendio</quote>, <emphasis>non</emphasis> - <quote>muro di fuoco</quote> come molti pensano. Nel corso - dell'articolo, comunque, manterrò i termini tecnici nella loro - lingua originale in modo da non creare confusione o - ambiguità.</para> - </note> - </sect1> - - <sect1 id="filtering-bridges-how"> - <title>Metodi d'installazione</title> - - <para>Aggiungere le funzionalità di bridge a una macchina FreeBSD non - è difficile. Dalla release 4.5 è possibile caricare tali - funzionalità come moduli anziché dover ricompilare il - kernel, semplificando di gran lunga la procedura. Nelle prossime - sottosezioni spiegherò entrambi i metodi di installazione.</para> - - <important> - <para><emphasis>Non</emphasis> seguite entrambe le istruzioni: le - procedure sono <emphasis>a esclusione</emphasis>. Scegliete - l'alternativa che meglio si adatta alle vostre esigenze e - capacità.</para> - </important> - - <para>Prima di continuare è necessario assicurarsi di avere almeno - due schede di rete Ethernet che supportino la modalità promiscua - sia in ricezione che in trasmissione, difatti devono essere in grado di - inviare pacchetti Ethernet con qualunque indirizzo, non solo il loro. - Inoltre, per avere un buon rendimento, le schede dovrebbero essere di - tipo PCI bus mastering. Le scelte migliori sono ancora le Intel - ðerexpress; Pro seguite dalle &tm.3com; 3c9xx subito dopo. Per - comodità nella configurazione del firewall può essere - utile avere due schede di marche differenti (che usino drivers - differenti) in modo da distinguere chiaramente quale interfaccia sia - collegata al router e quale alla rete interna.</para> - - <sect2 id="filtering-bridges-kernel"> - <title>Configurazione del Kernel</title> - - <para>Così avete deciso di utilizzare il più vecchio e - collaudato metodo di installazione. Per prima cosa bisogna - aggiungere le seguenti righe al file di configurazione del - kernel:</para> - - <programlisting>options BRIDGE -options IPFIREWALL -options IPFIREWALL_VERBOSE</programlisting> - - <para>La prima riga serve a compilare il supporto per il bridge, la - seconda il firewall e la terza le funzioni di logging del firewall. - </para> - - <para>Adesso è necessario compilare e installare il nuovo kernel. - Si possono trovare le istruzioni nella sezione <ulink - url="&url.books.handbook;/kernelconfig-building.html"> - Building and Installing a Custom Kernel</ulink> dell'handbook.</para> - </sect2> - - <sect2 id="filtering-bridges-modules"> - <title>Caricamento dei Moduli</title> - - <para>Se avete deciso di usare il nuovo e più semplice metodo di - installazione, l'unica cosa da fare è aggiungere la seguente riga - al file <filename>/boot/loader.conf</filename>:</para> - - <programlisting>bridge_load="YES"</programlisting> - - <para>In questo modo all'avvio della macchina verrà caricato - insieme al kernel anche il modulo <filename>bridge.ko</filename>. Non - è necessario invece aggiungere una riga per il modulo - <filename>ipfw.ko</filename> in quanto verrà caricato in - automatico dallo script <filename>/etc/rc.network</filename> dopo aver - seguito i passi della prossima sezione.</para> - </sect2> - </sect1> - - <sect1 id="filtering-bridges-finalprep"> - <title>Preparativi finali</title> - - <para>Prima di riavviare per caricare il nuovo kernel o i moduli richiesti - (a seconda del metodo che avete scelto in precedenza), bisogna effettuare - alcune modifiche al file <filename>/etc/rc.conf</filename>. La regola di - default del firewall è di rifiutare tutti i pacchetti IP. Per - iniziare attiviamo il firewall in modalità <option>open</option>, - in modo da verificare il suo funzionamento senza alcun problema di - filtraggio pacchetti (nel caso stiate eseguendo questa procedura da - remoto, tale accorgimento vi consentirà di non rimanere - erroneamente tagliati fuori dalla rete). - Inserite queste linee nel file <filename>/etc/rc.conf</filename>:</para> - - <programlisting>firewall_enable="YES" -firewall_type="open" -firewall_quiet="YES" -firewall_logging="YES"</programlisting> - - <para>La prima riga serve ad attivare il firewall (e a caricare il modulo - <filename>ipfw.ko</filename> nel caso non fosse già compilato nel - kernel), la seconda a impostarlo in modalità - <option>open</option> (come descritto nel file - <filename>/etc/rc.firewall</filename>), la terza a non - visualizzare il caricamento delle regole e la quarta ad abilitare il - supporto per il logging.</para> - - <para>Per quanto riguarda la configurazione delle interfacce di rete, il - metodo più utilizzato è quello di assegnare un IP a solo una - delle schede di rete, ma il bridge funziona egualmente anche se entrambe o - nessuna delle interfacce ha IP settati. In quest'ultimo caso (IP-less) la - macchina bridge sarà ancora più nascosta in quanto - inaccessibile dalla rete: per configurarla occorrerà quindi entrare - da console o tramite una terza interfaccia di rete separata dal bridge. A - volte all'avvio della macchina qualche programma richiede di accedere alla - rete, per esempio per una risoluzione di dominio: in questo caso è - necessario assegnare un IP all'interfaccia esterna (quella collegata a - Internet, dove risiede il server <acronym>DNS</acronym>), visto che il - bridge verrà attivato alla fine della procedura di avvio. Questo - vuol dire che l'interfaccia <devicename>fxp0</devicename> (nel nostro - caso) deve essere menzionata nella sezione ifconfig del file - <filename>/etc/rc.conf</filename>, mentre la <devicename>xl0</devicename> - no. Assegnare IP a entrambe le schede di rete non ha molto senso, a meno - che durante la procedura di avvio non si debba accedere a servizi presenti - su entrambi i segmenti Ethernet.</para> - - <para>C'è un'altra cosa importante da sapere. Quando si utilizza IP - sopra Ethernet ci sono due protocolli Ethernet in uso: uno è IP, - l'altro è <acronym>ARP</acronym>. <acronym>ARP</acronym> permette - la conversione dell'indirizzo IP di una macchina nel suo indirizzo - Ethernet (livello <acronym>MAC</acronym>). Affinché due macchine - separate dal bridge riescano a comunicare tra loro è necessario che - il bridge lasci passare i pacchetti <acronym>ARP</acronym>. Tale - protocollo non fa parte del livello IP, visto che è presente solo - con IP sopra Ethernet. Il firewall di FreeBSD agisce esclusivamente sul - livello IP e quindi tutti i pacchetti non IP (compreso - <acronym>ARP</acronym>) verranno inoltrati senza essere filtrati, anche se - il firewall è configurato per non lasciar passare nulla.</para> - - <para>Ora è arrivato il momento di riavviare la macchina e usarla - come in precedenza: appariranno dei nuovi messaggi riguardo al bridge e al - firewall, ma il bridge non sarà attivato e il firewall, essendo in - modalità <option>open</option>, non impedirà nessuna - operazione.</para> - - <para>Se ci dovessero essere dei problemi, è il caso di scoprire ora - da cosa derivino e risolverli prima di continuare.</para> - </sect1> - - <sect1 id="filtering-bridges-enabling"> - <title>Attivazione del Bridge</title> - - <para>A questo punto, per attivare il bridge, bisogna eseguire i seguenti - comandi (avendo l'accortezza di sostituire i nomi delle due interfacce di - rete <devicename>fxp0</devicename> e <devicename>xl0</devicename> con i - propri):</para> - - <screen>&prompt.root; <userinput>sysctl net.link.ether.bridge.config=fxp0:0,xl0:0</userinput> -&prompt.root; <userinput>sysctl net.link.ether.bridge.ipfw=1</userinput> -&prompt.root; <userinput>sysctl net.link.ether.bridge.enable=1</userinput></screen> - - <para>La prima riga specifica tra quali interfacce va attivato il bridge, - la seconda abilita il firewall sul bridge ed infine la terza attiva il - bridge.</para> - - <note> - <para>Se hai &os; 5.1-RELEASE o precedenti le variabili sysctl - sono chiamate in modo differente. Guarda &man.bridge.4; per i - dettagli.</para> - </note> - - <para>A questo punto dovrebbe essere possibile inserire la macchina tra - due gruppi di host senza che venga compromessa qualsiasi - possibilità di comunicazione tra di loro. Se è così, - il prossimo passo è quello di aggiungere le parti - <literal>net.link.ether.bridge.<replaceable>[blah]</replaceable>=<replaceable>[blah]</replaceable></literal> - di queste righe al file <filename>/etc/sysctl.conf</filename>, in modo che - vengano eseguite all'avvio della macchina.</para> - </sect1> - - <sect1 id="filtering-bridges-ipfirewall"> - <title>Configurazione del Firewall</title> - - <para>Ora è arrivato il momento di creare il proprio file con le - regole per il firewall, in modo da rendere sicura la rete interna. - Ci sono delle complicazioni nel fare questo, perché non tutte le - funzionalità del firewall sono disponibili sui pacchetti inoltrati - dal bridge. Inoltre, c'è una differenza tra i pacchetti che stanno - per essere inoltrati dal bridge e quelli indirizzati alla macchina locale. - In generale, i pacchetti che entrano nel bridge vengono processati dal - firewall solo una volta, non due come al solito; infatti vengono filtrati - solo in ingresso, quindi qualsiasi regola che usi <option>out</option> - oppure <option>xmit</option> non verrà mai eseguita. Personalmente - uso <option>in via</option> che è una sintassi più antica, - ma che ha un senso quando la si legge. - Un'altra limitazione è che si possono usare solo i comandi - <option>pass</option> e <option>drop</option> per i pacchetti filtrati - dal bridge. Cose avanzate come <option>divert</option>, - <option>forward</option> o <option>reject</option> non sono disponibili. - Queste opzioni possono ancora essere usate, ma solo per il traffico da - e verso la macchina bridge stessa (sempre che le sia stato assegnato - un IP).</para> - - <para>Nuovo in FreeBSD 4.0 è il concetto di stateful filtering. - Questo è un grande miglioramento per il traffico - <acronym>UDP</acronym>, che consiste tipicamente di una richiesta in - uscita, seguita a breve termine da una risposta con la stessa coppia di - indirizzi IP e numeri di porta (ma con mittente e destinatario invertiti, - ovviamente). Per i firewall che non supportano il mantenimento di stato, - non c'è modo di gestire questo breve scambio di dati come una - sessione unica. Ma con un firewall che può - <quote>ricordarsi</quote> di un pacchetto <acronym>UDP</acronym> in - uscita e permette una risposta nei minuti successivi, gestire i - servizi <acronym>UDP</acronym> è semplice. - L'esempio seguente mostra come fare. La stessa cosa è - possibile farla con i pacchetti <acronym>TCP</acronym>. Questo - permette di evitare qualche tipo di attacco denial of service e altri - sporchi trucchi, ma tipicamente fa anche crescere velocemente la - tabella di stato.</para> - - <para>Vediamo un esempio di configurazione. Bisogna notare che all'inizio - del file <filename>/etc/rc.firewall</filename> ci sono già delle - regole standard per l'interfaccia di loopback - <devicename>lo0</devicename>, quindi non ce ne occuperemo più ora. - Le regole personalizzate andrebbero messe in un file a parte (per esempio - <filename>/etc/rc.firewall.local</filename>) e caricate all'avvio - modificando la riga del file <filename>/etc/rc.conf</filename> dove era - stata definita la modalità <option>open</option> con:</para> - - <programlisting>firewall_type="/etc/rc.firewall.local"</programlisting> - - <important> - <para>Bisogna specificare il path <emphasis>completo</emphasis> - del file, altrimenti non verrà caricato con il rischio di - rimanere tagliati fuori dalla rete.</para> - </important> - - <para>Per il nostro esempio immaginiamo di avere l'interfaccia - <devicename>fxp0</devicename> collegata all'esterno (Internet) e la - <devicename>xl0</devicename> verso l'interno (<acronym>LAN</acronym>). - La macchina bridge ha assegnato l'IP - <hostid role="ipaddr">1.2.3.4</hostid> - (è impossibile che il vostro <acronym>ISP</acronym> vi assegni un - indirizzo di classe A di questo tipo, ma per l'esempio va bene).</para> - - <programlisting># Le connessioni di cui abbiamo mantenuto lo stato vengono fatte passare subito -add check-state - -# Esclude le reti locali definite nell'RFC 1918 -add drop all from 10.0.0.0/8 to any in via fxp0 -add drop all from 172.16.0.0/12 to any in via fxp0 -add drop all from 192.168.0.0/16 to any in via fxp0 - -# Permette alla macchina bridge di connettersi con chi vuole -# (se la macchina è IP-less non includere questi comandi) -add pass tcp from 1.2.3.4 to any setup keep-state -add pass udp from 1.2.3.4 to any keep-state -add pass ip from 1.2.3.4 to any - -# Permette agli host della rete interna di connettersi con chi vogliono -add pass tcp from any to any in via xl0 setup keep-state -add pass udp from any to any in via xl0 keep-state -add pass ip from any to any in via xl0 - -# Sezione TCP -# Permette SSH -add pass tcp from any to any 22 in via fxp0 setup keep-state -# Permette SMTP solo verso il mail server -add pass tcp from any to relay 25 in via fxp0 setup keep-state -# Permette i trasferimenti di zona solo dal name server secondario [dns2.nic.it] -add pass tcp from 193.205.245.8 to ns 53 in via fxp0 setup keep-state -# Lascia passare i controlli ident: -# è meglio che aspettare che vadano in timeout -add pass tcp from any to any 113 in via fxp0 setup keep-state -# Permette connessioni nel range di "quarantena". -add pass tcp from any to any 49152-65535 in via fxp0 setup keep-state - -# Sezione UDP -# Permette DNS solo verso il name server -add pass udp from any to ns 53 in via fxp0 keep-state -# Permette connessioni nel range di "quarantena". -add pass udp from any to any 49152-65535 in via fxp0 keep-state - -# Sezione ICMP -# Abilita le funzioni di 'ping' -add pass icmp from any to any icmptypes 8 keep-state -# Permette il passaggio dei messaggi di errori del comando 'traceroute' -add pass icmp from any to any icmptypes 3 -add pass icmp from any to any icmptypes 11 - -# Tutto il resto è sospetto -add drop log all from any to any</programlisting> - - <para>Coloro che hanno configurato un firewall in precedenza potrebbero aver - notato che manca qualcosa. In particolare, non ci sono regole contro lo - spoofing, difatti <emphasis>non</emphasis> abbiamo aggiunto:</para> - - <programlisting>add deny all from 1.2.3.4/8 to any in via fxp0</programlisting> - - <para>Ovvero, non far entrare dall'esterno pacchetti che affermano di venire - dalla rete interna. Questa è una cosa che solitamente viene fatta - per essere sicuri che qualcuno non provi a eludere il packet filter, - generando falsi pacchetti che sembrano venire dall'interno. Il problema - è che c'è <emphasis>almeno</emphasis> un host - sull'interfaccia esterna che non si può ignorare: il router. - Solitamente, però, gli <acronym>ISP</acronym> eseguono il controllo - anti-spoof sui loro router e quindi non ce ne dobbiamo preoccupare.</para> - - <para>L'ultima riga sembra un duplicato della regola di default, ovvero non - far passare nulla che non sia stato specificatamente permesso. In - verità c'è una differenza: tutto il traffico sospetto - verrà loggato.</para> - - <para>Ci sono due regole per permettere il traffico <acronym>SMTP</acronym> - e <acronym>DNS</acronym> verso il mail server e il name server, se ne - avete. Ovviamente l'intero set di regole deve essere personalizzato - per le proprie esigenze, questo non è altro che uno specifico - esempio (il formato delle regole è spiegato dettagliatamente nella - man page &man.ipfw.8;). Bisogna notare che, affinché - <quote>relay</quote> e <quote>ns</quote> - siano interpretati correttamente, la risoluzione dei nomi deve funzionare - <emphasis>prima</emphasis> che il bridge sia attivato. Questo è un - chiaro esempio che dimostra l'importanza di settare l'IP sulla corretta - scheda di rete. In alternativa è possibile specificare - direttamente l'indirizzo IP anziché il nome host (cosa necessaria - se la macchina è IP-less).</para> - - <para>Le persone che sono solite configurare un firewall probabilmente - avranno sempre usato una regola <option>reset</option> o - <option>forward</option> per i pacchetti - ident (porta 113 <acronym>TCP</acronym>). Sfortunatamente, questa non - è una scelta applicabile con il bridge, quindi la cosa migliore - è lasciarli passare fino alla destinazione. Finché la - macchina di destinazione non ha un demone ident attivo, questa tecnica - è relativamente sicura. L'alternativa è proibire le - connessioni sulla porta 113, creando qualche problema con servizi tipo - <acronym>IRC</acronym> (le richieste ident devono andare in - timeout).</para> - - <para>L'unica altra cosa un po' particolare che potete aver notato è - che c'è una regola per lasciar comunicare la macchina bridge e - un'altra per gli host della rete interna. Ricordate che questo è - dovuto al fatto che i due tipi di traffico prendono percorsi differenti - attraverso il kernel e di conseguenza anche dentro il packet filter. La - rete interna passerà attraverso il bridge, mentre la macchina - locale userà il normale stack IP per le connessioni. Perciò - due regole per gestire due casi differenti. Le regole <literal>in via - <devicename>fxp0</devicename></literal> funzionano in entrambi i casi. - In generale, se usate regole <option>in via</option> attraverso il - packet filter, dovrete fare un'eccezione per i pacchetti generati - localmente, in quanto non entrano tramite nessuna interfaccia.</para> - </sect1> - - <sect1 id="filtering-bridges-contributors"> - <title>Contributi</title> - - <para>Alcune parti di questo articolo sono state prese, tradotte e - adattate da testi sui bridge, appartenenti alla documentazione di FreeBSD - in lingua inglese, a cura di Nick Sayer e Steve Peterson.</para> - - <para>Un grosso ringraziamento va a Luigi Rizzo per l'implementazione - delle funzionalità di bridging in FreeBSD e per il tempo che mi ha - dedicato rispondendo ad alcune mie domande a riguardo.</para> - </sect1> -</article> diff --git a/it_IT.ISO8859-15/articles/multi-os/Makefile b/it_IT.ISO8859-15/articles/multi-os/Makefile deleted file mode 100644 index 815b8072d9..0000000000 --- a/it_IT.ISO8859-15/articles/multi-os/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Installazione e Utilizzo di FreeBSD con altri Sistemi Operativi - -DOC?= article - -FORMATS?= html -WITH_ARTICLE_TOC?= YES - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.sgml - -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 deleted file mode 100644 index 589f21014e..0000000000 --- a/it_IT.ISO8859-15/articles/multi-os/article.sgml +++ /dev/null @@ -1,788 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.39 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<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> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.ibm; - &tm-attrib.linux; - &tm-attrib.microsoft; - &tm-attrib.powerquest; - &tm-attrib.general; - </legalnotice> - - <abstract> - <para>Questo documento spiega come far coesistere felicemente - FreeBSD con altri sistemi operativi come Linux, &ms-dos;, - &os2;, e &windows; 95. - Un ringraziamento speciale va a: Annelise Anderson - <email>andrsn@stanford.edu</email>, Randall Hopper - <email>rhh@ct.picker.com</email>, e &a.jkh;.</para> - - &trans.it.max; - </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 class="directory">\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 <application>&partitionmagic;</application>, 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, - &os2; (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 &os2;</term> - - <listitem> - <para>Questo fa partire FAT, FAT32, HPFS, FFS (FreeBSD), ed EXT2 - (Linux). Le partizioni vengono scelte usando i tasti freccia. - L'&os2; Boot Manager è - l'unico ad usare una propria partizione separata, diversamente - dagli altri, che usano il master boot record (MBR). Di conseguenza, - deve essere installato prima del 1024esimo cilindro per evitare - problemi di avvio. Può far partire Linux usando LILO quando - questo è parte del settore di avvio, non dell'MBR. - Leggi gli <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 - &os2;.</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 file system FAT incluso nella Release - Beta SR2 di Microsoft, che dovrebbe essere installata - con &windows; 95 a partire dalla fine del 1996. Converte il - normale file system FAT e ti permette di usare cluster di - dimensioni più piccole per hard disk di dimensioni maggiori. - Inoltre FAT32 modifica il settore di avvio tradizionale e la tabella - di allocazione, rendendola incompatibile con alcuni Boot - Manager.</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 MB - (35-40 per &windows; 95, più un po' di spazio per respirare) - sul primo disco. Creo anche una partizione più grande sul - secondo hard disk per le applicazioni di &windows; e per i - dati.</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 <ulink - url="http://www.slackware.com">Slackware</ulink> 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 MB 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, <emphasis>assicurati</emphasis> 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 528 MB in un disco ipotetico, - il mio, di 720 MB). Userò il resto dell'hard disk - (circa 270 MB) per <filename class="directory">/usr</filename> e - <filename class="directory">/</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 class="directory">/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. &os2; fa eccezione. Può - essere installato in una partizione primaria o estesa sul primo o sul - secondo hard disk. Se non sei sicuro, mantieni la parte avviabile di - partizione sotto il 1024esimo cilindro.</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 <filename>BOOTINST.EXE</filename> inclusa nella directory - <filename class="directory">\TOOLS</filename> 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 &os2; può leggere partizioni FAT e HPFS, ma non - FFS (FreeBSD) o EXT2 (Linux). Diversamente &windows; 95 può - leggere e scrivere solo su FAT o FAT32 (guarda la <xref linkend="ch2">). - FreeBSD può leggere gran parte degli altri file system, ma al - momento non può leggere partizioni HPFS. Linux può leggere - partizioni HPFS, ma non può scrivervi. Versioni recenti del kernel - di Linux (2.x) possono leggere e scrivere su partizioni di &windows; 95 di - tipo VFAT (VFAT è ciò che permette a &windows; 95 di avere - i nomi di file lunghi - è molto simile alla FAT). - Linux può leggere e scrivere sulla maggior parte dei file system. - Capito? Lo spero...</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 + &windows; 95: 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 + &os2; + &windows; 95: Nulla di nuovo qui. Il boot manager - di &os2; 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 + &windows; 95: (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 - &os2; 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>L'<ulink - url="http://www.tburke.net/info/ntldr/ntldr_hacking_guide.htm">&windowsnt; - Loader Hacking Guide</ulink> fornisce buone informazioni sul - multibooting di &windowsnt;, '95, e DOS con altri sistemi - operativi.</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"></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>&os2;</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 &os2;</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> diff --git a/it_IT.ISO8859-15/articles/new-users/Makefile b/it_IT.ISO8859-15/articles/new-users/Makefile deleted file mode 100644 index 1c26923c19..0000000000 --- a/it_IT.ISO8859-15/articles/new-users/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Per chi e' alle Prime Armi sia con FreeBSD che con Unix - -DOC?= article - -FORMATS?= html - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.sgml - -URL_RELPREFIX?= ../../../.. -DOC_PREFIX?= ${.CURDIR}/../../.. - -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/new-users/article.sgml b/it_IT.ISO8859-15/articles/new-users/article.sgml deleted file mode 100644 index 02853027f6..0000000000 --- a/it_IT.ISO8859-15/articles/new-users/article.sgml +++ /dev/null @@ -1,1082 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.47 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<article lang="it"> - <articleinfo> - <title>Per chi è alle Prime Armi sia con FreeBSD che con - &unix;</title> - - <authorgroup> - <author> - <firstname>Annelise</firstname> - - <surname>Anderson</surname> - - <affiliation> - <address><email>andrsn@andrsn.stanford.edu</email></address> - </affiliation> - </author> - </authorgroup> - - <pubdate>15 Agosto 1997</pubdate> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.ibm; - &tm-attrib.microsoft; - &tm-attrib.netscape; - &tm-attrib.opengroup; - &tm-attrib.general; - </legalnotice> - - <abstract> - <para>Congratulazioni per aver installato FreeBSD! Questa introduzione - é per chi é alle prime armi con FreeBSD - <emphasis>e</emphasis> &unix;—perciò comincia dalle basi. - Stai certamente usando la versione 2.0.5 o una più recente di - &os; distribuita da &os;.org, il tuo sistema ha (per il momento) un - solo utente (te stesso)—e sei probabilmente abbastanza bravo - con DOS/&windows; o &os2;.</para> - - &trans.it.max; - </abstract> - </articleinfo> - - <sect1> - <title>Entrare ed Uscire dal Sistema</title> - - <para>Entra (quando vedi <prompt>login:</prompt>) come l'utente che - hai creato durante l'installazione oppure come - <username>root</username>. (La tua installazione di FreeBSD dovrebbe - già avere un account di <username>root</username>; che può - andare ovunque e fare qualsiasi cosa, anche cancellare file essenziali, - perciò stai attento!) I simboli &prompt.user; e &prompt.root; - che incontrerai più avanti simboleggiano il prompt (i tuoi - potrebbero essere differenti), dove &prompt.user; indica un utente - ordinario e &prompt.root; indica <username>root</username>.</para> - - <para>Per uscire (e ritrovarsi con un nuovo prompt <prompt>login:</prompt>) - scrivi</para> - - <informalexample> - <screen>&prompt.root; <userinput>exit</userinput></screen> - </informalexample> - - <para>tante volte quanto serve. Sì, premi - <keysym>invio</keysym> dopo ogni comando, e ricordati che &unix; fa - distinzione tra maiuscole e minuscole—perciò - <command>exit</command>, non <command>EXIT</command>.</para> - - <para>Per spegnere il computer digita</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/shutdown -h now</userinput></screen> - </informalexample> - - <para>O per riavviarlo digita</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/shutdown -r now</userinput></screen> - </informalexample> - - <para>oppure</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/reboot</userinput></screen> - </informalexample> - - <para>Puoi anche riavviarlo premendo - <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Canc</keycap></keycombo>. - Lasciagli un po' di tempo per compiere il suo lavoro. Questo equivale a - <command>/sbin/reboot</command> nelle versioni più recenti di - FreeBSD ed è molto meglio che premere il bottone di reset. - Non vorrai mica reinstallare tutto da capo, vero?</para> - </sect1> - - <sect1> - <title>Aggiungere un Utente con Privilegi di Root</title> - - <para>Se non hai creato un utente durante l'installazione e quindi - sei entrato nel sistema come <username>root</username>, dovresti - probabilmente crearne uno ora tramite</para> - - <informalexample> - <screen>&prompt.root; <userinput>adduser</userinput></screen> - </informalexample> - - <para>La prima volta che aggiungi un utente, il sistema dovrebbe chiederti - di inserire delle impostazioni di default da applicare. Potresti volere - come shell &man.csh.1; invece di &man.sh.1;, se ti viene consigliato - <command>sh</command> come default. Altrimenti premi solo invio - per accettare i valori proposti. Questi dati vengono salvati in - <filename>/etc/adduser.conf</filename>, un file modificabile - successivamente a mano.</para> - - <para>Supponiamo che tu voglia creare l'utente <username>jack</username> di - nome reale <emphasis>Jack Benimble</emphasis>. Assegna a - <username>jack</username> una password per ragioni di sicurezza (anche i - bambini che gironzolano per casa potrebbero mettere le mani sulla - tastiera). Quando ti viene chiesto se vuoi invitare - <username>jack</username> in un altro gruppo, digita - <groupname>wheel</groupname></para> - - <informalexample> - <screen>Login group is ``jack''. Invite jack into other groups: <userinput>wheel</userinput></screen> - </informalexample> - - <para>Questo ti permetterà di entrare come l'utente - <username>jack</username> e usare il comando &man.su.1; - per diventare <username>root</username>. A quel punto non sarai - più preso in giro per essere entrato direttamente come - <username>root</username>.</para> - - <para>Puoi uscire da <command>adduser</command> in qualsiasi momento - premendo <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>, - e alla fine avrai l'opportunità di approvare il nuovo utente oppure - premere <keycap>n</keycap> per non farlo. Potresti voler creare un - secondo utente cosicché quando andrai a modificare i file - di <username>jack</username> avrai un'ancora di salvezza in caso qualcosa - vada male.</para> - - <para>Una volta fatto questo, usa <command>exit</command> per tornare al - prompt di login ed entrare come <username>jack</username>. - In generale è meglio cercare di lavorare da utente normale - in modo da non avere il potere—e il rischio—di - <username>root</username>.</para> - - <para>Se hai già creato un utente e vuoi che quell'utente sia in - grado di usare <command>su</command> per diventare - <username>root</username>, puoi entrare come <username>root</username> e - modificare il file <filename>/etc/group</filename>, aggiungendo - <username>jack</username> alla prima linea (il gruppo - <groupname>wheel</groupname>). Ma prima devi fare pratica con - &man.vi.1;, l'editor di testo—oppure usa il più semplice - &man.ee.1;, installato sulle recenti versioni di FreeBSD.</para> - - <para>Per cancellare un utente, usa il comando - <command>rmuser</command>.</para> - </sect1> - - <sect1> - <title>Diamoci un'occhiata in giro</title> - - <para>Una volta avuto accesso come utente normale, guardati in giro e prova - alcuni dei comandi che ti daranno accesso alle fonti di aiuto e di - informazioni su FreeBSD.</para> - - <para>Ecco qui una lista di comandi e le loro funzioni:</para> - - <variablelist> - <varlistentry> - <term><command>id</command></term> - - <listitem> - <para>Ti dice chi sei!</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>pwd</command></term> - - <listitem> - <para>Ti mostra dove sei—la directory in cui stai - lavorando.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>ls</command></term> - - <listitem> - <para>Ti mostra una lista dei file contenuti nella directory.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>ls <option>-F</option></command></term> - - <listitem> - <para>Ti mostra un elenco dei file contenuti nella directory ponendo - <literal>*</literal> dopo i file eseguibili, - <literal>/</literal> dopo le directory, e - <literal>@</literal> dopo i collegamenti simbolici.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>ls <option>-l</option></command></term> - - <listitem> - <para>Mostra un elenco di file nel formato lungo—grandezza, - data, permessi.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>ls <option>-a</option></command></term> - - <listitem> - <para>Mostra una lista dei file nascosti, cioè con un - <quote>punto</quote> davanti al nome, insieme agli altri. - Se sei <username>root</username>, i file <quote>puntati</quote> - vengono mostrati anche senza l'opzione <option>-a</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>cd</command></term> - - <listitem> - <para>Cambia la directory di lavoro. <command>cd - <parameter>..</parameter></command> torna alla directory - superiore; nota lo spazio dopo <command>cd</command>. <command>cd - <parameter>/usr/local</parameter></command> va nella directory - specificata. <command>cd <parameter>~</parameter></command> va - nella directory home dell'utente collegato in quel - momento—per esempio, <filename>/usr/home/jack</filename>. - Prova <command>cd <parameter>/cdrom</parameter></command>, e poi - <command>ls</command>, per scoprire se il tuo CDROM è - montato e funziona.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>view - <replaceable>nomefile</replaceable></command></term> - - <listitem> - <para>Mostra il contenuto del file (chiamato - <replaceable>nomefile</replaceable>) senza modificarlo. - Prova <command>view - <parameter>/etc/fstab</parameter></command>. - Digita <command>:q</command> per uscire.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>cat <replaceable>nomefile</replaceable></command></term> - - <listitem> - <para>Mostra <replaceable>nomefile</replaceable> sullo schermo. - Se è troppo lungo e ne puoi vedere solo la fine, - premi <keycap>BlocScorr</keycap> e usa - <keycap>freccia-su</keycap> per muoverti in alto; puoi usare - <keycap>BlocScorr</keycap> anche con le pagine man. Premi ancora - <keycap>BlocScorr</keycap> per uscire dallo scorrimento. Potresti - provare <command>cat</command> con alcuni dei file - nascosti presenti nella tua directory home—<command>cat - <parameter>.cshrc</parameter></command>, <command>cat - <parameter>.login</parameter></command>, <command>cat - <parameter>.profile</parameter></command>.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Noterai degli alias in <filename>.cshrc</filename> per - alcuni dei comandi <command>ls</command> (sono molto - convenienti). Puoi creare degli altri alias modificando - <filename>.cshrc</filename>. Puoi far sì che questi alias - diventino disponibili a tutti gli utenti mettendoli nel file - di configurazione generale di <command>csh</command>, - <filename>/etc/csh.cshrc</filename>.</para> - </sect1> - - <sect1> - <title>Ottenere Aiuto e Informazioni</title> - - <para>Ecco alcune risorse utili per ottenere aiuto. - <replaceable>Testo</replaceable> è qualcosa che puoi - digitare a tuo piacere—normalmente si tratta di un comando - o del nome di un file.</para> - - <variablelist> - <varlistentry> - <term><command>apropos - <replaceable>testo</replaceable></command></term> - - <listitem> - <para>Tutto ciò che contiene la stringa - <replaceable>testo</replaceable> nel <database>database - whatis</database>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>man - <replaceable>testo</replaceable></command></term> - - <listitem> - <para>Mostra la pagina man di <replaceable>testo</replaceable>, - la maggior risorsa di documentazione per i sistemi Un*x. - <command>man <parameter>ls</parameter></command> ti dirà - tutti i modi possibili per usare il comando <command>ls</command>. - Premi <keycap>Invio</keycap> per muoverti nel testo, - <keycombo><keycap>Ctrl</keycap><keycap>B</keycap></keycombo> - per andare indietro di una pagina, - <keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo> - per andare avanti, <keycap>q</keycap> oppure - <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> - per uscire.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>which - <replaceable>testo</replaceable></command></term> - - <listitem> - <para>Ti dice dove si trova il comando - <replaceable>testo</replaceable> nel path dell'utente.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>locate - <replaceable>testo</replaceable></command></term> - - <listitem> - <para>Ti dice tutte le directory nei path dell'utente in cui si trova - il comando <replaceable>testo</replaceable>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>whatis - <replaceable>testo</replaceable></command></term> - - <listitem> - <para>Ti dice che cosa fa il comando - <replaceable>testo</replaceable> e la sua pagina man. - Digitando <command>whatis *</command> ti verranno presentate tutte - le pagine man associate agli eseguibili presenti nella directory - corrente.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>whereis - <replaceable>testo</replaceable></command></term> - - <listitem> - <para>Trova il file <replaceable>testo</replaceable>, dandoti il suo - percorso completo.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Potresti voler provare ad usare <command>whatis</command> con - alcuni comandi utili come <command>cat</command>, - <command>more</command>, <command>grep</command>, - <command>mv</command>, <command>find</command>, - <command>tar</command>, <command>chmod</command>, - <command>chown</command>, <command>date</command>, e - <command>script</command>. <command>more</command> ti permette - di leggere una pagina alla volta come in DOS, ad esempio, <command>ls -l | - more</command> oppure <command>more - <replaceable>nomefile</replaceable></command>. - <literal>*</literal> ha valore assoluto—per esempio, <command>ls - w*</command> mostra tutti i file che cominciano con - <literal>w</literal>.</para> - - <para>Per caso alcuni di questi comandi non funzionano correttamente? Sia - &man.locate.1;, sia &man.whatis.1; dipendono da - un database che viene ricostruito settimanalmente. Se la tua macchina - non sarà lasciata accesa per il fine settimana (usando FreeBSD), - può darsi che tu voglia usare i comandi per la manutenzione - giornaliera, settimanale, e mensile ogni tanto. Falli partire come - <username>root</username> e lascia loro il tempo di finire il lavoro - prima di farne partire un altro.</para> - - <informalexample> - <screen>&prompt.root; <userinput>periodic daily</userinput> -<lineannotation>output tralasciato</lineannotation> -&prompt.root; <userinput>periodic weekly</userinput> -<lineannotation>output tralasciato</lineannotation> -&prompt.root; <userinput>periodic monthly</userinput> -<lineannotation>output tralasciato</lineannotation></screen> - </informalexample> - - <para>Se ti stufi di aspettare, premi - <keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo> per - avere un'altra <firstterm>console virtuale</firstterm>, e poterti loggare - nuovamente. Dopotutto è un sistema multi-utente, e multi-tasking. - Probabilmente questi comandi produrranno dei messaggi sullo - schermo quando lavorano; puoi digitare - <command>clear</command> per pulire lo schermo. - Quando hanno finito, dovresti dare un'occhiata a - <filename>/var/mail/root</filename> e - <filename>/var/log/messages</filename>.</para> - - <para>Usare tali comandi fa parte dell'amministrazione di - sistema—e come utente singolo di un sistema &unix;, - sei tu l'amministratore del sistema. Praticamente l'unica cosa - per la quale è necessario che tu sia <username>root</username> - è l'amministrazione. Queste responsabilità non vengono - trattate bene nemmeno in quei grossi libri su &unix;, che sembrano - dedicare troppo spazio all'uso dei menu nei windows manager. Potresti - voler leggere uno dei più interessanti libri sull'amministrazione - di sistema, come <citetitle>UNIX System Administration - Handbook</citetitle> di Evi Nemeth et.al. (Prentice-Hall, 1995, - ISBN 0-13-15051-7)—la seconda edizione con la copertina rossa; - oppure <citetitle>Essential System Administration</citetitle> di - Æleen Frisch (O'Reilly & Associates, 2002, ISBN 0-596-00343-9). - Io ho usato quello di Nemeth.</para> - </sect1> - - <sect1> - <title>Modificare File di Testo</title> - - <para>Per poter configurare il tuo sistema, devi modificare dei file. Molti - di questi saranno in <filename>/etc</filename>; e avrai bisogno - del comando <command>su</command> per diventare <username>root</username> - e poter così modificarli. Puoi usare il semplice editor - <command>ee</command>, ma alla lunga risulta più utile imparare - <command>vi</command>. C'é un eccellente tutorial su - <command>vi</command> in - <filename>/usr/src/contrib/nvi/docs/tutorial</filename> se hai installato - i sorgenti di sistema.</para> - - <para>Prima di modificare un file, dovresti farne una copia. - Supponiamo tu voglia modificare <filename>/etc/rc.conf</filename>. Puoi - semplicemente usare <command>cd /etc</command> per andare in - <filename>/etc</filename> e fare:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cp rc.conf rc.conf.orig</userinput></screen> - </informalexample> - - <para>Questo copierà <filename>rc.conf</filename> in - <filename>rc.conf.orig</filename>, e potrai successivamente copiare - <filename>rc.conf.orig</filename> in - <filename>rc.conf</filename> per tornare all'originale. Ma ancora meglio - sarà spostare (rinominare) il file per poi ricopiarlo con il nome - originale:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mv rc.conf rc.conf.orig</userinput> -&prompt.root; <userinput>cp rc.conf.orig rc.conf</userinput></screen> - </informalexample> - - <para>perché il comando <command>mv</command> mantiene - la data e il proprietario originali del file. Puoi ora modificare - <filename>rc.conf</filename>. Se vuoi tornare all'originale, - potresti fare <userinput>mv rc.conf rc.conf.myedit</userinput> - (assumendo che vuoi tenere la versione modificata) e - quindi fare</para> - - <informalexample> - <screen>&prompt.root; <userinput>mv rc.conf.orig rc.conf</userinput></screen> - </informalexample> - - <para>per tornare allo stato iniziale.</para> - - <para>Per modificare un file, digita</para> - - <informalexample> - <screen>&prompt.root; <userinput>vi <replaceable>nomefile</replaceable></userinput></screen> - </informalexample> - - <para>Muoviti nel testo con i tasti freccia. - <keycap>Esc</keycap> mette <command>vi</command> - in modalità comando. Ecco qui alcuni dei comandi:</para> - - <variablelist> - <varlistentry> - <term><command>x</command></term> - - <listitem> - <para>cancella la lettera su cui si trova il cursore</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>dd</command></term> - - <listitem> - <para>cancella l'intera riga (anche se va a capo sullo schermo)</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>i</command></term> - - <listitem> - <para>inserisci del testo nella posizione del cursore</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>a</command></term> - - <listitem> - <para>inserisci del testo dopo il cursore</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Quando digiti <command>i</command> o <command>a</command>, - puoi inserire del testo. <command>Esc</command> ti riporta in - modalità comando dove puoi digitare</para> - - <variablelist> - <varlistentry> - <term><command>:w</command></term> - - <listitem> - <para>per salvare le modifiche sul disco e continuare a - modificare il file</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>:wq</command></term> - - <listitem> - <para>per salvare le modifiche e uscire</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>:q!</command></term> - - <listitem> - <para>per uscire senza salvare le modifiche</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>/<replaceable>testo</replaceable></command></term> - - <listitem> - <para>per spostare il cursore su <replaceable>testo</replaceable>; - <command>/<keycap>Invio</keycap></command> - per trovare la prossima occorrenza di - <replaceable>testo</replaceable>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>G</command></term> - - <listitem> - <para>per andare alla fine del file</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command><replaceable>n</replaceable>G</command></term> - - <listitem> - <para>per andare alla riga <replaceable>n</replaceable> del - file, dove <replaceable>n</replaceable> è un numero</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><keycombo><keycap>Ctrl</keycap><keycap>L</keycap></keycombo></term> - - <listitem> - <para>per ridisegnare lo schermo</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><keycombo><keycap>Ctrl</keycap><keycap>b</keycap></keycombo> e - <keycombo><keycap>Ctrl</keycap><keycap>f</keycap></keycombo></term> - - <listitem> - <para>vai avanti e indietro di una pagina, come succede con - <command>more</command> e <command>view</command>.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Fai un po' di pratica con <command>vi</command> nella tua directory - home creando un nuovo file digitando <command>vi - <replaceable>nomefile</replaceable></command> e aggiungendo - e cancellando del testo, salvando il file, e riaprendolo di nuovo. - <command>vi</command> è pieno di sorprese perché è - abbastanza complesso, e ti capiterà di digitare un comando che - farà di sicuro qualcosa che non ti aspetti. (Alcune persone - preferiscono <command>vi</command>—è più potente - dell'EDIT del DOS—scopri il comando <command>:r</command>) - Usa <keycap>Esc</keycap> una o più volte per essere sicuro di - essere in modalità comando e continua da lì quando hai dei - problemi, salva spesso con <command>:w</command>, e usa - <command>:q!</command> per uscire e ricominciare (dal tuo ultimo - <command>:w</command>) quando ne hai bisogno.</para> - - <para>Ora puoi usare <command>cd</command> per andare in - <filename>/etc</filename>, <command>su</command> per diventare - <username>root</username>, <command>vi</command> per modificare il file - <filename>/etc/group</filename>, e aggiungere un utente al gruppo - <groupname>wheel</groupname> cosicché possa avere privilegi di - <username>root</username>. Aggiungi solo una virgola e il nome di login - dell'utente alla fine della prima riga del file, premi - <keycap>Esc</keycap>, e usa <command>:wq</command> per salvare - il file su disco e uscire. La modifica ha effetto immediato. (Non hai - lasciato uno spazio dopo la virgola, vero?)</para> - </sect1> - - <sect1> - <title>Stampa di File da DOS</title> - - <para>A questo punto la tua stampante non funzionerà ancora sotto - FreeBSD, ecco quindi un sistema per creare un file da una pagina man, - metterlo su un floppy, e quindi stamparlo da DOS. Supponiamo che tu - voglia leggere attentamente come cambiare i permessi sui file (abbastanza - importante). Puoi usare <command>man chmod</command> per leggere come - fare. Il comando</para> - - <informalexample> - <screen>&prompt.user; <userinput>man chmod | col -b > chmod.txt</userinput></screen> - </informalexample> - - <para>toglierà gli elementi di formattazione e manderà il - tutto sul file <filename>chmod.txt</filename> al posto di mostrare il - contenuto sullo schermo. Ora metti un dischetto formattato DOS nel - lettore, digita <command>su</command> per diventare - <username>root</username>, e scrivi</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/mount -t msdos /dev/fd0 /mnt</userinput></screen> - </informalexample> - - <para>per montare il floppy su <filename>/mnt</filename>.</para> - - <para>Ora (non hai più bisogno di essere <username>root</username>, - e puoi digitare <command>exit</command> per tornare ad essere l'utente - <username>jack</username>) puoi andare nella directory in cui hai creato - <filename>chmod.txt</filename> e copiare il file sul floppy - digitando:</para> - - <informalexample> - <screen>&prompt.user; <userinput>cp chmod.txt /mnt</userinput></screen> - </informalexample> - - <para>e usare <command>ls /mnt</command> per vedere il - contenuto di <filename>/mnt</filename>, che dovrebbe contenere il file - <filename>chmod.txt</filename>.</para> - - <para>In particolare potresti voler creare un file con l'output di - <filename>/sbin/dmesg</filename> digitando</para> - - <informalexample> - <screen>&prompt.user; <userinput>/sbin/dmesg > dmesg.txt</userinput></screen> - </informalexample> - - <para>e copiare <filename>dmesg.txt</filename> sul floppy. - <command>/sbin/dmesg</command> è il file di log di avvio, ed - è importante comprenderlo perché ti mostra cosa ha trovato - FreeBSD all'avvio. Se poni delle domande sulla &a.questions; - o su un gruppo USENET—del tipo <quote>FreeBSD non trova il mio drive - per i nastri, che cosa faccio?</quote>—la gente vorrà - sapere cosa mostra il tuo <command>dmesg</command>.</para> - - <para>Ora devi smontare il floppy (da <username>root</username>) per poter - togliere il disco</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/umount /mnt</userinput></screen> - </informalexample> - - <para>e riavviare per tornare in DOS. Copia questo file in una - directory DOS, richiamali con l'EDIT del DOS, Notepad o Wordpad di - &windows;, o un editor di testi, fai una piccola modifica in modo che - il file debba essere salvato, e stampa come faresti da DOS o - &windows;. Spera che funzioni! Le pagine man vengono meglio se - stampate con il comando DOS <command>print</command>. (Copiare i file - da FreeBSD su una partizione DOS montata è ancora in alcuni casi - rischioso.)</para> - - <para>Far funzionare la stampante sotto FreeBSD consiste nel creare - un opportuno elemento in <filename>/etc/printcap</filename> e - creare una directory di spool corrispondente in - <filename>/var/spool/output</filename>. Se la tua stampante è su - <hardware>lpt0</hardware> (ciò che DOS chiama - <hardware>LPT1</hardware>), devi solo andare in - <filename>/var/spool/output</filename> e (da <username>root</username>) - creare la directory <filename>lpd</filename> digitando: <command>mkdir - lpd</command>, se non è già presente. A quel punto la - stampante dovrebbe rispondere quando il sistema parte, e - <command>lp</command> o <command>lpr</command> dovrebbero mandare un - file alla stampante. Che il file venga stampato o meno è solo - questione di configurazione, che è discussa nel <ulink - url="&url.books.handbook;/index.html">Manuale di FreeBSD</ulink>.</para> - </sect1> - - <sect1> - <title>Altri Comandi Utili</title> - - <variablelist> - <varlistentry> - <term><command>df</command></term> - - <listitem> - <para>mostra lo spazio disponibile e tutte le partizioni - montate.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>ps aux</command></term> - - <listitem> - <para>mostra i processi in esecuzione. <command>ps ax</command> - è una forma contratta.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>rm <replaceable>nomefile</replaceable></command></term> - - <listitem> - <para>cancella <replaceable>nomefile</replaceable>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>rm -R <replaceable>dir</replaceable></command></term> - - <listitem> - <para>cancella la directory <replaceable>dir</replaceable> e tutte le - sottodirectory—attenzione!</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>ls -R</command></term> - - <listitem> - <para>mostra il contenuto della directory e delle sue - sottodirectory; io usavo una variante, <command>ls -AFR > - where.txt</command>, per avere una lista dei file in - <filename>/</filename> e (separatamente) - <filename>/usr</filename> prima che scoprissi dei metodi migliori - per cercare i file.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>passwd</command></term> - - <listitem> - <para>per cambiare la password dell'utente (o di - <username>root</username>)</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>man hier</command></term> - - <listitem> - <para>pagina man sul file system di &unix;</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Usa <command>find</command> per trovare <filename>nomefile</filename> - in <filename>/usr</filename> o nelle sue sottodirectory digitando</para> - - <informalexample> - <screen>&prompt.user; <userinput>find /usr -name "<replaceable>nomefile</replaceable>"</userinput></screen> - </informalexample> - - <para>Puoi usare <literal>*</literal> come identificatore universale in - <parameter>"<replaceable>nomefile</replaceable>"</parameter> - (che dovrebbe essere tra virgolette). Se dici a - <command>find</command> di cercare in <filename>/</filename> - anziché <filename>/usr</filename> cercherà il/i file su - tutti i file system montati, inclusi i CDROM e le partizioni DOS.</para> - - <para>Un libro eccellente che tratta i comandi e le utility di &unix; - è <citetitle>Unix for the Impatient</citetitle> di Abrahams & - Larson (2nd ed., Addison-Wesley, 1996). - Ci sono anche un sacco di informazioni su &unix; su Internet.</para> - </sect1> - - <sect1> - <title>Prossimi Passi</title> - - <para>Dovresti ora avere gli strumenti necessari per girare nel sistema e - modificare i file, così da poter rendere tutto funzionante. Ci - sono un sacco di informazioni nel Manuale di FreeBSD (che è - probabilmente sul tuo disco rigido) e sul <ulink - url="&url.base;/it/index.html">sito web di FreeBSD</ulink>. Una - grande scelta di package e port è presente sul CDROM così - come sul sito web. Il manuale ti spiega come usarli - (prendi il package se esiste, con <command>pkg_add - /cdrom/packages/All/<replaceable>nomepackage</replaceable></command>, - dove <replaceable>nomepackage</replaceable> è il nome del file del - package). Il CDROM ha una lista di package e di port - con delle brevi descrizioni in <filename>cdrom/packages/index</filename>, - <filename>cdrom/packages/index.txt</filename>, e - <filename>cdrom/ports/index</filename>, e con descrizioni più ampie - in <filename>/cdrom/ports/*/*/pkg/DESCR</filename>, dove - <literal>*</literal> rappresenta rispettivamente sottodirectory di tipi di - programmi e nomi di programmi.</para> - - <para>Se trovi il manuale troppo difficile su come installare i port dal - CDROM (con il sistema di <command>lndir</command> e altro), ecco come - funziona normalmente:</para> - - <para>Trova il port che vuoi, supponiamo <command>kermit</command>. - Ci sarà una directory per lui sul CDROM. Copia la - sottodirectory in <filename>/usr/local</filename> (un buon posto - perché il software che aggiungi sia disponibile a tutti gli utenti) - con:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cp -R /cdrom/ports/comm/kermit /usr/local</userinput></screen> - </informalexample> - - <para>Questo dovrebbe portarti ad avere la sottodirectory - <filename>/usr/local/kermit</filename> che contiene tutti i file - presenti nella sottodirectory <command>kermit</command> del CDROM.</para> - - <para>Ora, crea la directory - <filename>/usr/ports/distfiles</filename> se non esiste ancora, - usando <command>mkdir</command>. Poi controlla - <filename>/cdrom/ports/distfiles</filename> cercando un file - con il nome che indica che si tratta del port esatto. Copia quel file in - <filename>/usr/ports/distfiles</filename>; nelle versioni più - recenti puoi saltare questo passo, perché FreeBSD lo farà - per te. Nel caso di <command>kermit</command>, non c'è nessun - distfile.</para> - - <para>Quindi entra con <command>cd</command> nella sottodirectory di - <filename>/usr/local/kermit</filename> che contiene il file - <filename>Makefile</filename>. Digita</para> - - <informalexample> - <screen>&prompt.root; <userinput>make all install</userinput></screen> - </informalexample> - - <para>Durante questo processo il port userà FTP per scaricare - i file compressi che non ha trovato sul CDROM o in - <filename>/usr/ports/distfiles</filename>. Se la tua connessione - non funziona ancora e non c'è nessun file per il port in - <filename>/cdrom/ports/distfiles</filename>, dovrai - recuperare il distfile usando un'altra macchina e poi copiarlo in - <filename>/usr/ports/distfiles</filename> da un dischetto o dalla - partizione DOS. Leggi <filename>Makefile</filename> (usando - <command>cat</command> o <command>more</command> oppure - <command>view</command>) per scoprire dove andare (il sito principale - di distribuzione) per trovare il file e conoscere il suo nome. Il nome - verrà troncato quando scaricato da DOS, e dopo averlo trasferito - in <filename>/usr/ports/distfiles</filename> dovrai - rinominarlo (usando il comando <command>mv</command>) nel suo - nome originale cosicché possa essere trovato. (Usa il - trasferimento di file binario!) - Quindi torna in <filename>/usr/local/kermit</filename>, trova la - directory contenente <filename>Makefile</filename>, e digita - <command>make all install</command>.</para> - - <para>Un'altra cosa che può succedere quando si installa un port o un - package è che questi abbiano bisogno di un altro programma. Se - l'installazione si ferma con un messaggio <errorname>can't find - unzip</errorname> o simile, potresti dover installare il - package o il port di unzip prima di proseguire.</para> - - <para>Una volta installato, digita <command>rehash</command> per far - sì che FreeBSD rilegga i file contenuti nel path e sappia quali - sono presenti. - (Se trovi un sacco di messaggi <errorname>path not found</errorname> - quando usi <command>whereis</command> o which, dovresti - fare delle aggiunte all'elenco delle directory nel - file <filename>.cshrc</filename> nella tua directory home. - L'elenco dei path in &unix; fa la stessa - cosa che fa in DOS, tranne che la directory corrente (di - default) non si trova nel path per ragioni di sicurezza; se il comando - che vuoi eseguire è nella directory in cui ti trovi, devi digitare - <filename>./</filename> prima del nome del comando; niente - spazio dopo la barra.)</para> - - <para>Potresti volere la versione più recente di &netscape; - dal loro <ulink url="ftp://ftp.netscape.com/">sito FTP</ulink>. - (&netscape; necessita dell'X Window System.) Ora c'é una versione - per FreeBSD, quindi dà un'occhiata in giro. Usa solo - <command>gunzip <replaceable>nomefile</replaceable></command> e - <command>tar xvf <replaceable>nomefile</replaceable></command> sul file, - sposta il binario in <filename>/usr/local/bin</filename> o qualche altro - posto in cui vengono tenuti i binari, esegui <command>rehash</command>, e - quindi aggiungi le seguenti linee a <filename>.cshrc</filename> in tutte - le directory home degli utenti oppure (più semplicemente) in - <filename>/etc/csh.cshrc</filename>, il file di configurazione globale di - <command>csh</command>:</para> - - <informalexample> - <programlisting>setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB -setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting> - </informalexample> - - <para>Questo assume che il file <filename>XKeysymDB</filename> - e la directory <filename>nls</filename> siano in - <filename>/usr/X11R6/lib/X11</filename>; se non lo sono, trovale - e mettile lì.</para> - - <para>Se hai originariamente installato &netscape; dal CDROM (o via - FTP), non sostituire <filename>/usr/local/bin/netscape</filename> - con il nuovo binario di netscape; questo è solo uno script di shell - che imposta le variabili di ambiente per te. Rinomina invece - il nuovo binario in <filename>netscape.bin</filename> e rimpiazza il - vecchio binario, che dovrebbe essere - <filename>/usr/local/netscape/netscape</filename>.</para> - </sect1> - - <sect1> - <title>Il tuo Ambiente di Lavoro</title> - - <para>La shell è la parte più importante del tuo ambiente - di lavoro. In DOS, la shell è solitamente command.com. La shell - è ciò che interpreta i comandi che digiti sulla linea di - comando, e quindi comunica con il resto del sistema operativo. - Puoi anche scrivere script di shell, che sono come i file batch di - DOS: una serie di comandi che devono essere eseguiti senza il tuo - intervento.</para> - - <para>Due shell vengono normalmente installate con FreeBSD: - <command>csh</command> e <command>sh</command>. - <command>csh</command> è buona per lavoro da linea di comando, ma - gli script dovrebbero essere scritti usando <command>sh</command> (o - <command>bash</command>). Puoi scoprire che shell hai - digitando <command>echo $SHELL</command>.</para> - - <para><command>csh</command> è una buona shell, ma - <command>tcsh</command> fa tutto ciò che <command>csh</command> - fa e anche altro. Ti permette di richiamare i comandi usando - le frecce e ti permette di modificarli. Ha l'auto-completamento dei nomi - di file con tab (<command>csh</command> usa <keycap>Esc</keycap>), e - ti permette di tornare alla directory in cui eri digitando - <command>cd -</command>. È anche più semplice alterare il - prompt con <command>tcsh</command>. Ti rende la vita più - facile.</para> - - <para>Ecco tre semplici passi per installare una nuova shell:</para> - - <procedure> - <step> - <para>Installa la shell tramite port o package, come faresti - con un qualsiasi altro port o package. Usa - <command>rehash</command> e <command>which tcsh</command> - (assumendo che tu stia installando <command>tcsh</command>) per - essere sicuro di averla installata.</para> - </step> - - <step> - <para>Da <username>root</username>, modifica - <filename>/etc/shells</filename>, aggiungendo una riga nel file per - la nuova shell, in questo caso - <filename>/usr/local/bin/tcsh</filename>, e salva il file. - (Alcuni port lo fanno per te.)</para> - </step> - - <step> - <para>Usa il comando <command>chsh</command> per cambiare - permanentemente la tua shell in <command>tcsh</command>, o digita - <command>tcsh</command> al prompt per cambiare la shell senza - dover uscire dal sistema per poi rientrare.</para> - </step> - </procedure> - - <note> - <para>Può essere pericoloso cambiare la shell di - <username>root</username> in qualcosa di diverso da - <command>sh</command> o <command>csh</command> su versioni più - recenti di FreeBSD e di &unix;; potresti non avere una shell - funzionante se il sistema entra in modalità singolo utente. - La soluzione è usare <command>su -m</command> per diventare - <username>root</username>, che ti dà <command>tcsh</command> come - shell di <username>root</username>, poiché la shell è - parte del tuo ambiente. Puoi rendere tutto ciò permanente - aggiungendo al tuo <filename>.tcshrc</filename> un alias con:</para> - <programlisting>alias su su -m</programlisting> - </note> - - <para>Quando <command>tcsh</command> parte, legge i file - <filename>/etc/csh.cshrc</filename> e - <filename>/etc/csh.login</filename>, come farebbe - <command>csh</command>. Leggerà anche il file - <filename>.login</filename> nella tua directory home ed anche - <filename>.cshrc</filename>, a meno che tu non abbia un file - <filename>.tcshrc</filename>. Puoi crearlo copiando - <filename>.cshrc</filename> in <filename>.tcshrc</filename>.</para> - - <para>Ora che hai installato <command>tcsh</command>, puoi sistemare - il tuo prompt. Puoi trovare i dettagli nella pagina man di - <command>tcsh</command>, ma ecco qui una linea da mettere nel tuo - <filename>.tcshrc</filename> che ti dirà quanti comandi hai - digitato, che ore sono, e in che directory - ti trovi. Produce anche un <literal>></literal> se sei un - utente normale e un <literal>#</literal> se sei <username>root</username>, - ma <command>tcsh</command> lo farebbe in ogni caso:</para> - - <para>set prompt = "%h %t %~ %# "</para> - - <para>Questa dovrebbe andare nella stessa posizione della linea di - prompt corrente se ce n'è una, o sotto "if($?prompt) then" in caso - contrario. Commenta la vecchia riga; così potrai tornare a quella - vecchia se la preferirai. Non dimenticare gli spazi e le virgolette. - Puoi far rileggere <filename>.tcshrc</filename> digitando - <command>source .tcshrc</command>.</para> - - <para>Puoi avere una lista delle variabili di sistema che sono state - impostate digitando <command>env</command> al prompt. - Il risultato ti mostrerà il tuo editor di default, il pager, e il - tipo di terminale, tra le altre possibili variabili. Un comando - utile se ti connetti al sistema da una postazione remota e non riesci ad - eseguire un programma perché il terminale non ne è capace - è <command>setenv TERM vt100</command>.</para> - </sect1> - - <sect1> - <title>Altro</title> - - <para>Da <command>tcsh</command> puoi smontare il CDROM con - <command>/sbin/umount /cdrom</command>, toglilo dal lettore, - inseriscine un altro, e montalo con - <command>/sbin/mount_cd9660 /dev/cd0a /cdrom</command> assumendo che - <hardware>cd0a</hardware> sia il nome di dispositivo del tuo lettore di - CDROM. La versione più recente di FreeBSD ti permette di montare - il CDROM solo con <command>/sbin/mount /cdrom</command>.</para> - - <para>Usare il <quote>live file system</quote>—il secondo cd del set - di FreeBSD—è - utile se hai poco spazio a disposizione. Ciò che si trova - sul live file system cambia da release a release. Potresti - provare ad eseguire dei giochi dal CDROM. Questo comporta l'uso di - <command>lndir</command>, che viene installato con l'X Window - System, per dire ai programmi dove trovare i file necessari, poiché - questi si trovano nel file system <filename>/cdrom</filename> - anziché <filename>/usr</filename> e le sue - sottodirectory, che è dove dovrebbero essere. Leggi - <command>man lndir</command> per avere più informazioni.</para> - </sect1> - - <sect1> - <title>I Commenti sono Benvenuti</title> - - <para>Se usi questa guida, sarei interessata a sapere dove non è - chiara, ciò che è stato tralasciato e che vorresti venisse - incluso, e sapere se tutto ciò è stato utile. I miei - ringraziamenti vanno a Eugene W. Stark, professore di informatica a - SUNY-Stony Brook, e John Fieber per i suoi utili commenti.</para> - - <para>Annelise Anderson, <email>andrsn@andrsn.stanford.edu</email></para> - - <para>Per questioni legate alla traduzione, o se avete commenti da poter - esprimere solo in italiano, non esitate a contattarmi. Come per l'autrice - originale, ogni genere di commenti è ben accetto.</para> - - <para>Massimiliano Stucchi, <email>stucchi@willystudios.com</email></para> - </sect1> -</article> diff --git a/it_IT.ISO8859-15/articles/vm-design/Makefile b/it_IT.ISO8859-15/articles/vm-design/Makefile deleted file mode 100644 index 2780936f21..0000000000 --- a/it_IT.ISO8859-15/articles/vm-design/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# -# $FreeBSD$ -# -# Articolo: Elementi di progettazione del sistema di VM di FreeBSD - -DOC?= article - -FORMATS?= html -WITH_ARTICLE_TOC?= YES - -SRCS= article.sgml -IMAGES_EN = fig1.eps -IMAGES_EN+= fig2.eps -IMAGES_EN+= fig3.eps -IMAGES_EN+= fig4.eps - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - - -DOC_PREFIX?= ${.CURDIR}/../../.. -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/articles/vm-design/article.sgml b/it_IT.ISO8859-15/articles/vm-design/article.sgml deleted file mode 100644 index 55493ee1c2..0000000000 --- a/it_IT.ISO8859-15/articles/vm-design/article.sgml +++ /dev/null @@ -1,1051 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.14 ---> - -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ -<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> -%articles.ent; -]> - -<article lang="it"> - <articleinfo> - <title>Elementi di progettazione del sistema di VM di FreeBSD</title> - - <authorgroup> - <author> - <firstname>Matthew</firstname> - - <surname>Dillon</surname> - - <affiliation> - <address> - <email>dillon@apollo.backplane.com</email> - </address> - </affiliation> - </author> - </authorgroup> - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.linux; - &tm-attrib.microsoft; - &tm-attrib.opengroup; - &tm-attrib.general; - </legalnotice> - - <abstract> - <para>Il titolo è in realtà solo un modo complicato per dire - che cercherò di descrivere l'intera enchilada della memoria - virtuale (VM), sperando di farlo in una maniera che chiunque possa - seguire. - Nell'ultimo anno mi sono concentrato su un certo numero di sottosistemi - principali del kernel in FreeBSD, trovando quelli della VM (la memoria - virtuale) e dello Swap i più interessanti, e considerando quello - di NFS <quote>un lavoretto necessario</quote>. - Ho riscritto solo piccole porzioni di quel codice. Nell'arena - della VM la sola grossa riscrittura che ho affrontato è stata - quella del sottosistema di swap. - La maggior parte del mio lavoro è stato di pulizia e - mantenimento, con solo alcune moderate riscritture di codice e - nessuna correzione rilevante a livello algoritmico nel sottosistema - della VM. Il nocciolo della base teorica del sottosistema - rimane immutato ed un bel po' del merito per gli sforzi di - modernizzazione negli ultimi anni appartiene a John Dyson e David - Greenman. Poiché non sono uno storico come Kirk non - tenterò di marcare tutte le varie caratteristiche con i nomi - delle relative persone, perché sbaglierei - invariabilmente.</para> - - &trans.it.surrender; - </abstract> - - <legalnotice> - <para>Questo articolo è stato pubblicato in origine nel numero di - gennaio 2000 di <ulink - url="http://www.daemonnews.org/">DaemonNews</ulink>. - Questa versione dell'articolo può includere aggiornamenti da - parte di Matt e di altri autori per riflettere i cambiamenti - nell'implementazione della VM di FreeBSD.</para> - </legalnotice> - </articleinfo> - - <sect1> - <title>Introduzione</title> - - <para>Prima di andare avanti con la descrizione del progetto effettivo - della VM spendiamo un po' di tempo sulla necessità di mantenere - e modernizzare una qualunque base di codice longeva. - Nel mondo della programmazione, gli algoritmi tendono ad essere più - importanti del codice ed è dovuto alle radici accademiche - di BSD che si è prestata grande attenzione alla progettazione - algoritmica sin dal principio. - Una maggiore attenzione al design in genere conduce ad una base di codice - flessibile e pulita che può essere modificata abbastanza - semplicemente, estesa, o rimpiazzata nel tempo. - Mentre BSD viene considerato un sistema operativo <quote>vecchio</quote> - da alcune persone, quelli di noi che lavorano su di esso tendono - a considerarlo come una base di codice <quote>matura</quote> - che ha vari componenti modificati, estesi, o rimpiazzati con codice - moderno. Questa si è evoluta, e FreeBSD è all'avanguardia, - non importa quanto possa essere vecchio qualche pezzo di codice. - Questa è una distinzione importante da fare ed una di quelle che - sfortunatamente sfuggono alla maggior parte delle persone. Il più - grande errore che un programmatore possa fare è non imparare - dalla storia, e questo è precisamente l'errore che molti sistemi - operativi moderni hanno commesso. &windowsnt; è il miglior esempio - di questo, e le conseguenze sono state disastrose. Anche Linux commette - questo errore a un certo livello—abbastanza perché noi - appassionati di BSD possiamo scherzarci su ogni tanto, comunque. - Il problema di Linux è semplicemente la mancanza di esperienza e - di una storia con la quale confrontare le idee, un problema che sta - venendo affrontato rapidamente dalla comunità Linux nello stesso - modo in cui è stato affrontato da quella BSD—con il continuo - sviluppo di codice. La gente di &windowsnt;, d'altro canto, fa - ripetutamente gli stessi errori risolti da &unix; decadi fa e poi impiega - anni nel risolverli. E poi li rifanno, ancora, e ancora. - Soffrono di un preoccupante caso di <quote>non è stato progettato - qui</quote> e di <quote>abbiamo sempre ragione perché il nostro - dipartimento marketing dice così</quote>. Io ho pochissima - tolleranza per chiunque non impari dalla storia.</para> - - <para>La maggior parte dell'apparente complessità di progettazione di - FreeBSD, specialmente nel sottosistema VM/Swap, è una conseguenza - diretta dell'aver dovuto risolvere importanti problemi di prestazioni - legati a varie condizioni. Questi problemi non sono dovuti a cattivi - progetti algoritmici ma sorgono invece da fattori ambientali. - In ogni paragone diretto tra piattaforme, questi problemi - diventano più evidenti quando le risorse di sistema cominciano ad - essere stressate. - Mentre descrivo il sottosistema VM/Swap di FreeBSD il lettore - dovrebbe sempre tenere a mente almeno due punti. Primo, l'aspetto - più importante nel design prestazionale è ciò che - è noto come <quote>Ottimizzazione del Percorso Critico</quote>. - Accade spesso che le ottimizzazioni prestazionali aggiungano - un po di impurità al codice per far migliorare il percorso critico. - Secondo, un progetto solido e generalizzato, funziona meglio di - un progetto pesantemente ottimizzato, alla lunga. Mentre un progetto - generale può alla fin fine essere più lento di un sistema - pesantemente ottimizzato quando vengono implementati inizialmente, il - progetto generalizzato tende ad essere più semplice da adattare - alle condizioni variabili mentre quello pesantemente ottimizzato finisce - per dover essere gettato via. Ogni base di codice che dovrà - sopravvivere ed essere mantenibile per anni deve dunque essere progettata - con attenzione fin dall'inizio anche se questo può portare a - piccoli peggioramenti nelle prestazioni. - Vent'anni fa c'era ancora gente che sosteneva che programmare in assembly - era meglio che programmare in linguaggi di alto livello, perché - si poteva produrre codice che era dieci volte più veloce. Oggi, - la fallacia di tale argomento è ovvia—così come i - paralleli con il design algoritmico e la generalizzazione del - codice.</para> - </sect1> - - <sect1> - <title>Oggetti VM</title> - - <para>Il modo migliore per iniziare a descrivere il sistema di VM di FreeBSD - è guardandolo dalla prospettiva di un processo a livello - utente. Ogni processo utente vede uno spazio di indirizzamento della VM - singolo, privato e contiguo, contenente molti tipi di oggetti di memoria. - Questi oggetti hanno varie caratteristiche. - Il codice del programma e i dati del programma sono effettivamente - un singolo file mappato in memoria (il file binario che è stato - eseguito), ma il codice di programma è di sola lettura mentre i - dati del programma sono copy-on-write <footnote> - <para>I dati copy on write sono dati che vengono copiati solo al momento - della loro effettiva modifica</para> - </footnote>. Il BSS del programma è solamente una zona di memoria - allocata e riempita con degli zero su richiesta, detta in inglese - <quote>demand zero page fill</quote>. - Nello spazio di indirizzamento possono essere mappati anche file - arbitrari, che è in effetti il meccanismo con il quale funzionano - le librerie condivise. Tali mappature possono richiedere modifiche per - rimanere private rispetto al processo che le ha effettuate. - La chiamata di sistema fork aggiunge una dimensione completamente nuova - al problema della gestione della VM in cima alla complessità - già data.</para> - - <para>Una pagina di dati di un programma (che è una basilare pagina - copy-on-write) illustra questa complessità. Un programma binario - contiene una sezione di dati preinizializzati che viene inizialmente - mappata direttamente in memoria dal file del programma. - Quando un programma viene caricato nello spazio di memoria virtuale di un - processo, questa area viene inizialmente copiata e mappata in memoria dal - binario del programma stesso, permettendo al sistema della VM di - liberare/riusare la pagina in seguito e poi ricaricarla dal binario. - Nel momento in cui un processo modifica questi dati, comunque, il - sistema della VM deve mantenere una copia privata della pagina per quel - processo. Poiché la copia privata è stata modificata, il - sistema della VM non può più liberarlo, poiché non ci - sarebbe più nessuna possibilità di recuperarlo in - seguito.</para> - - <para>Noterai immediatamente che quella che in origine era soltanto - una semplice mappatura di un file è diventata qualcosa di - più complesso. - I dati possono essere modificati pagina per pagina - mentre una mappatura di file coinvolge molte pagine alla volta. - La complessità aumenta ancora quando un processo esegue una fork. - Quando un processo esegue una fork, il risultato sono due - processi—ognuno con il proprio spazio di indirizzamento privato, - inclusa ogni modifica fatta dal processo originale prima della chiamata a - <function>fork()</function>. Sarebbe stupido per un sistema di VM creare - una copia completa dei dati al momento della <function>fork()</function> - perché è abbastanza probabile che almeno uno dei due - processi avrà bisogno soltanto di leggere da una certa pagina da - quel momento in poi, permettendo di continuare ad usare la - pagina originale. Quella che era una pagina privata viene di nuovo - resa una copy-on-write, poiché ogni processo (padre e figlio) si - aspetta che i propri cambiamenti rimangano privati per loro e non abbiano - effetti sugli altri.</para> - - <para>FreeBSD gestisce tutto ciò con un modello a strati di oggetti - VM. Il file binario originale del programma risulta come lo strato di - Oggetti VM più basso. - Un livello copy-on-write viene messo sopra questo per mantenere quelle - pagine che sono state copiate dal file originale. - Se il programma modifica una pagina di dati appartenente al file originale - il sistema dell VM prende un page fault <footnote> - <para>Un page fault, o <quote>mancanza di pagina</quote>, - corrisponde ad una mancanza di una determinata pagina di memoria a un - certo livello, ed alla necessità di copiarla da un livello - più lento. Ad esempio se una pagina di memoria è stata - spostata dalla memoria fisica allo spazio di swap su disco, e viene - richiamata, si genera un page fault e la pagina viene di nuovo copiata - in ram.</para> - </footnote> e fa una copia della pagina nel livello più alto. - Quando un processo effettua una fork, vengono aggiunti altri livelli di - Oggetti VM. Tutto questo potrebbe avere un po' più senso con un - semplice esempio. - Una <function>fork()</function> è un'operazione comune per ogni - sistema *BSD, dunque questo esempio prenderà in considerazione un - programma che viene avviato ed esegue una fork. Quando il processo viene - avviato, il sistema della VM crea uno starto di oggetti, chiamiamolo - A:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="fig1" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced">+---------------+ -| A | -+---------------+</literallayout> - </textobject> - - <textobject> - <phrase>Un'immagine</phrase> - </textobject> - </mediaobject> - - <para>A rappresenta il file—le pagine possono essere - spostate dentro e fuori dal mezzo fisico del file se necessario. - Copiare il file dal disco è sensato per un programma, - ma di certo non vogliamo effettuare il page out <footnote> - <para>La copia dalla memoria al disco, l'opposto del page in, la - mappatura in memoria.</para> - </footnote> e sovrascrivere l'eseguibile. - Il sistema della VM crea dunque un secondo livello, B, che verrà - copiato fisicamente dallo spazio di swap:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="fig2" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced">+---------------+ -| B | -+---------------+ -| A | -+---------------+</literallayout> - </textobject> - </mediaobject> - - <para>Dopo questo, nella prima scrittura verso una pagina, viene creata una - nuova pagina in B, ed il suo contenuto viene inizializzato con i dati di - A. Tutte le pagine in B possono essere spostate da e verso un dispositivo - di swap. Quando il programma esegue la fork, il sistema della VM crea - due nuovi livelli di oggetti—C1 per il padre e C2 per il - figlio—che restano sopra a B:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="fig3" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced">+-------+-------+ -| C1 | C2 | -+-------+-------+ -| B | -+---------------+ -| A | -+---------------+</literallayout> - </textobject> - </mediaobject> - - <para>In questo caso, supponiamo che una pagina in B venga modificata dal - processo genitore. Il processo subirà un fault di copy-on-write e - duplicherà la pagina in C1, lasciando la pagina originale in B - intatta. - Ora, supponiamo che la stessa pagina in B venga modificata dal processo - figlio. Il processo subirà un fault di copy-on-write e - duplicherà la pagina in C2. - La pagina originale in B è ora completamente nascosta poiché - sia C1 che C2 hanno una copia e B potrebbe teoricamente essere distrutta - (se non rappresenta un <quote>vero</quote> file). - Comunque, questo tipo di ottimizzazione non è triviale da - realizzare perché è di grana molto fine. - FreeBSD non effettua questa ottimizzazione. - Ora, supponiamo (come è spesso il caso) che - il processo figlio effettui una <function>exec()</function>. Il suo - attuale spazio di indirizzamento è in genere rimpiazzato da un - nuovo spazio di indirizzamento rappresentante il nuovo file. - In questo caso il livello C2 viene distrutto:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="fig4" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced">+-------+ -| C1 | -+-------+-------+ -| B | -+---------------+ -| A | -+---------------+</literallayout> - </textobject> - </mediaobject> - - <para>In questo caso, il numero di figli di B scende a uno, e tutti gli - accessi a B avvengono attraverso C1. Ciò significa che B e C1 - possono collassare insieme in un singolo strato. - Ogni pagina in B che esista anche in C1 viene cancellata da - B durante il crollo. Dunque, anche se l'ottimizzazione nel passo - precedente non era stata effettuata, possiamo recuperare le pagine morte - quando il processo esce o esegue una <function>exec()</function>.</para> - - <para>Questo modello crea un bel po' di problemi potenziali. Il primo - è che ci si potrebbe ritrovare con una pila abbastanza profonda di - Oggetti VM incolonnati che costerebbe memoria e tempo per la ricerca - quando accadesse un fault. Può verificarsi un ingrandimento della - pila quando un processo esegue una fork dopo l'altra (che sia il padre o - il figlio). Il secondo problema è che potremmo ritrovarci con - pagine morte, inaccessibili nella profondità della pila degli - Oggetti VM. Nel nostro ultimo esempio se sia il padre che il figlio - modificano la stessa pagina, entrambi hanno una loro copia della pagina e - la pagina originale in B non è più accessibile - da nessuno. Quella pagina in B può essere liberata.</para> - - <para>FreeBSD risolve il problema della profondità dei livelli con - un'ottimizzazione speciale detta <quote>All Shadowed Case</quote> (caso - dell'oscuramento totale). - Questo caso accade se C1 o C2 subiscono sufficienti COW fault (COW - è l'acronimo che sta per copy on write) da oscurare completamente - tutte le pagine in B. - Ponimo che C1 abbia raggiunto questo livello. C1 può ora - scavalcare B del tutto, dunque invece di avere C1->B->A e C2->B->A adesso - abbiamo C1->A e C2->B->A. - ma si noti cos'altro è accaduto—ora B ha solo un riferimento - (C2), dunque possiamo far collassare B e C2 insieme. - Il risultato finale è che B viene cancellato - interamente e abbiamo C1->A e C2->A. Spesso accade che B contenga un - grosso numero di pagine e ne' C1 ne' C2 riescano a oscurarlo - completamente. Se eseguiamo una nuova fork e creiamo un insieme di - livelli D, comunque, è molto più probabile che uno dei - livelli D sia eventualmente in grado di oscurare completamente l'insieme - di dati più piccolo rappresentato da C1 o C2. La stessa - ottimizzazione funzionerà in ogni punto nel grafico ed il - risultato di ciò è che anche su una macchina con - moltissime fork le pile degli Oggetti VM tendono a non superare una - profondità di 4. Ciò è vero sia per il padre che per - il figlio ed è vero nel caso sia il padre a eseguire la fork ma - anche se è il figlio a eseguire fork in cascata.</para> - - <para>Il problema della pagina morta esiste ancora nel caso C1 o C2 non - oscurino completamente B. A causa delle altre ottimizzazioni questa - eventualità - non rappresenta un grosso problema e quindi permettiamo semplicemente - alle pagine di essere morte. Se il sistema si trovasse con poca memoria - le manderebbe in swap, consumando un po' di swap, ma così - è.</para> - - <para>Il vantaggio del modello ad Oggetti VM è che - <function>fork()</function> è estremamente veloce, poiché - non deve aver luogo nessuna copia di dati effettiva. Lo svantaggio - è che è possibile costruire un meccanismo a livelli di - Oggetti VM relativamente complesso che rallenterebbe la gestione dei page - fault, e consumerebbe memoria gestendo le strutture degli Oggetti VM. - Le ottimizazioni realizzate da FreeBSD danno prova di ridurre - i problemi abbastanza da poter essere ignorati, non lasciando - nessuno svantaggio reale.</para> - </sect1> - - <sect1> - <title>Livelli di SWAP</title> - - <para>Le pagine di dati private sono inizialmente o pagine - copy-on-write o pagine zero-fill. - Quando avviene un cambiamento, e dunque una copia, l'oggetto di copia - originale (in genere un file) non può più essere utilizzato - per salvare la copia quando il sistema della VM ha bisogno di - riutilizzarla per altri scopi. A questo punto entra in gioco lo SWAP. Lo - SWAP viene allocato per creare spazio dove salvare memoria che altrimenti - non sarebbe disponibile. FreeBSD alloca la struttura di gestione di - un Oggetto VM solo quando è veramente necessario. - Ad ogni modo, la struttura di gestione dello swap ha avuto storicamente - dei problemi.</para> - - <para>Su FreeBSD 3.X la gestione della struttura di swap prealloca un - array che contiene l'intero oggetto che necessita di subire - swap—anche se solo poche pagine di quell'oggetto sono effettivamente - swappate questo crea una frammentazione della memoria del kernel quando - vengono mappati oggetti grandi, o processi con grandi dimensioni - all'esecuzione (large runsizes, RSS). Inoltre, per poter tenere traccia - dello spazio di swap, viene mantenuta una <quote>lista dei buchi</quote> - nella memoria del kernel, ed anche questa tende ad essere pesantemente - frammentata. Poiché la <quote>lista dei buchi</quote> è una - lista lineare, l'allocazione di swap e la liberazione hanno prestazioni - non ottimali O(n) per ogni pagina. - Questo richiede anche che avvengano allocazioni di memoria - durante il processo di liberazione dello swap, e questo crea - problemi di deadlock, blocchi senza uscita, dovuti a scarsa memoria. - Il problema è ancor più esacerbato dai buchi creati a causa - dell'algoritmo di interleaving. - Inoltre il blocco di swap può divenire frammentato molto facilmente - causando un'allocazione non contigua. Anche la memoria del Kernel deve - essere allocata al volo per le strutture aggiuntive di gestione dello - swap quando avviene uno swapout. È evidente che c'era molto spazio - per dei miglioramenti.</para> - - <para>Per FreeBSD 4.X, ho completamente riscritto il sottosistema di swap. - Con questa riscrittura, le strutture di gestione dello swap vengono - allocate attraverso una tabella di hash invece che con un array lineare - fornendo una dimensione di allocazione fissata e una granularità - molto maggiore. - Invece di usare una lista lineare collegata per tenere traccia delle - riserve di spazio di swap, essa usa una mappa di bit di blocchi di swap - organizzata in una struttura ad albero radicato con riferimenti allo - spazio libero nelle strutture nei nodi dell'albero. Ciò rende in - effetti l'operazione di allocazione e liberazione delle risorse - un'operazione O(1). - L'intera mappa di bit dell'albero radicato viene anche preallocata in modo - da evitare l'allocazione di memoria kernel durante le operazioni di swap - critiche nei momenti in cui la memoria disponibile è ridotta. - Dopo tutto, il sistema tende a fare uso dello swap quando ha poca memoria - quindi dovremmo evitare di allocare memoria per il kernel in quei momenti - per poter evitare potenziali deadlock. Infine, per ridurre la - frammentazione l'albero radicato è in grado di allocare grandi - spezzoni contigui in una volta, saltando i pezzetti frammentati. - Non ho ancora compiuto il passo finale di avere un <quote>puntatore di - supportoall'allocazione</quote> che scorra su una porzione di swap nel - momento in cui vengano effettuate delle allocazioni, in modo da garantire - ancor di più le allocazioni contigue o almeno una località - nel riferimento, ma ho assicurato che un'aggiunta simile possa essere - effettuata.</para> - </sect1> - - <sect1> - <title>Quando liberare una pagina</title> - - <para>Poiché il sistema della VM usa tutta la memoria disponibile - per il caching del disco, in genere ci sono pochissime pagine veramente - libere. Il sistema della VM dipende dalla possibilità di - scegliere in maniera appropriata le pagine che non sono in uso per - riusarle in nuove allocazioni. Selezionare le pagine ottimali da liberare - è forse la funzione singola più importante che possa essere - eseguita da una VM perché se si effettua una selezione non - accurata, il sistema della VM può essere forzato a recuperare - pagine dal disco in modo non necessari, degradando seriamente le - prestazioni del sistema.</para> - - <para>Quanto sovraccarico siamo disposti a sopportare nel percorso critico - per evitare di liberare la pagina sbagliata? Ogni scelta sbagliata che - facciamo ci costerà centinaia di migliaia di cicli di CPU ed uno - stallo percettibile nei processi coinvolti, dunque permettiamo un - sovraccarico significativo in modo da poter avere la certezza che la - pagina scelta sia quella giusta. - Questo è il motivo per cui FreeBSD tende ad avere prestazioni - migliori di altri sistemi quando le risorse di memoria vengono - stressate.</para> - - <para>L'algoritmo di determinazione della pagina da liberare - è costruito su una storia di uso delle pagine di memoria. - Per acquisire tale storia, il sistema si avvantaggia di una - caratteristica della maggior parte dell'hardware moderno, il bit che - indica l'attività di una pagina (page-used bit).</para> - - <para>In qualsiasi caso, il page-used bit viene azzerato e in un momento - seguente il sistema della VM passa di nuovo sulla pagina e vede che il - page-used bit è stato di nuovo attivato. Questo indica che la - pagina viene ancora usata attivamente. - Il bit ancora disattivato è un indice che quella pagina non viene - usata attivamente. - Controllando questo bit periodicamente, viene sviluppata una storia - d'uso (in forma di contatore) per la pagina fisica. Quando il sistema - della VM avrà bisogno di liberare delle pagine, controllare questa - storia diventa la pietra angolare nella determinazione del candidato - migliore come pagina da riutilizzare.</para> - - <sidebar> - <title>E se l'hardware non ha un page-used bit?</title> - - <para>Per quelle piattaforme che non hanno questa caratteristica, il - sistema in effetti emula un page-used bit. Esso elimina la mappatura di - una pagina, o la protegge, forzando un page fault se c'è un - accesso successivo alla pagina. - Quando avviene il page fault, il sistema segnala semplicemente - la pagina come usata e la sprotegge in maniera che possa essere usata. - Mentre prendere tale page fault solo per determinare se una pagina - è in uso può apparire una scelta costosa, in realtà - essa lo è molto meno che riusare la pagina per altri scopi, per - dover poi scoprire che un processo ne aveva ancora bisogno e dovere - andare a cercarla di nuovo su disco.</para> - </sidebar> - - <para>FreeBSD fa uso di parecchie code per le pagine per raffinare - ulteriormente la selezione delle pagine da riutilizzare, come anche per - determinare quando le pagine sporche devono essere spostate dalla memoria - e immagazzinate da qualche parte. Poiché le tabelle delle pagine - sono entità dinamiche in FreeBSD, non costa praticamente nulla - eliminare la mappatura di una pagina dallo spazio di indirizzamento di un - qualsiasi processo che la stia usando. Quando una pagina candidata - è stata scelta sulla base del contatore d'uso, questo è - esattamente quello che viene fatto. - Il sistema deve effettuare una distinzione tra pagine pulite che - possono essere teoricamente liberate in qualsiasi momento, e pagine - sporche che devono prima essere scritte (salvate) per poter essere - riutilizzabili. - Quando una pagina candidata viene trovata viene spostata nella coda - delle pagine inattive, se è una pagina sporca, o nella coda di - cache se è pulita. - Un algoritmo separato basato su un rapporto sporche/pulite - determina quando le pagine sporche nella coda inattiva devono essere - scritte su disco. Una volta che è stato fatto questo, le pagine - ormai salvate vengono spostate dalla coda delle inattive alla coda di - cache. A questo punto, le pagine nella coda di cache possono ancora - essere riattivate da un VM fault ad un costo relativamente basso. - Ad ogni modo, le pagine nella coda di cache vengono considerate - <quote>immediatamente liberabili</quote> e verranno riutilizzate con un - metodo LRU (least-recently used <footnote> - <para>Usate meno recentemente. Le pagine che non vengono usate da molto - tempo probabilmente non saranno necessarie a breve, e possono essere - liberate.</para> - </footnote>) quando il sistema avrà bisogno di allocare nuova - memoria.</para> - - <para>È importante notare che il sistema della VM di FreeBSD tenta - di separare pagine pulite e sporche per l'espressa ragione di evitare - scritture non necessarie di pagine sporche (che divorano banda di I/O), e - non sposta le pagine tra le varie code gratuitamente quando il - sottosistema non viene stressato. Questo è il motivo per cui - dando un <command>systat -vm</command> vedrai sistemi con contatori della - coda di cache bassi e contatori della coda delle pagine attive molto alti. - Quando il sistema della VM diviene maggiormente stressato, esso fa un - grande sforzo per mantenere le varie code delle pagine ai livelli - determinati come più efficenti. - Per anni è circolata la leggenda urbana che Linux facesse un lavoro - migliore di FreeBSD nell'evitare gli swapout, ma in pratica questo non - è vero. Quello che stava effettivamente accadendo era che FreeBSD - stava salvando le pagine inutilizzate proattivamente per fare spazio - mentre Linux stava mantendendo le pagine inutilizzate lasciando meno - memoria disponibile per la cache e le pagine dei processi. - Non so se questo sia vero ancora oggi.</para> - </sect1> - - <sect1> - <title>Pre-Faulting e Ottimizzazioni di Azzeramento</title> - - <para>Subire un VM fault non è costoso se la pagina sottostante - è già nella memoria fisica e deve solo essere mappata di - nuovo nel processo, ma può divenire costoso nel caso se ne - subiscano un bel po' su base regolare. Un buon esempio di ciò si - ha eseguendo un programma come &man.ls.1; o &man.ps.1; ripetutamente. - Se il binario del programma è mappato in memoria ma non nella - tabella delle pagine, allora tutte le pagine che verranno accedute dal - programmma dovranno generare un page fault ogni volta che il programma - viene eseguito. - Ciò non è necessario quando le pagine in questione sono - già nella cache della VM, quindi FreeBSD tenterà di - pre-popolare le tabelle delle pagine di un processo con quelle pagine che - sono già nella VM Cache. Una cosa che FreeBSD non fa ancora - è effettuare il pre-copy-on-write di alcune pagine nel caso di una - chiamata a exec. - Ad esempio, se esegui il programma &man.ls.1; mentre stai eseguendo - <command>vmstat 1</command> noterai che subisce sempre un certo numero - di page fault, anche eseguendolo ancora e ancora. Questi sono - zero-fill fault, legati alla necessità di azzerare memoria, - non program code fault, legati alla copia dell'eseguibile in memoria - (che erano già stati gestiti come pre-fault). - Pre-copiare le pagine all'exec o alla fork è un'area che potrebbe - essere soggetta a maggior studio.</para> - - <para>Una larga percentuale dei page fault che accadono è composta di - zero-fill fault. In genere è possibile notare questo fatto - osservando l'output di <command>vmstat -s</command>. - Questi accadono quando un processo accede a pagine nell'area del BSS. - Ci si aspetta che l'area del BSS sia composta inizialmente da zeri - ma il sistema della VM non si preoccupa di allocare nessuna memoria - finché il processo non ne ha effettivamente bisogno. - Quindi nel momento in cui accade un fault il sistema della VM non - deve solo allocare una nuova pagina, ma deve anche azzerarla. - Per ottimizzare l'operazione di azzeramento, il sistema della VM - ha la capacità di pre-azzerare le pagine e segnalarle come tali, - e di richiedere pagine pre-azzerate quando avvengono zero-fill fault. - Il pre-azzeramento avviene quando la CPU è inutilizzata ma il - numero di pagine che vengono pre-azzerate dal sistema è limitato - per evitare di spazzare via la cache della memoria. Questo è un - eccellente esempio di complessità aggiunta al sistema della VM per - ottimizare il percorso critico.</para> - </sect1> - - <sect1> - <title>Ottimizzazioni della Tabella delle Pagine </title> - - <para>Le ottimizzazioni alla tabella delle pagine costituiscono - La parte più controversa nel design della VM di FreeBSD ed ha - mostrato un po' di affanno con l'avvento di un uso pesante di - <function>mmap()</function>. - Penso che questa sia una caratteristiche della maggior parte dei - BSD anche se non sono sicuro di quando è stata introdotta - la prima volta. Ci sono due ottimizzazioni maggiori. La prima è - che le tabelle della pagine hardware non contengono uno stato persistente - ma possono essere gettate via in qualsiasi momento con un sovraccarico di - gestione minimo. - La seconda è che ogni pagina attiva nel sistema ha una struttura di - controllo <literal>pv_entry</literal> che è integrata con la - struttura <literal>vm_page</literal>. FreeBSD può semplicemente - operare attraverso quelle mappature di cui è certa l'esistenza, - mentre Linux deve controllare tutte le tabelle delle pagine che - <emphasis>potrebbero</emphasis> contenere una mappatura specifica per - vedere se lo stanno effettivamente facendo, il che può portare ad - un sovraccarico computazionale O(n^2) in alcune situazioni. - È per questo che FreeBSD tende a fare scelte migliori su quale - pagina riutilizzare o mandare in swap quando la memoria è messa - sotto sforzo, fornendo una miglior performance sotto carico. Comunque, - FreeBSD richiede una messa a punto del kernel per accomodare situazioni - che richiedano grandi spazi di indirizzamento condivisi, come quelli che - possono essere necessari in un sistema di news perché potrebbe - esaurire il numero di struct <literal>pv_entry</literal>.</para> - - <para>Sia Linux che FreeBSD necessitano di lavoro in quest'area. - FreeBSD sta cercando di massimizzare il vantaggio di avere un modello di - mappatura attiva potenzialmente poco denso (non tutti i processi hanno - bisogno di mappare tutte le pagine di una libreria condivisa, ad esempio), - mentre linux sta cercando di semplificare i suoi algoritmi. FreeBSD - generalmente ha dei vantaggi prestazionali al costo di un piccolo spreco - di memoria in più, ma FreeBSD crolla nel caso in cui un grosso file - sia condiviso massivamente da centinaia di processi. - Linux, d'altro canto, crolla nel caso in cui molti processi mappino a - macchia di leopardo la stessa libreria condivisa e gira in maniera non - ottimale anche quando cerca di determinare se una pagina deve essere - riutilizzata o no.</para> - </sect1> - - <sect1> - <title>Colorazione delle Pagine</title> - - <para>Concluderemo con le ottimizzazioni di colorazione delle pagine. - La colorazione delle pagine è un'ottimizzazione prestazionale - progettata per assicurare che gli accessi a pagine contigue nella memoria - virtuale facciano il miglior uso della cache del processore. Nei - tempi antichi (cioè più di 10 anni fa) le cache dei - processori tendevano a mapparela memoria virtuale invece della memoria - fisica. Questo conduceva ad un numero enorme di problemi inclusa la - necessità di ripulire la cache ad ogni cambio di contesto, in - alcuni casi, e problemi con l'aliasing dei dati nella cache. - Le cache dei processori moderni mappano la memoria fisica proprio per - risolvere questi problemi. - Questo significa che due pagine vicine nello spazio di indirizzamento - dei processi possono non corrispondere a due pagine vicine nella cache. - In effetti, se non si è attenti pagine affiancate nella memoria - virtuale possono finire con l'occupare la stessa pagina nella cache del - processore—portando all'eliminazione prematura di dati - immagazzinabili in cache e riducendo le prestazioni della cache. - Ciò è vero anche con cache set-associative <footnote> - <para>set-associative sta per associative all'interno di un insieme, in - quanto c'è un insieme di blocchi della cache nei quale puo - essere mappato un elemento della memoria fisica.</para> - </footnote> a molte vie (anche se l'effetto viene in qualche maniera - mitigato).</para> - - <para>Il codice di allocazione della memoria di FreeBSD implementa - le ottimizizzazioni di colorazione delle pagine, ciò significa che - il codice di allocazione della memoria cercherà di trovare delle - pagine libere che siano vicine dal punto di vista della cache. - Ad esempio, se la pagina 16 della memoria fisica è assegnata - alla pagina 0 della memoria virtuale di un processo e la cache può - contenere 4 pagine, il codice di colorazione delle pagine non - assegnerà la pagina 20 di memoria fisica alla pagina 1 di - quella virtuale. - Invece, gli assegnerà la pagina 21 della memoria fisica. - Il codice di colorazione delle pagine cerca di evitare l'assegnazione - della pagina 20 perché questa verrebbe mappata sopra lo stesso - blocco di memoria cache della pagina 16 e ciò causerrebbe un uso - non ottimale della cache. - Questo codice aggiunge una complessità significativa - al sottosistema di allocazione memoria della VM, come si può ben - immaginare, ma il gioco vale ben più della candela. La colorazione - delle pagine rende la memoria virtuale deterministica quanto la memoria - fisica per quel che riguarda le prestazioni della cache.</para> - </sect1> - - <sect1> - <title>Conclusione</title> - - <para>La memoria virtuale nei sistemi operativi moderni deve affrontare - molti problemi differenti efficientemente e per molti diversi tipi di uso. - L'approccio modulare ed algoritmico che BSD ha storicamente seguito ci - permette di studiare e comprendere l'implementazione attuale cosi come di - poter rimpiazzare in maniera relativamente pulita grosse sezioni di - codice. Ci sono stati un gran numero di miglioramenti al sistema della - VM di FreeBSD negli ultimi anni, ed il lavoro prosegue.</para> - </sect1> - - <sect1> - <title>Sessione Bonus di Domande e Risposte di Allen Briggs - <email>briggs@ninthwonder.com</email></title> - - <qandaset> - <qandaentry> - <question> - <para>Cos'è <quote>l'algoritmo di interleaving</quote> a cui - fai riferimento nell'elenco delle debolezze della gestione dello - swap in FreeBSD 3.X ?</para> - </question> - - <answer> - <para>FreeBSD usa un intervallo tra zone di swap fissato, con un - valore predefinito di 4. Questo significa che FreeBSD riserva - spazio per quattro aree di swap anche se ne hai una sola o due o - tre. Poiché lo swap è intervallato lo spazio di - indirizzamento lineare che rappresenta le <quote>quattro aree di - swap</quote> verrà frammentato se non si possiedono - veramente quattro aree di swap. Ad esempio, se hai due aree di - swap A e B la rappresentazione dello spazio di FreeBSD per - quell'area di swap verrà interrotta in blocchi di 16 - pagine:</para> - - <literallayout>A B C D A B C D A B C D A B C D</literallayout> - - <para>FreeBSD 3.X usa una <quote>lista sequenziale delle - regioni libere </quote> per registrare le aree di swap libere. - L'idea è che grandi blocchi di spazio libero e lineare - possano essere rappresentati con un nodo singolo - (<filename>kern/subr_rlist.c</filename>). - Ma a causa della frammentazione la lista sequenziale risulta - assurdamente frammentata. - Nell'esempio precedente, uno spazio di swap completamente non - allocato farà si che A e B siano mostrati come - <quote>liberi</quote> e C e D come <quote>totalmente - allocati</quote>. Ogni sequenza A-B richiede un nodo per essere - registrato perché C e D sono buchi, dunquei nodi di lista non - possono essere combinati con la sequenza A-B seguente.</para> - - <para>Perché organizziamo lo spazio in intervalli invece di - appiccicare semplicemente le area di swap e facciamo qualcosa di - più carino? Perché è molto più semplice - allocare strisce lineari di uno spazio di indirizzamento ed ottenere - il risultato già ripartito tra dischi multipli piuttosto che - cercare di spostare questa complicazione altrove.</para> - - <para>La frammentazione causa altri problemi. Essendoci una lista - lineare nella serie 3.X, ed avendo una tale quantità di - frammentazione implicita, l'allocazione e la liberazione dello swap - finisce per essere un algoritmo O(N) invece di uno O(1). - Combinalo con altri fattori (attività di swap pesante) - e comincerai a trovarti con livelli di overhead come O(N^2) e - O(N^3), e ciò è male. Il sistema dela serie 3.X - può anche avere necessità di allocare KVM durante - un'operazione di swap per creare un nuovo nodo lista, il che - può portare ad un deadlock se il sistema sta cercando di - liberare pagine nella memoria fisica in un momento di - scarsità di memoria.</para> - - <para>Nella serie 4.X non usiamo una lista sequenziale. Invece usiamo - un albero radicato e mappe di bit di blocchi di swap piuttosto che - nodi lista. - Ci prendiamo il peso di preallocare tutte le mappe di bit richieste - per l'intera area di swap ma ciò finisce per consumare meno - memoria grazie all'uso di una mappa di bit (un bit per blocco) - invece di una lista collegata di nodi. L'uso di un albero radicato - invece di una lista sequenziale ci fornisce una performance quasi - O(1) qualunque sia il livello di frammentazione dell'albero.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Non ho capito questo:</para> - - <blockquote> - <para>È importante notare che il sistema della VM di FreeBSD - tenta di separare pagine pulite e sporche per l'espressa ragione di - evitare scritture non necessarie di pagine sporche (che divorano - banda di I/O), e non sposta le pagine tra le varie code - gratuitamente se il sottosistema non viene stressato. Questo - è il motivo per cui dando un <command>systat -vm</command> - vedrai sistemi con contatori della coda di cache bassi e contatori - della coda delle pagine attive molto alti.</para> - </blockquote> - - <para>Come entra in relazione la separazione delle pagine pulite e - sporche (inattive) con la situazione nella quale vediamo contatori - bassi per la coda di cache e valori alti per la coda delle pagine - attive in <command>systat -vm</command>? I dati di systat derivano - da una fusione delle pagine attive e sporche per la coda delle - pagine attive?</para> - </question> - - <answer> - <para>Si, questo può confondere. La relazione è - <quote>obiettivo</quote> contro <quote>realtà</quote>. Il - nostro obiettivo è separare le pagine ma la realtà - è che se non siamo in crisi di memoria, non abbiamo bisogno - di farlo.</para> - - <para>Questo significa che FreeBSD non cercherà troppo di - separare le pagine sporche (coda inattiva) da quelle pulite - (code della cache), ne cercherà di disattivare le pagine - (coda pagine attive -> coda pagine inattive) quando il sistema non - è sotto sforzo, anche se non vengono effettivamente - usate.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para> Nell'esempio di &man.ls.1; / <command>vmstat 1</command>, - alcuni dei page fault non potrebbero essere data page faults - (COW da file eseguibili a pagine private)? Cioè, io mi - aspetterei che i page fault fossero degli zero-fill e dei dati di - programma. O si implica che FreeBSD effettui il pre-COW per i dati - di programma?</para> - </question> - - <answer> - <para>Un fault COW può essere o legato a uno zero-fill o a dati - di programma. - Il meccanismo è lo stesso in entrambi i casi poiché - i dati di programma da copiare sono quasi certamente già - presenti nella cache. E infatti li tratto insieme. FreeBSD non - effettua preventivamentela copia dei dati di programma o lo - zero-fill, <emphasis>effettua</emphasis> la mappatura preventiva - delle pagine che sono presenti nella sua cache.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Nella sezione sull'ottimizzazione della tabella delle pagine, - potresti fornire maggiori dettagli su <literal>pv_entry</literal> e - <literal>vm_page</literal> (forse vm_page dovrebbe essere - <literal>vm_pmap</literal>—come in 4.4, cf. pp. 180-181 di - McKusick, Bostic, Karel, Quarterman)? Specificamente, che tipo di - operazioni/reazioni richiederebbero la scansione delle - mappature?</para> - - <para>Come funziona Linux nel caso in cui FreeBSD fallisce - (la condivisione di un grosso file mappato tra molti - processi)?</para> - </question> - - <answer> - <para>Una <literal>vm_page</literal> rappresenta una tupla - (oggetto,indice#). - Una <literal>pv_entry</literal> rappresenta una voce nella tabella - delle pagine hardware (pte). Se hai cinque processi che condividono - la stessa pagina fisica, e tre delle tabelle delle pagine di questi - processi mappano effettivamente la pagina, questa pagina - verrà rappresentata da una struttura - <literal>vm_page</literal> singola e da tre strutture - <literal>pv_entry</literal>.</para> - - <para>Le strutture <literal>pv_entry</literal> rappresentano solo - le pagine mappate dalla MMU (una <literal>pv_entry</literal> - rappresenta un pte). Ciò significa che è necessario - rimuovere tutti i riferimenti hardware a <literal>vm_page</literal> - (in modo da poter riutilizzare la pagina per qualcos'altro, - effettuare il page out, ripulirla, sporcarla, e così via) - possiamo semplicemente scansionare la lista collegata di - <literal>pv_entry</literal> associate con quella - <literal>vm_page</literal> per rimuovere o modificare i pte - dalla loro tabella delle pagine.</para> - - <para>Sotto Linux non c'è una lista collegata del genere. Per - poter rimuovere tutte le mappature della tabella delle pagine - hardware per una <literal>vm_page</literal> linux deve indicizzare - ogni oggetto VM che <emphasis>potrebbe</emphasis> aver mappato la - pagina. Ad esempio, se si hanno 50 processi che mappano la stessa - libreria condivisa e si vuole liberarsi della pagina X in quella - libreria, sarà necessario cercare nella tabella delle pagine - per ognuno dei 50 processi anche se solo 10 di essi ha - effettivamente mappato la pagina. Così Linux sta barattando - la semplicità del design con le prestazioni. Molti algoritmi - per la VM che sono O(1) o (piccolo N) in FreeBSD finiscono per - diventare O(N), O(N^2), o anche peggio in Linux. - Poiché i pte che rappresentano una particolare pagina in un - oggetto tendono ad essere allo stesso offset in tutte le tabelle - delle pagine nelle quali sono mappati, la riduzione del numero di - accessi alla tabela delle pagine allo stesso offset eviterà - che la la linea di cache L1 per quell'offset venga cancellata, - portando ad una performance migliore.</para> - - <para>FreeBSD ha aggiunto complessità (lo schema - <literal>pv_entry</literal>) in modo da incrementare le prestazioni - (per limitare gli accessi alla tabella delle pagine - <emphasis>solo</emphasis> a quelle pte che necessitino di essere - modificate).</para> - - <para>Ma FreeBSD ha un problema di scalabilità che linux non ha - nell'avere un numero limitato di strutture - <literal>pv_entry</literal> e questo provoca problemi quando si - hanno condivisioni massicce di dati. In questo caso c'è la - possibilità che finiscano le strutture - <literal>pv_entry</literal> anche se c'è ancora una grande - quantità di memoria disponibile. - Questo può essere risolto abbastanza facilmente - aumentando il numero di struttre <literal>pv_entry</literal> nella - configurazione del kernel, ma c'è veramente bisogno di - trovare un modo migliore di farlo.</para> - - <para>Riguardo il sovrapprezzo in memoria di una tabella delle pagine - rispetto allo schema delle <literal>pv_entry</literal>: Linux usa - tabelle delle pagine <quote>permanenti</quote> che non vengono - liberate, ma non necessita una <literal>pv_entry</literal> per ogni - pte potenzialmente mappato. - FreeBSD usa tabelle delle pagine <quote>throw away</quote>, - eliminabili, ma aggiunge una struttura <literal>pv_entry</literal> - per ogni pte effettivamente mappato. Credo che l'utilizzo della - memoria finisca per essere più o meno lo stesso, fornendo a - FreeBSD un vantaggio algoritmico con la capacità di - eliminare completamente le tabelle delle pagine con un - sovraccarico prestazionale minimo.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Infine, nella sezione sulla colorazione delle pagine, potrebbe - esser d'aiuto avere qualche descrizione in più di quello che - intendi. Non sono riuscito a seguire molto bene.</para> - </question> - - <answer> - <para>Sai come funziona una memoria cache hardware L1? Spiego: - Considera una macchina con 16MB di memoria principale ma solo 128K - di cache L1. In genere il modo in cui funziona la cache è - che ogni blocco da 128K di memoria principale usa gli - <emphasis>stessi</emphasis> 128K di cache. - Se si accede all'offset 0 della memoria principale e poi al 128K su - può finire per cancellarei dati che si erano messi nella - cache dall'offset 0!</para> - - <para>Ora, sto semplificando di molto. Ciò che ho appena - descritto è quella che viene detta memoria cache a - <quote>corrispondenza diretta</quote>, o direct mapped. - La maggior parte delle cache moderne sono quelle che - vengono dette set-associative a 2 o 4 vie. - L'associatività di questo tipo permette di accedere fino ad N - regioni di memoria differenti che si sovrappongano sulla stessa - cache senza distruggere i dati preventivamente immagazzinati. - Ma solo N.</para> - - <para>Dunque se ho una cache set associativa a 4 vie posso accedere - agli offset 0, 128K, 256K 384K ed essere ancora in grado di - accedere all'offset 0 ritrovandolo nella cache L1. Se poi accedessi - all'offset 512K, ad ogni modo, uno degli oggetti dato immagazzinati - precedentemente verrebbero cancellati dalla cache.</para> - - <para>È estremamente importante … - <emphasis>estremamente</emphasis> importante che la maggior parte - degli accessi del processore alla memoria vengano dalla cache L1, - poiché la cache L1 opera alla stessa frequenza del - processore. Nel momento in cui si ha un miss <footnote> - <para>Un miss nella cache è equivalente a un page fault per - la memoria fisica, ed allo stesso modo implica un accesso a - dispositivi molto più lenti, da L1 a L2 come da RAM a - disco.</para> - </footnote> nella cache L1 si deveandare a cercare nella cache L2 o - nella memoria principale, il processore andrà in stallo, e - potenzialmente potrà sedersi a girarsi i pollici per un tempo - equivalente a <emphasis>centinaia</emphasis> di istruzioni - attendendo che la lettura dalla memoria principale venga - completata. La memoria principale (la RAM che metti nel tuo - computer) è <emphasis>lenta</emphasis>, se comparata alla - velocità del nucleo di un moderno processore.</para> - - <para>Ok, ora parliamo della colorazione dele pagine: - tutte le moderne cache sono del tipo noto come cache - <emphasis>fisiche</emphasis>. Esse memorizzano indirizzi di memoria - fisica, non indirizzi di memoria virtual. Ciò permette alla - cache di rimanere anche nel momento in cui ci sia un cambio di - contesto tra processi, e ciò è molto - importante.</para> - - <para>Ma nel mondo &unix; devi lavorare con spazi di indirizzamento - virtuali, non con spazi di indirizzamento fisici. Ogni programma - che scrivi vedrà lo spazio di indirizzamento virtuale - assegnatogli. Le effettive pagine <emphasis>fisiche</emphasis> - nascoste sotto quello spazio di indirizzi virtuali - non saranno necessariamente contigue fisicamente! In effetti, - potresti avere due pagine affiancate nello spazio di - indirizzamento del processo cge finiscono per trovarsi agli - offset 0 e 128K nella memoria <emphasis>fisica</emphasis>.</para> - - <para>Un programma normalmente assume che due pagine - affiancate verranno poste in cache in maniera ottimale. - Cioè, che possa accedere agli oggetti dato in - entrambe le pagine senza che esse si cancellino a vicenda le - rispettiva informazioni in cache. - Ma ciò è vero solo se le pagine fisiche sottostanti lo - spazio di indirizzo virtuale sono contigue (per quel che riguarda - la cache).</para> - - <para>Questo è ciò che viene fatto dalla colorazione - delle pagine. - Invece di assegnare pagine fisiche <emphasis>casuali</emphasis> agli - indirizzi virtuali, che potrebbe causare prestazioni non ottimali - della cache, la colorazione dele pagine assegna pagine fisiche - <emphasis>ragionevolmente contigue</emphasis>. - Dunque i programmi possono essere scritti assumendo che - le caratteristiche per lo spazio di indirizzamento virtuale del - programma della cache hardware sottostante siano uguali a come - sarebbero state se avessero usato lo spazio di indirizzamento - fisico.</para> - - <para>Si note ho detto <quote>ragionevolmente</quote> contigue invece - che semplicemente <quote>contigue</quote>. Dal punto di vista di - una cache di 128K a corrispondenza diretta, l'indirizzo fisico 0 - è lo stesso che l'indirizzo fisico 128K. - Dunque due agine affiancate nello spzio di indirizzamento virtuale - potrebbero finire per essere all'offset 128K e al 132K nella memoria - fisica, ma potrebbero trovarsi tranquillamente anche agli offset - 128K e 4K della memoria fisica e mantenera comunque le stesse - caratteristiche prestazionali nei riguardi della cache. Dunque la - colorazione delle pagine <emphasis>non</emphasis> deveassegnare - pagine di memoria fisica veramente contigue a pagine di memoria - virtuale contigue, deve solo assicurarsi che siano assegnate pagine - contigue dal punto di vista delle prestazioni/operazioni della - cache.</para> - </answer> - </qandaentry> - </qandaset> - </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/books/Makefile b/it_IT.ISO8859-15/books/Makefile deleted file mode 100644 index 0f97424134..0000000000 --- a/it_IT.ISO8859-15/books/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -SUBDIR = handbook -SUBDIR+= unix-introduction - -ROOT_SYMLINKS= handbook - -DOC_PREFIX?= ${.CURDIR}/../.. - -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/books/Makefile.inc b/it_IT.ISO8859-15/books/Makefile.inc deleted file mode 100644 index 4414577992..0000000000 --- a/it_IT.ISO8859-15/books/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# -# $FreeBSD$ -# - -DESTDIR?= ${DOCDIR}/it_IT.ISO8859-15/books/${.CURDIR:T}
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/handbook/Makefile b/it_IT.ISO8859-15/books/handbook/Makefile deleted file mode 100644 index c95923b78e..0000000000 --- a/it_IT.ISO8859-15/books/handbook/Makefile +++ /dev/null @@ -1,257 +0,0 @@ -# -# $FreeBSD$ -# Original revision: 1.90 -# -# Crea il Manuale di FreeBSD. -# - -# ------------------------------------------------------------------------ -# -# Variabili specifiche del Manuale -# -# WITH_PGPKEYS La versione stampata del manuale riporta solo i -# fingerprints PGP di base. Se vuoi visualizzare -# le chiavi intere, allora setta questa variabile. -# Questa opzione non ha effetto sui formati HTML. -# -# Targets specifici del Manuale -# -# pgpkeyring Questo target leggerà il contenuto del file -# pgpkeys/chapter.sgml ad estrarrà tutte le chiavi -# pgp sullo standard output. Questo output può -# quindi essere rediretto su un file e distribuito -# come un keyring pubblico degli sviluppatori di -# FreeBSD che può essere facilmente importato in -# PGP/GPG. -# -# ------------------------------------------------------------------------ - -.PATH: ${.CURDIR}/../../share/sgml/glossary - -MAINTAINER= ale@FreeBSD.org - -DOC?= book - -FORMATS?= html-split - -HAS_INDEX= true - -INSTALL_COMPRESSED?= gz -INSTALL_ONLY_COMPRESSED?= - -IMAGES_EN = advanced-networking/isdn-bus.eps -IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps -IMAGES_EN+= advanced-networking/natd.eps -IMAGES_EN+= advanced-networking/net-routing.pic -IMAGES_EN+= advanced-networking/static-routes.pic -IMAGES_EN+= install/adduser1.scr -IMAGES_EN+= install/adduser2.scr -IMAGES_EN+= install/adduser3.scr -IMAGES_EN+= install/boot-mgr.scr -IMAGES_EN+= install/console-saver1.scr -IMAGES_EN+= install/console-saver2.scr -IMAGES_EN+= install/console-saver3.scr -IMAGES_EN+= install/console-saver4.scr -IMAGES_EN+= install/desktop.scr -IMAGES_EN+= install/disklabel-auto.scr -IMAGES_EN+= install/disklabel-ed1.scr -IMAGES_EN+= install/disklabel-ed2.scr -IMAGES_EN+= install/disklabel-fs.scr -IMAGES_EN+= install/disklabel-root1.scr -IMAGES_EN+= install/disklabel-root2.scr -IMAGES_EN+= install/disklabel-root3.scr -IMAGES_EN+= install/disk-layout.eps -IMAGES_EN+= install/dist-set.scr -IMAGES_EN+= install/dist-set2.scr -IMAGES_EN+= install/docmenu1.scr -IMAGES_EN+= install/ed0-conf.scr -IMAGES_EN+= install/ed0-conf2.scr -IMAGES_EN+= install/edit-inetd-conf.scr -IMAGES_EN+= install/example-dir1.eps -IMAGES_EN+= install/example-dir2.eps -IMAGES_EN+= install/example-dir3.eps -IMAGES_EN+= install/example-dir4.eps -IMAGES_EN+= install/example-dir5.eps -IMAGES_EN+= install/fdisk-drive1.scr -IMAGES_EN+= install/fdisk-drive2.scr -IMAGES_EN+= install/fdisk-edit1.scr -IMAGES_EN+= install/fdisk-edit2.scr -IMAGES_EN+= install/ftp-anon1.scr -IMAGES_EN+= install/ftp-anon2.scr -IMAGES_EN+= install/hdwrconf.scr -IMAGES_EN+= install/keymap.scr -IMAGES_EN+= install/main1.scr -IMAGES_EN+= install/mainexit.scr -IMAGES_EN+= install/main-std.scr -IMAGES_EN+= install/main-options.scr -IMAGES_EN+= install/main-doc.scr -IMAGES_EN+= install/main-keymap.scr -IMAGES_EN+= install/media.scr -IMAGES_EN+= install/mouse1.scr -IMAGES_EN+= install/mouse2.scr -IMAGES_EN+= install/mouse3.scr -IMAGES_EN+= install/mouse4.scr -IMAGES_EN+= install/mouse5.scr -IMAGES_EN+= install/mouse6.scr -IMAGES_EN+= install/mta-main.scr -IMAGES_EN+= install/net-config-menu1.scr -IMAGES_EN+= install/net-config-menu2.scr -IMAGES_EN+= install/nfs-server-edit.scr -IMAGES_EN+= install/ntp-config.scr -IMAGES_EN+= install/options.scr -IMAGES_EN+= install/pkg-cat.scr -IMAGES_EN+= install/pkg-confirm.scr -IMAGES_EN+= install/pkg-install.scr -IMAGES_EN+= install/pkg-sel.scr -IMAGES_EN+= install/probstart.scr -IMAGES_EN+= install/routed.scr -IMAGES_EN+= install/security.scr -IMAGES_EN+= install/sysinstall-exit.scr -IMAGES_EN+= install/timezone1.scr -IMAGES_EN+= install/timezone2.scr -IMAGES_EN+= install/timezone3.scr -IMAGES_EN+= install/userconfig.scr -IMAGES_EN+= install/userconfig2.scr -IMAGES_EN+= install/xf86setup.scr -IMAGES_EN+= mail/mutt1.scr -IMAGES_EN+= mail/mutt2.scr -IMAGES_EN+= mail/mutt3.scr -IMAGES_EN+= mail/pine1.scr -IMAGES_EN+= mail/pine2.scr -IMAGES_EN+= mail/pine3.scr -IMAGES_EN+= mail/pine4.scr -IMAGES_EN+= mail/pine5.scr -IMAGES_EN+= security/ipsec-crypt-pkt.pic -IMAGES_EN+= security/ipsec-encap-pkt.pic -IMAGES_EN+= security/ipsec-network.pic -IMAGES_EN+= security/ipsec-out-pkt.pic -IMAGES_EN+= vinum/vinum-concat.pic -IMAGES_EN+= vinum/vinum-mirrored-vol.pic -IMAGES_EN+= vinum/vinum-raid10-vol.pic -IMAGES_EN+= vinum/vinum-raid5-org.pic -IMAGES_EN+= vinum/vinum-simple-vol.pic -IMAGES_EN+= vinum/vinum-striped-vol.pic -IMAGES_EN+= vinum/vinum-striped.pic - -# Immagini dalla libreria per tutti i documenti -IMAGES_LIB = callouts/1.png -IMAGES_LIB+= callouts/2.png -IMAGES_LIB+= callouts/3.png -IMAGES_LIB+= callouts/4.png -IMAGES_LIB+= callouts/5.png -IMAGES_LIB+= callouts/6.png -IMAGES_LIB+= callouts/7.png -IMAGES_LIB+= callouts/8.png -IMAGES_LIB+= callouts/9.png -IMAGES_LIB+= callouts/10.png - -# -# SRCS lista i singoli files SGML che compongono il documento. Modifiche -# a qualunque di questi files obbligano la ricreazione -# - -# Contenuto SGML -SRCS = book.sgml -SRCS+= colophon.sgml -SRCS+= freebsd-glossary.sgml -SRCS+= advanced-networking/chapter.sgml -SRCS+= basics/chapter.sgml -SRCS+= bibliography/chapter.sgml -SRCS+= boot/chapter.sgml -SRCS+= config/chapter.sgml -SRCS+= cutting-edge/chapter.sgml -SRCS+= desktop/chapter.sgml -SRCS+= disks/chapter.sgml -SRCS+= eresources/chapter.sgml -SRCS+= install/chapter.sgml -SRCS+= introduction/chapter.sgml -SRCS+= kernelconfig/chapter.sgml -SRCS+= l10n/chapter.sgml -SRCS+= linuxemu/chapter.sgml -SRCS+= mac/chapter.sgml -SRCS+= mail/chapter.sgml -SRCS+= mirrors/chapter.sgml -SRCS+= multimedia/chapter.sgml -SRCS+= network-servers/chapter.sgml -SRCS+= pgpkeys/chapter.sgml -SRCS+= ports/chapter.sgml -SRCS+= ppp-and-slip/chapter.sgml -SRCS+= preface/preface.sgml -SRCS+= printing/chapter.sgml -SRCS+= security/chapter.sgml -SRCS+= serialcomms/chapter.sgml -SRCS+= users/chapter.sgml -SRCS+= vinum/chapter.sgml -SRCS+= x11/chapter.sgml - -# Entities -SRCS+= chapters.ent - -SYMLINKS= ${DESTDIR} index.html handbook.html - -# Attiva tutti i capitoli. -CHAPTERS?= ${SRCS:M*chapter.sgml} - -SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} -SGMLFLAGS+= -i chap.freebsd-glossary - -# XXX La creazione del Manuale attualmente sfora dei limiti interni, -# codificati in pdftex. Finché non dividiamo il Manuale, crea la versione -# PDF usando ps2pdf invece di pdftex. - -PS2PDF?= ${PREFIX}/bin/ps2pdf - -book.tex-pdf: - ${TOUCH} book.tex-pdf - -book.pdf: book.ps - ${PS2PDF} book.ps book.pdf - -pgpkeyring: pgpkeys/chapter.sgml - @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} - -# -# Variabili specifiche del Manuale -# -.if defined(WITH_PGPKEYS) -JADEFLAGS+= -V withpgpkeys -.endif - -.for p in ftp cvsup -SRCS+= mirrors.sgml.${p}.inc -CLEANFILES+= mirrors.sgml.${p}.inc -CLEANFILES+= mirrors.sgml.${p}.inc.tmp -.endfor - -SRCS+= eresources.sgml.www.inc -CLEANFILES+= eresources.sgml.www.inc -CLEANFILES+= eresources.sgml.www.inc.tmp - -URL_RELPREFIX?= ../../../.. -DOC_PREFIX?= ${.CURDIR}/../../.. - -.include "${DOC_PREFIX}/share/mk/doc.project.mk" - -.for p in ftp cvsup -mirrors.sgml.${p}.inc: ${XML_MIRRORS} ${XSL_MIRRORS} - ${XSLTPROC} ${XSLTPROCOPTS} \ - -o $@.tmp \ - --param 'type' "'$p'" \ - --param 'proto' "'$p'" \ - --param 'target' "'handbook/mirrors/chapter.sgml'" \ - ${XSL_MIRRORS} ${XML_MIRRORS} - ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,' \ - < $@.tmp > $@ || (${RM} -f $@ && false) - ${RM} -f $@.tmp -.endfor - -eresources.sgml.www.inc: ${XML_MIRRORS} ${XSL_MIRRORS} - ${XSLTPROC} ${XSLTPROCOPTS} \ - -o $@.tmp \ - --param 'type' "'www'" \ - --param 'proto' "'http'" \ - --param 'target' "'handbook/eresources/chapter.sgml'" \ - ${XSL_MIRRORS} ${XML_MIRRORS} - ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,' \ - < $@.tmp > $@ || (${RM} -f $@ && false) - ${RM} -f $@.tmp diff --git a/it_IT.ISO8859-15/books/handbook/advanced-networking/Makefile b/it_IT.ISO8859-15/books/handbook/advanced-networking/Makefile deleted file mode 100644 index 9bc3fccc51..0000000000 --- a/it_IT.ISO8859-15/books/handbook/advanced-networking/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= advanced-networking/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml b/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml deleted file mode 100644 index b4566c7dda..0000000000 --- a/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml +++ /dev/null @@ -1,86 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="advanced-networking"> - <title>Networking Avanzato</title> - - <sect1 id="advanced-networking-synopsis"> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-routing"> - <title>Gateways e Routes</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-wireless"> - <title>Wireless</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-bluetooth"> - <title>Bluetooth</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-bridging"> - <title>Bridging</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-diskless"> - <title>Modalità senza dischi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-isdn"> - <title>ISDN</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-natd"> - <title>NAT</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-plip"> - <title>PLIP</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-ipv6"> - <title>IPv6</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-atm"> - <title>ATM</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/appendix.decl b/it_IT.ISO8859-15/books/handbook/appendix.decl deleted file mode 100644 index 5297501a9c..0000000000 --- a/it_IT.ISO8859-15/books/handbook/appendix.decl +++ /dev/null @@ -1,8 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.1 ---> - -<!DOCTYPE appendix PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN"> diff --git a/it_IT.ISO8859-15/books/handbook/basics/Makefile b/it_IT.ISO8859-15/books/handbook/basics/Makefile deleted file mode 100644 index 8827060440..0000000000 --- a/it_IT.ISO8859-15/books/handbook/basics/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= basics/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml b/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml deleted file mode 100644 index 326b9368e3..0000000000 --- a/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml +++ /dev/null @@ -1,2735 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.126 ---> - -<chapter id="basics"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Chris</firstname> - - <surname>Shumway</surname> - - <contrib>Riscritto da </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Basi di Unix</title> - - <sect1 id="basics-synopsis"> - <title>Sinossi</title> - - <indexterm><primary>basi</primary></indexterm> - - <para>Il seguente capitolo tratta i comandi e le funzionalità di - base del sistema operativo FreeBSD. Molto di questo materiale è - valido anche per altri sistemi operativi &unix;-like. Sentiti libero di - leggere velocemente questo capitolo se hai familiarità con questo - materiale. Se sei un utente alle prime armi di FreeBSD, allora dovrai di - sicuro leggere questo capitolo attentamente.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come usare le <quote>console virtuali</quote> di FreeBSD.</para> - </listitem> - - <listitem> - <para>Come funzionano i permessi dei file &unix;.</para> - </listitem> - - <listitem> - <para>La struttura di default del file system di &os;.</para> - </listitem> - - <listitem> - <para>L'organizzazione del disco di &os;.</para> - </listitem> - - <listitem> - <para>Come montare e smontare i file system.</para> - </listitem> - - <listitem> - <para>Cosa sono i processi, i demoni e i segnali.</para> - </listitem> - - <listitem> - <para>Cos'è una shell, e come cambiare il proprio ambiente di - login di default.</para> - </listitem> - - <listitem> - <para>I principi di base sull'uso degli editor testuali.</para> - </listitem> - - <listitem> - <para>Cosa sono i dispositivi e i nodi dei dispositivi.</para> - </listitem> - - <listitem> - <para>Quali formati dei binari sono usati in &os;.</para> - </listitem> - - <listitem> - <para>Come leggere le pagine man per ottenere maggiori - informazioni.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="consoles"> - <title>Console Virtuali e Terminali</title> - - <indexterm><primary>console virtuali</primary></indexterm> - <indexterm><primary>terminali</primary></indexterm> - - <para>FreeBSD può essere usato in vari modi. Uno di questi è - quello di digitare i comandi tramite un terminale testuale. Quando si - utilizza FreeBSD in questo modo si ha velocemente nelle proprie mani molta - della flessibilità e della potenza di un sistema operativo &unix;. - Questa sezione descrive cosa sono i <quote>terminali</quote> e le - <quote>console</quote>, e come si possono utilizzare in FreeBSD.</para> - - <sect2 id="consoles-intro"> - <title>La console</title> - - <indexterm><primary>console</primary></indexterm> - - <para>Se non hai configurato FreeBSD in modo tale da avviare in modo - automatico l'ambiente grafico durante l'avvio, il sistema ti - fornirà un prompt di login dopo la fase di avvio, esattamente - dopo che gli script di avvio sono stati eseguiti. Dovresti vedere - qualcosa simile a questo:</para> - - <screen>Additional ABI support:. -Local package initialization:. -Additional TCP options:. - -Fri Sep 20 13:01:06 EEST 2002 - -FreeBSD/i386 (pc3.example.org) (ttyv0) - -login:</screen> - - <para>I messaggi potrebbero essere leggermente diversi sul tuo sistema, - tuttavia dovresti vedere qualcosa di analogo. In questo momento ci - interessano le ultime due righe. Analizziamo la penultima riga:</para> - - <programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting> - - <para>Questa riga contiene alcune informazioni sul sistema che hai appena - avviato. Sei di fronte a una console <quote>FreeBSD</quote>, che sta - girando su un processore Intel o su un processore compatibile con - l'architettura x86<footnote> - <para>Questo è il significato di <literal>i386</literal>. - Nota che anche se non stai eseguendo FreeBSD su una CPU della serie - 386 di Intel, questo messaggio resta <literal>i386</literal>. Non - si riferisce al tipo del tuo processore, ma bensì - all'<quote>architettura</quote> del processore.</para></footnote>. - Il nome di questa macchina (tutte le macchine &unix; hanno un nome) - è <hostid>pc3.example.org</hostid>, e in questo momento sei di - fronte alla sua console di sistema—il terminale - <devicename>ttyv0</devicename>.</para> - - <para>Infine, l'ultima riga è sempre:</para> - - <programlisting>login:</programlisting> - - <para>Qui devi digitare il tuo <quote>username</quote> per loggarti in - FreeBSD. La prossima sezione descrive come fare ad effettuare il login - su FreeBSD.</para> - </sect2> - - <sect2 id="consoles-login"> - <title>Loggarsi in FreeBSD</title> - - <para>FreeBSD è un sistema multi-utente e multi-processo. Questa - è la descrizione formale che viene usualmente attribuita a un - sistema che può essere usato da diverse persone, le quali - eseguono contemporaneamente molti programmi su una singola - macchina.</para> - - <para>Ogni sistema multi-utente necessita di qualche metodo che distingua - un <quote>utente</quote> in modo univoco. In FreeBSD (e in tutti i - sistemi operativi &unix;-like), questo viene realizzato richiedendo che - ogni utente debba <quote>loggarsi</quote> nel sistema prima che possa - eseguire qualche programma. Ogni utente ha un nome univoco (lo - <quote>username</quote>), uno personale e una chiave segreta (la - <quote>password</quote>). FreeBSD richiede entrambe queste due cose - prima di dare la possibilità ad un utente di eseguire qualche - programma.</para> - - <indexterm><primary>script di avvio</primary></indexterm> - - <para>Giusto dopo la fase di avvio di FreeBSD e quando gli script di avvio - sono stati eseguiti<footnote> - <para>Gli script di avvio sono programmi che vengono eseguiti in modo - automatico durante la fase di avvio di FreeBSD. Il loro compito - principale è quello di settare delle cose che potranno essere - utilizzate da qualsiasi altra cosa venga eseguita, ed avviare i - servizi che potresti avere configurato in modo tale da essere - eseguiti in background per realizzare cose utili.</para> - </footnote>, ti viene presentato un prompt dove inserire un valido - username:</para> - - <screen>login:</screen> - - <para>Giusto per questo esempio, assumiamo che il tuo username sia - <username>john</username>. Al prompt digita <literal>john</literal> e - premi <keycap>Invio</keycap>. Ti verrà presentato un prompt - dove inserire la <quote>password</quote>:</para> - - <screen>login: <userinput>john</userinput> -Password:</screen> - - <para>Digita la password di <username>john</username>, e premi - <keycap>Invio</keycap>. La password <emphasis>non viene - visualizzata!</emphasis> Non ti devi preoccupare di questo per ora. - È sufficiente sapere che è una questione di - sicurezza.</para> - - <para>Se hai digitato la tua password in modo corretto, dovresti essere - loggato in FreeBSD e sei quindi pronto per provare tutti i comandi - disponibili.</para> - - <para>Dovresti inoltre vedere il messaggio del giorno - (<acronym>MOTD</acronym>) seguito da un prompt dei comandi (un - carattere <literal>#</literal>, <literal>$</literal>, o - <literal>%</literal>). Ciò - indica che sei a tutti gli effetti loggato in FreeBSD.</para> - </sect2> - - <sect2 id="consoles-virtual"> - <title>Console Multiple</title> - - <para>Eseguire comandi &unix; in una sola console va bene, tuttavia - FreeBSD può eseguire più programmi alla volta. Avere una - sola console dove poter digitare i comandi può essere un - pò uno spreco quando un sistema operativo come FreeBSD è - in grado di eseguire dozzine di programmi contemporaneamente. È - in questo caso che le <quote>console virtuali</quote> possono essere - molto utili.</para> - - <para>FreeBSD può essere configurato in modo tale da poter - utilizzare differenti console virtuali. Puoi passare da una console - virtuale ad un'altra digitando un paio di tasti sulla tastiera. Ogni - console ha il proprio canale di output indipendente, e FreeBSD si - occupa di redirigere correttamente l'input della tastiera e l'output del - monitor quando passi da una console virtuale in un'altra.</para> - - <para>In FreeBSD alcune combinazioni speciali di tasti sono state - riservate per il passaggio tra le console<footnote> - <para>Una descrizione abbastanza tecnica ed accurata di tutti i - dettagli della console di FreeBSD e dei driver della tastiera - può essere trovata nelle pagine man di &man.syscons.4;, - &man.atkbd.4;, &man.vidcontrol.1; e &man.kbdcontrol.1;. Qui non - approfondiremo i dettagli, ma il lettore interessato può - sempre consultare le pagine man per una spiegazione dettagliata - e completa su come funzionano queste cose.</para> - </footnote>. Puoi usare - <keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>, - <keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>, fino a - <keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo> per - cambiare console su FreeBSD.</para> - - <para>Quando passi da una console ad un'altra, FreeBSD si preoccupa di - salvare e ripristinare l'output a video. Il risultato è - l'<quote>illusione</quote> di avere più schermi e più - tastiere <quote>virtuali</quote> che puoi utilizzare per dare in pasto a - FreeBSD dei comandi. I programmi che lanci su una console virtuale - rimarranno in esecuzione anche quando la console non è visibile. - L'esecuzione di questi programmi continua quando passi in un'altra - console virtuale.</para> - </sect2> - - <sect2 id="consoles-ttys"> - <title>Il File <filename>/etc/ttys</filename></title> - - <para>La configurazione di default di FreeBSD prevede l'avvio del sistema - con otto console virtuali. Comunque questo non è un settaggio - obbligatorio, e puoi facilmente personalizzare la tua installazione in - modo tale da avviare il sistema con qualche console virtuale in - più. Il numero e i settaggi delle console virtuali sono - configurati nel file <filename>/etc/ttys</filename>.</para> - - <para>Puoi usare il file <filename>/etc/ttys</filename> per configurare - le console virtuali di FreeBSD. In questo file ogni riga non commentata - (le righe che non iniziano con il carattere <literal>#</literal>) - contiene i settaggi di un singolo terminale o di una singola console - virtuale. La versione di default di questo file contenuta in FreeBSD - configura nove console virtuale, e ne abilita otto di queste. Si tratta - delle righe che iniziano con <literal>ttyv</literal>:</para> - - <programlisting># name getty type status comments -# -ttyv0 "/usr/libexec/getty Pc" cons25 on secure -# Terminali virtuali -ttyv1 "/usr/libexec/getty Pc" cons25 on secure -ttyv2 "/usr/libexec/getty Pc" cons25 on secure -ttyv3 "/usr/libexec/getty Pc" cons25 on secure -ttyv4 "/usr/libexec/getty Pc" cons25 on secure -ttyv5 "/usr/libexec/getty Pc" cons25 on secure -ttyv6 "/usr/libexec/getty Pc" cons25 on secure -ttyv7 "/usr/libexec/getty Pc" cons25 on secure -ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting> - - <para>Per una descrizione più dettagliata su ogni colonna di questo - file e per tutte le opzioni che puoi utilizzare per settare le console - virtuali, consulta la pagina man &man.ttys.5;.</para> - </sect2> - - <sect2 id="consoles-singleuser"> - <title>Console in Modalità Single User</title> - - <para>Una descrizione dettagliata del significato della - <quote>modalità single user</quote> può essere trovata - nella <xref linkend="boot-singleuser">. È bene notare che - c'è un'unica console quando avvii FreeBSD in modalità - single user. Le console virtuali non sono disponibili. Anche i - settaggi della console in modalità single user possono essere - trovati nel file <filename>/etc/ttys</filename>. Guarda la riga che - inizia con <literal>console</literal>:</para> - - <programlisting># name getty type status comments -# -# Se la console è definita "insecure", allora il processo init richiederà la password di root -# quando entrerai in modalità single-user. -console none unknown off secure</programlisting> - - <note> - <para>Come riportato nel commento sopra la riga - <literal>console</literal>, puoi modificare questa riga cambiando - <literal>secure</literal> in <literal>insecure</literal>. Se lo fai, - quando FreeBSD viene avviato in modalità single user, - verrà chiesta la password di <username>root</username>.</para> - - <para><emphasis>Pensaci comunque due volte a settare il parametro - <literal>insecure</literal></emphasis>. Se non ricordi più - la password di <username>root</username>, riuscire ad avviare il - sistema in modalità single user sarà molto complesso. - È ancora possibile, ma potrebbe essere molto difficile per chi - non conosce molto bene il meccanismo di avvio di FreeBSD e i relativi - programmi.</para> - </note> - </sect2> - </sect1> - - <sect1 id="permissions"> - <title>I Permessi</title> - - <indexterm><primary>UNIX</primary></indexterm> - - <para>FreeBSD, essendo un discendente diretto dello &unix; BSD, si basa su - molti concetti chiave di &unix;. Il primo e il più affermato - è che FreeBSD è un sistema operativo multi-utente. - Il sistema può gestire diversi utenti che lavorano - contemporaneamente su lavori indipendenti. Il sistema è - responsabile della gestione e della suddivisione appropiata delle - richieste di utilizzo dei dispositivi hardware, delle periferiche, della - memoria, e del tempo di CPU in modo equo per ogni utente.</para> - - <para>Poichè il sistema è in grado di supportare più - utenti, tutto ciò che il sistema gestisce possiede un'insieme di - permessi che determinano chi può leggere, scrivere, ed eseguire la - risorsa. Questi permessi sono memorizzati mediante tre ottetti - suddivisi in tre parti, una per il proprietario del file, una per il - gruppo al quale il file appartiene, e una per tutti gli altri. Questa - rappresentazione numerica funziona in questo modo:</para> - - <indexterm><primary>permessi</primary></indexterm> - <indexterm><primary>permessi dei file</primary></indexterm> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Valore</entry> - - <entry>Permessi</entry> - - <entry>Listato nella Directory</entry> - </row> - </thead> - - <tbody> - <row> - <entry>0</entry> - - <entry>Lettura no, scrittura no, esecuzione no</entry> - - <entry><literal>---</literal></entry> - </row> - - <row> - <entry>1</entry> - - <entry>Lettura no, scrittura no, esecuzione</entry> - - <entry><literal>--x</literal></entry> - </row> - - <row> - <entry>2</entry> - - <entry>Lettura no, scrittura, esecuzione no</entry> - - <entry><literal>-w-</literal></entry> - </row> - - <row> - <entry>3</entry> - - <entry>Lettura no, scrittura, esecuzione</entry> - - <entry><literal>-wx</literal></entry> - </row> - - <row> - <entry>4</entry> - - <entry>Lettura, scrittura no, esecuzione no</entry> - - <entry><literal>r--</literal></entry> - </row> - - <row> - <entry>5</entry> - - <entry>Lettura, scrittura no, esecuzione</entry> - - <entry><literal>r-x</literal></entry> - </row> - - <row> - <entry>6</entry> - - <entry>Lettura, scrittura, esecuzione no</entry> - - <entry><literal>rw-</literal></entry> - </row> - - <row> - <entry>7</entry> - - <entry>Lettura, scrittura, esecuzione</entry> - - <entry><literal>rwx</literal></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <indexterm><primary><command>ls</command></primary></indexterm> - <indexterm><primary>directory</primary></indexterm> - - <para>Puoi usare l'opzione <option>-l</option> del comando &man.ls.1; per - visualizzare un lungo listato della directory che include una colonna - contenente le informazioni sui permessi del file per il proprietario, per - il gruppo, e per gli altri. Per esempio, digitando <command>ls - -l</command> in una arbitraria directory:</para> - - <screen>&prompt.user; <userinput>ls -l</userinput> -total 530 --rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile --rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile --rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt -...</screen> - - <para>Ecco come è suddivisa la prima colonna dell'output del comando - <command>ls -l</command>:</para> - - <screen>-rw-r--r--</screen> - - <para>Il primo carattere (partendo da sinistra) indica se il file in - questione è un file regolare, una directory, un file speciale per - dispositivi a caratteri, una socket, o un file speciale per altri - dispositivi. Nel nostro caso, il <literal>-</literal> indica un - file regolare. I tre caratteri successivi, che in questo esempio sono - <literal>rw-</literal>, indicano i permessi per il proprietario del file. - Seguono altri tre caratteri, <literal>r--</literal>, che indicano i - permessi del gruppo al quale il file appartiene. Gli ultimi tre - caratteri, <literal>r--</literal>, indicano i permessi per il resto del - mondo. Un trattino significa che il permesso non viene concesso. - Nel caso di questo file, i permessi sono settati affinchè il - proprietario possa leggere e scrivere il file, il gruppo possa leggere - il file, e il resto del mondo possa solamente leggere il file. In accordo - con la precedente tabella, i permessi per questo file sono - <literal>644</literal>, dove ogni cifra rappresenta una delle tre parti - che costituiscono i permessi del file.</para> - - <para>D'accordo, ma il sistema come controlla i permessi sui dispositivi? - FreeBSD tratta molti dispositivi hardware esattamente come un file che i - programmi possono aprire, leggere, e scrivere dei dati proprio come - avviene con gli altri file. Questi file speciali per i dispositivi sono - memorizzati nella directory <filename>/dev</filename>.</para> - - <para>Anche le directory sono trattate come file. Queste hanno permessi di - lettura, scrittura e di esecuzione. Il bit riferito al permesso di - esecuzione per una directory ha un significato leggermente differente - rispetto a quello dei file. Quando una directory ha il permesso di - esecuzione abilitato, significa che si ha accesso alla directory, ossia - è possibile eseguire il comando <quote>cd</quote> (cambio di - directory) per entrarci. Inoltre questo significa che all'interno della - directory è possibile accedere ai file dei quali si conosce il nome - (naturalmente a condizione dei permessi degli stessi file).</para> - - <para>In particolare, per visualizzare il contenuto di una directory, deve - essere abilitato il permesso di lettura sulla stessa, mentre per - eliminare un file di cui si conosce il nome, è necessario che la - directory contenente il file abbia i permessi di scrittura - <emphasis>e</emphasis> di esecuzione abilitati.</para> - - <para>Ci sono altri bit per permessi particolari, ma sono in genere usati - in circostanze speciali come il permesso di setuid per i binari e - quello di sticky per le directory. Se vuoi avere più informazioni - sui permessi dei file e su come settarli, guarda la pagina man di - &man.chmod.1;.</para> - - <sect2> - <sect2info> - <authorgroup> - <author> - <firstname>Tom</firstname> - - <surname>Rhodes</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Permessi Simbolici</title> - - <indexterm> - <primary>Permessi</primary><secondary>simbolici</secondary> - </indexterm> - - <para>I permessi simbolici, qualche volta chiamati espressioni simboliche, - usano caratteri al posto dei numeri ottali per assegnare i permessi a - file o directory. Le espressioni simboliche usano la sintassi (chi) - (azione) (permessi), con i seguenti valori:</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Opzione</entry> - - <entry>Lettera</entry> - - <entry>Cosa rappresenta/Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry>(chi)</entry> - - <entry>u</entry> - - <entry>Utente</entry> - </row> - - <row> - <entry>(chi)</entry> - - <entry>g</entry> - - <entry>Gruppo di appartenenza</entry> - </row> - - <row> - <entry>(chi)</entry> - - <entry>o</entry> - - <entry>Altri</entry> - </row> - - <row> - <entry>(chi)</entry> - - <entry>a</entry> - - <entry>Tutti (tutto il <quote>mondo</quote>)</entry> - </row> - - <row> - <entry>(azione)</entry> - - <entry>+</entry> - - <entry>Aggiunge i permessi</entry> - </row> - - <row> - <entry>(azione)</entry> - - <entry>-</entry> - - <entry>Rimuove i permessi</entry> - </row> - - <row> - <entry>(azione)</entry> - - <entry>=</entry> - - <entry>Setta esplicitamente i permessi</entry> - </row> - - <row> - <entry>(permessi)</entry> - - <entry>r</entry> - - <entry>Lettura</entry> - </row> - - <row> - <entry>(permessi)</entry> - - <entry>w</entry> - - <entry>Scrittura</entry> - </row> - - <row> - <entry>(permessi)</entry> - - <entry>x</entry> - - <entry>Esecuzione</entry> - </row> - - <row> - <entry>(permessi)</entry> - - <entry>t</entry> - - <entry>Bit sticky</entry> - </row> - - <row> - <entry>(permessi)</entry> - - <entry>s</entry> - - <entry>Setta UID o GID</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Questi valori sono usati con il comando &man.chmod.1; - in modo simile a prima, ma con le lettere. Per esempio, puoi usare il - seguente comando per impedire agli altri utenti l'accesso a - <replaceable>FILE</replaceable>:</para> - - <screen>&prompt.user; <userinput>chmod go= FILE</userinput></screen> - - <para>Se si ha la necessità di realizzare più di una - modifica ai settaggi di un file si può usare una lista di - settaggi separati da virgola. Per esempio il seguente comando - rimuoverà il permesso di scrittura su - <replaceable>FILE</replaceable> al gruppo di appartenenza del file e al - resto del <quote>mondo</quote>, e inoltre aggiungerà - il permesso di esecuzione per tutti:</para> - - <screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FILE</replaceable></userinput></screen> - </sect2> - </sect1> - - <sect1 id="dirstructure"> - <title>Struttura delle Directory</title> - - <indexterm><primary>gerarchia delle directory</primary></indexterm> - - <para>La gerarchia delle directory di FreeBSD è fondamentale per - ottenere una comprensione globale del sistema. Il concetto più - importante da cogliere al volo è quello relativo alla directory - root, <quote>/</quote>. Questa directory è la prima ad essere - montata all'avvio e contiene gli elementi fondamentali del sistema - necessari per predisporre il sistema operativo al funzionamento - multi-utente. Inoltre la directory root contiene i punti di mount per - gli altri file system che potresti voler montare.</para> - - <para>Un punto di mount è una directory dove dei file system - aggiuntivi possono essere innestati sul file system root. Alcuni punti di - mount standard sono <filename>/usr</filename>, <filename>/var</filename>, - <filename>/mnt</filename>, e <filename>/cdrom</filename>. Queste - directory compaiono in genere negli elementi del file - <filename>/etc/fstab</filename>. Il file <filename>/etc/fstab</filename> - è una tabella di file system e punti di mount che viene consultata - dal sistema. Molti dei file system riferiti nel file - <filename>/etc/fstab</filename> sono montati in modo automatico all'avvio - tramite lo script &man.rc.8; a meno che essi sia stati dichiarati con - l'opzione <option>noauto</option>. Consulta la pagina man di - &man.fstab.5; per maggiori informazioni sul formato del file - <filename>/etc/fstab</filename> e per le opzioni che può - contenere.</para> - - <para>Una descrizione completa della gerarchia del file system è - disponibile nella pagina man &man.hier.7;. Per ora, è - sufficiente una breve panoramica generale delle directory più - comuni.</para> - - <para> - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Directory</entry> - - <entry>Descrizione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><filename class="directory">/</filename></entry> - - <entry>Directory root del file system.</entry> - </row> - - <row> - <entry><filename class="directory">/bin/</filename></entry> - - <entry>Utilità fondamentali per l'utente sia in ambiente - mono-utente sia in ambiente multi-utente.</entry> - </row> - - <row> - <entry><filename class="directory">/boot/</filename></entry> - - <entry>Programmi e file di configurazione utilizzati durante la - fase di avvio del sistema operativo.</entry> - </row> - - <row> - <entry><filename - class="directory">/boot/defaults/</filename></entry> - - <entry>File di configurazione di avvio di default; consultare - &man.loader.conf.5;.</entry> - </row> - - <row> - <entry><filename class="directory">/dev/</filename></entry> - - <entry>Nodi di dispositivo; consultare &man.intro.4;.</entry> - </row> - - <row> - <entry><filename class="directory">/etc/</filename></entry> - - <entry>Script e file di configurazione del sistema.</entry> - </row> - - <row> - <entry><filename - class="directory">/etc/defaults/</filename></entry> - - <entry>File di configurazione di default del sistema; consultare - &man.rc.8;.</entry> - </row> - - <row> - <entry><filename class="directory">/etc/mail/</filename></entry> - - <entry>File di configurazione per gli MTA (Mail Transfer Agent, - agente di trasferimento della posta elettronica) come - &man.sendmail.8;.</entry> - </row> - - <row> - <entry><filename class="directory">/etc/namedb/</filename></entry> - - <entry>File di configurazione di <command>named</command>; - consultare &man.named.8;.</entry> - </row> - - <row> - <entry><filename - class="directory">/etc/periodic/</filename></entry> - - <entry>Script che sono eseguiti giornalmente, settimanalmente, e - mensilmente tramite &man.cron.8;; consultare - &man.periodic.8;.</entry> - </row> - - <row> - <entry><filename class="directory">/etc/ppp/</filename></entry> - - <entry>File di configurazione di <command>ppp</command>; - consultare &man.ppp.8;.</entry> - </row> - - <row> - <entry><filename class="directory">/mnt/</filename></entry> - - <entry>Directory vuota usata comunemente dagli amministratori di - sistema come punto di mount temporaneo.</entry> - </row> - - <row> - <entry><filename class="directory">/proc/</filename></entry> - - <entry>File system dedicato ai processi; consultare - &man.procfs.5;, &man.mount.procfs.8;.</entry> - </row> - - <row> - <entry><filename class="directory">/root/</filename></entry> - - <entry>Directory home per l'account - <username>root</username>.</entry> - </row> - - <row> - <entry><filename class="directory">/sbin/</filename></entry> - - <entry>Programmi di sistema e utilità di amministrazione - fondamentali sia in ambiente mono-utente sia in ambiente - multi-utente.</entry> - </row> - - <row> - <entry><filename class="directory">/stand/</filename></entry> - - <entry>Programmi usati in un ambiente standalone.</entry> - </row> - - <row> - <entry><filename class="directory">/tmp/</filename></entry> - - <entry>File temporanei, di solito un file system basato sulla - memoria come &man.mfs.8; (generalmente il contenuto di <filename - class="directory">/tmp</filename> non viene preservato dopo - un reboot del sistema).</entry> - </row> - - <row> - <entry><filename class="directory">/usr/</filename></entry> - - <entry>La maggior parte delle applicazioni e delle utilità - dell'utente.</entry> - </row> - - <row> - <entry><filename class="directory">/usr/bin/</filename></entry> - - <entry>Utilità, strumenti di programmazione, e - applicazioni comuni.</entry> - </row> - - <row> - <entry><filename - class="directory">/usr/include/</filename></entry> - - <entry>File include standard del C.</entry> - </row> - - <row> - <entry><filename class="directory">/usr/lib/</filename></entry> - - <entry>Archivio di librerie.</entry> - </row> - - <row> - <entry><filename - class="directory">/usr/libdata/</filename></entry> - - <entry>Archivio di dati per utilità varie.</entry> - </row> - - <row> - <entry><filename - class="directory">/usr/libexec/</filename></entry> - - <entry>Demoni & utilità di sistema (eseguiti da altri - programmi).</entry> - </row> - - <row> - <entry><filename class="directory">/usr/local/</filename></entry> - - <entry>Eseguibili locali, librerie locali, ecc. Usata anche - come destinazione di default per la struttura dei port di - FreeBSD. All'interno di <filename>/usr/local</filename>, viene - usato lo stesso schema generale descritto in &man.hier.7; per la - directory <filename>/usr</filename>. Le eccezioni sono la - directory man, che è posta direttamente sotto - <filename>/usr/local</filename> piuttosto che sotto - <filename>/usr/local/share</filename>, e la documentazione dei - port che è in - <filename>share/doc/<replaceable>port</replaceable></filename>. - </entry> - </row> - - <row> - <entry><filename class="directory">/usr/obj/</filename></entry> - - <entry>Albero degli elementi dipendenti dal tipo di architettura - dell'elaboratore prodotto dalla costruzione dell'albero - <filename>/usr/src</filename>.</entry> - </row> - - <row> - <entry><filename class="directory">/usr/ports</filename></entry> - - <entry>Collezione dei port di FreeBSD (opzionale).</entry> - </row> - - <row> - <entry><filename class="directory">/usr/sbin/</filename></entry> - - <entry>Demoni & utilità di sistema (eseguiti dagli - utenti).</entry> - </row> - - <row> - <entry><filename class="directory">/usr/share/</filename></entry> - - <entry>File indipendenti dal tipo di architettura - dell'elaboratore.</entry> - </row> - - <row> - <entry><filename class="directory">/usr/src/</filename></entry> - - <entry>File sorgenti di BSD e/o sorgenti proprietari.</entry> - </row> - - <row> - <entry><filename class="directory">/usr/X11R6/</filename></entry> - - <entry>Eseguibili, librerie, ecc. riguardanti la distribuzione - X11R6 (opzionale).</entry> - </row> - - <row> - <entry><filename class="directory">/var/</filename></entry> - - <entry>File log di vario genere, file temporanei, file transitori, - e file di spool.</entry> - </row> - - <row> - <entry><filename class="directory">/var/log/</filename></entry> - - <entry>File di log del sistema di vario genere.</entry> - </row> - - <row> - <entry><filename class="directory">/var/mail/</filename></entry> - - <entry>File delle caselle di posta degli utenti.</entry> - </row> - - <row> - <entry><filename class="directory">/var/spool/</filename></entry> - - <entry>Directory di spool per stampanti e per la posta elettronica - del sistema.</entry> - </row> - - <row> - <entry><filename class="directory">/var/tmp/</filename></entry> - - <entry>File temporanei che sono mantenuti tra i reboot del - sistema.</entry> - </row> - - <row> - <entry><filename>/var/yp</filename></entry> - - <entry>Mappe NIS.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </sect1> - - <sect1 id="disk-organization"> - <title>Organizzazione del Disco</title> - - <para>La più piccola unità di organizzazione che FreeBSD usa - per ricercare file è il nome del file. I nomi dei file sono - case-sensitive, ciò significa che <filename>readme.txt</filename> - e <filename>README.TXT</filename> sono due file distinti. FreeBSD non usa - l'estensione (es. <filename>.txt</filename>) di un file per determinare - se il file è un programma, un documento, o qualche altra forma di - dati.</para> - - <para>I file sono memorizzati in directory. Una directory può - contenere centinaia di file o non contenerne affatto. Inoltre una - directory può contenere altre directory, consentendo di costruire - una gerarchia di directory all'interno di un'altra. Tutto questo rende - più facile l'organizzazione dei tuoi dati.</para> - - <para>File e directory sono riferiti attraverso il nome del file o della - directory, seguito da uno slash in avanti, <literal>/</literal>, - a sua volta seguito da altri nomi di directory che sono necessari. Se - hai una directory di nome <filename>foo</filename>, la quale contiene la - directory <filename>bar</filename>, che a sua volta contiene il file - <filename>readme.txt</filename>, allora il nome completo, chiamato anche - il <firstterm>path</firstterm> del file è - <filename>foo/bar/readme.txt</filename>.</para> - - <para>Le directory e i file sono memorizzati in un filesystem. Ogni - filesystem contiene esattamente una directory al livello più alto, - chiamata la <firstterm>directory root</firstterm> di quel filesystem. - Questa directory root può contenere altre directory.</para> - - <para>Fin qui è probabilmente tutto simile ad altri sistemi - operativi che hai usato. Tuttavia ci sono alcune differenze; per - esempio, il &ms-dos; usa il carattere <literal>\</literal> per separare i - nomi di file e directory, mentre &macos; usa <literal>:</literal>.</para> - - <para>FreeBSD non usa lettere di dispositivi, o altri nomi di dispositivi - nel path. In FreeBSD non dovrai mai scrivere - <filename>c:/foo/bar/readme.txt</filename>.</para> - - <para>Piuttosto, un filesystem è designato come il - <firstterm>filesystem root</firstterm>. La directory root del - filesystem root è riferita con <literal>/</literal>. Ogni altro - filesystem è <firstterm>montato</firstterm> sotto il filesystem - root. Non importa quanti dischi hai sul tuo sistema FreeBSD, ogni - directory è come se fosse parte dello stesso disco.</para> - - <para>Supponiamo che tu abbia tre filesystem, chiamati - <literal>A</literal>, <literal>B</literal>, e <literal>C</literal>. - Ogni filesystem ha una directory root, la quale contiene altre due - directory, chiamate <literal>A1</literal>, <literal>A2</literal> (e - nello stesso modo <literal>B1</literal>, <literal>B2</literal> e - <literal>C1</literal>, <literal>C2</literal>).</para> - - <para>Sia <literal>A</literal> il filesystem root. Se usi il comando - <command>ls</command> per visualizzare il contenuto di questa directory - dovresti vedere due sottodirectory, <literal>A1</literal> e - <literal>A2</literal>. L'albero delle directory assomiglia a - questo:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="install/example-dir1" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced"> / - | - +--- A1 - | - `--- A2</literallayout> - </textobject> - </mediaobject> - - <para>Un filesystem deve essere montato su una directory di un altro - filesystem. Supponiamo ora che tu monti il filesystem - <literal>B</literal> sulla directory <literal>A1</literal>. La directory - root di <literal>B</literal> rimpiazza <literal>A1</literal>, e di - conseguenza appariranno le directory di <literal>B</literal>:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="install/example-dir2" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced"> / - | - +--- A1 - | | - | +--- B1 - | | - | `--- B2 - | - `--- A2</literallayout> - </textobject> - </mediaobject> - - <para>I file contenuti nelle directory <literal>B1</literal> o - <literal>B2</literal> possono essere raggiunti con il path - <filename>/A1/B1</filename> o <filename>/A1/B2</filename>. I file che - erano in <filename>/A1</filename> sono stati temporaneamente nascosti. - Questi riappariranno quando <literal>B</literal> sarà - <firstterm>smontato</firstterm> da A.</para> - - <para>Se <literal>B</literal> è stato montato su - <literal>A2</literal> allora il diagramma assomiglierà a - questo:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="install/example-dir3" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced"> / - | - +--- A1 - | - `--- A2 - | - +--- B1 - | - `--- B2</literallayout> - </textobject> - </mediaobject> - - <para>e i path saranno rispettivamente <filename>/A2/B1</filename> e - <filename>/A2/B2</filename>.</para> - - <para>I filesystem possono essere montati in cima ad altri filesystem. - Continuando con l'ultimo esempio, il filesystem <literal>C</literal> - può essere montato in cima alla directory <literal>B1</literal> - nel filesystem <literal>B</literal>, arrivando a questa - sistemazione:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="install/example-dir4" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced"> / - | - +--- A1 - | - `--- A2 - | - +--- B1 - | | - | +--- C1 - | | - | `--- C2 - | - `--- B2</literallayout> - </textobject> - </mediaobject> - - <para>Oppure <literal>C</literal> potrebbe essere montato direttamente sul - filesystem <literal>A</literal>, sotto la directory - <literal>A1</literal>:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="install/example-dir5" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced"> / - | - +--- A1 - | | - | +--- C1 - | | - | `--- C2 - | - `--- A2 - | - +--- B1 - | - `--- B2</literallayout> - </textobject> - </mediaobject> - - <para>Se hai familiarità con &ms-dos;, questo è simile, man - non identico, al comando <command>join</command>.</para> - - <para>Di solito non ti devi occupare direttamente di questi aspetti. - Tipicamente quando installi FreeBSD crei i filesystem e decidi dove - montarli, e da quel momento non avrai più la necessità di - modificarli a meno che installi un nuovo disco.</para> - - <para>È possibile avere un unico filesystem root, senza avere la - necessità di crearne altri. Esistono alcuni svantaggi - utilizzando questo approccio, e un solo vantaggio.</para> - - <itemizedlist> - <title>Benefici con Filesystem Multipli</title> - - <listitem> - <para>Filesystem diversi possono avere <firstterm>opzioni di - mount</firstterm> diverse. Per esempio, in una attenta progettazione, - il filesystem root potrebbe essere montato in modalità di sola - lettura, rendendo impossibile la cancellazione accidentale o la modifica - di un file critico. Inoltre, separando i filesystem scrivibili - dall'utente, come <filename>/home</filename>, da altri filesystem - permette di montare i primi con l'opzione <firstterm>nosuid</firstterm>; - questa opzione non permette il settaggio dei bit - <firstterm>suid</firstterm>/<firstterm>guid</firstterm> sui file - eseguibili memorizzati sul filesystem che ha tale opzione di mount - attivata, migliorando l'aspetto sicurezza.</para> - </listitem> - - <listitem> - <para>FreeBSD ottimizza in modo automatico la disposizione dei file sul - filesystem, a seconda di come è usato il filesystem. Quindi - un filesystem che contiene molti file piccoli che sono scritti di - frequente avrà un'ottimizzazione diversa rispetto ad un altro - filesystem che contiene pochi file di grandi dimensioni. Utilizzando - un solo grande filesystem questa ottimizzazione viene a - mancare.</para> - </listitem> - - <listitem> - <para>I filesystem di FreeBSD reagiscono bene ad una violenta perdita di - energia elettrica. Tuttavia, una perdita di energia in un punto - critico potrebbe sempre danneggiare la struttura del filesystem. - Splittando i tuoi dati su filesystem multipli sarà più - probabile che il sistema riparta, dandoti la possibilità di - ripristinare un precedente backup se necessario.</para> - </listitem> - </itemizedlist> - - <itemizedlist> - <title>Benefici di un Filesystem Singolo</title> - - <listitem> - <para>I filesystem sono a dimensione fissa. Se crei un solo filesystem - quando installi FreeBSD e gli assegni una data dimensione, in futuro - potresti scoprire che necessiti di creare una partizione più - grande. Questo non è facilmente realizzabile se non - effettuando un backup dei dati, ricreando il filesystem con la nuova - dimensione, e quindi ripristinando il backup di dati.</para> - - <important> - <para>FreeBSD 4.4 e successivi hanno il comando &man.growfs.8;, - con il quale è possibile incrementare la dimensione del - filesystem al volo, rimuovendo questa limitazione.</para> - </important> - </listitem> - </itemizedlist> - - <para>I filesystem sono contenuti all'interno di partizioni. Qui il - significato del termine partizione si discosta dall'uso comune di questo - termine (partizioni &ms-dos;, per esempio), a causa dell'eredità - &unix; di &os;. Ogni partizione è identificata da una lettera - partendo dalla <literal>a</literal> fino alla <literal>h</literal>. Ogni - partizione può contenere solo un filesystem, il che significa che i - filesystem sono spesso identificati sia dal loro punto di mount nella - gerarchia del filesystem, sia dalla lettera della partizione nella quale - sono contenuti.</para> - - <para>Inoltre FreeBSD usa parte del disco per lo <firstterm>spazio di - swap</firstterm>. Lo spazio di swap fornisce a FreeBSD la - funzionalità di <firstterm>memoria virtuale</firstterm>. Questo - permette al tuo computer di comportarsi come se avesse più memoria - di quella che ha realmente. Quando FreeBSD esaurisce la memoria muove - alcuni dati presenti in memoria che non sono utilizzati in quel momento - nello spazio di swap, e li riporta in memoria (spostando nello spazio di - swap qualche altro dato) non appena necessari.</para> - - <para>Alcune partizioni hanno certe convenzioni a loro associate.</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <colspec colwidth="1*"> - - <colspec colwidth="5*"> - - <thead> - <row> - <entry>Partizione</entry> - - <entry>Convenzione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>a</literal></entry> - - <entry>In genere contiene il filesystem root</entry> - </row> - - <row> - <entry><literal>b</literal></entry> - - <entry>In genere contiene lo spazio di swap</entry> - </row> - - <row> - <entry><literal>c</literal></entry> - - <entry>Di solito rappresenta l'intera dimensione della slice. - Questo permette a utility che necessitano di lavorare sull'intera - slice (per esempio, uno scanner di blocchi difettosi) di lavorare - sulla partizione <literal>c</literal>. Di norma non dovresti - creare un filesystem su questa partizione.</entry> - </row> - - <row> - <entry><literal>d</literal></entry> - - <entry>La partizione <literal>d</literal> era utilizzata in passato - con un significato speciale, sebbene ora non sia più - utilizzata. Ai giorni d'oggi, alcuni strumenti operano in modo - starno se gli si dice di lavorare sulla partizione - <literal>d</literal>, e per questo motivo - <application>sysinstall</application> di norma non la - crea.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Ogni partizione-che-contiene-un-filesystem è memorizzata in - ciò che FreeBSD chiama <firstterm>slice</firstterm>. Slice - è un termine di FreeBSD per identificare ciò che comunemente - viene chiamato partizione, e di nuovo, questo è dovuto dal - background &unix; di FreeBSD. Le slices sono numerate, partendo da 1 e - arrivando fino a 4.</para> - - <indexterm><primary>slice</primary></indexterm> - - <indexterm><primary>partizioni</primary></indexterm> - - <indexterm><primary>pericolosamente dedicate</primary></indexterm> - - <para>I numeri di slice seguono il nome del dispositivo, preceduti da una - <literal>s</literal>, e partendo da 1. Quindi - <quote>da0<emphasis>s1</emphasis></quote> è la prima slice sul - primo disco SCSI. Ci possono essere solo quattro slice fisiche su un - disco, ma puoi avere slice logiche all'interno di slice fisiche di un - appropriato tipo. Queste slice estese sono numerate a partire da 5, - quindi <quote>ad0<emphasis>s5</emphasis></quote> è la prima - slice estesa sul primo disco IDE. Questi stratagemmi sono usati per i - filesystem che si aspettano di occupare una slice.</para> - - <para>Le slice, i dispositivi fisici <quote>pericolosamente - dedicati</quote>, e altri dispositivi contengono - <firstterm>partizioni</firstterm>, le quali sono rappresentate tramite - lettere dalla <literal>a</literal> fino alla <literal>h</literal>. Queste - lettere seguono il nome del dispositivo, quindi - <quote>da0<emphasis>a</emphasis></quote> è la partizione a - sul primo dispositivo da, il quale è <quote>pericolosamente - dedicato</quote>. <quote>ad1s3<emphasis>e</emphasis></quote> è - la quinta partizione nel terza slice del secondo disco IDE.</para> - - <para>In fine, ogni disco sul sistema è identificato. Un nome di un - disco incomincia con un codice che indica il tipo di disco, seguito da un - numero, che indica quale disco esso sia. A differenza delle slice, - i numeri riferiti al disco incominciano da 0. Puoi vedere dei codici - generici in <xref linkend="basics-dev-codes">.</para> - - <para>Quando fai riferimento a una partizione di FreeBSD devi specificare - anche il nome della slice e del disco che contengono la partizione, e - quando fai riferimento a una slice dovresti specificare anche il nome del - disco. Specifica quindi il nome del disco, il carattere - <literal>s</literal>, il numero di slice, e infine la lettera della - partizione. Alcuni esempi sono mostrati nell'<xref - linkend="basics-disk-slice-part">.</para> - - <para>L'<xref linkend="basics-concept-disk-model"> mostra un modello - concettuale di struttura di un disco che dovrebbe aiutare a chiare le - cose.</para> - - <para>Per installare FreeBSD devi prima configurare le slice del disco, - creare le partizioni all'interno della slice che vuoi usare per FreeBSD, - e quindi creare un filesystem (o spazio di swap) in ogni partizione, e - decidere dove il filesystem deve essere montato.</para> - - <table frame="none" pgwide="1" id="basics-dev-codes"> - <title>Codici dei Dispositivi Disco</title> - - <tgroup cols="2"> - <colspec colwidth="1*"> - - <colspec colwidth="5*"> - - <thead> - <row> - <entry>Codice</entry> - - <entry>Significato</entry> - </row> - </thead> - - <tbody> - <row> - <entry><devicename>ad</devicename></entry> - - <entry>disco ATAPI (IDE)</entry> - </row> - - <row> - <entry><devicename>da</devicename></entry> - - <entry>disco ad accesso diretto SCSI</entry> - </row> - - <row> - <entry><devicename>acd</devicename></entry> - - <entry>CDROM ATAPI (IDE)</entry> - </row> - - <row> - <entry><devicename>cd</devicename></entry> - - <entry>CDROM SCSI</entry> - </row> - - <row> - <entry><devicename>fd</devicename></entry> - - <entry>Disco floppy</entry> - </row> - </tbody> - </tgroup> - </table> - - <example id="basics-disk-slice-part"> - <title>Esempi di Nomi di Dischi, di Slice, e di Partizioni</title> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <colspec colwidth="1*"> - - <colspec colwidth="5*"> - - <thead> - <row> - <entry>Nome</entry> - - <entry>Significato</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>ad0s1a</literal></entry> - - <entry>La prima partizione (<literal>a</literal>) sulla prima - slice (<literal>s1</literal>) sul primo disco IDE - (<literal>ad0</literal>).</entry> - </row> - - <row> - <entry><literal>da1s2e</literal></entry> - - <entry>La quinta partizione (<literal>e</literal>) sulla seconda - slice (<literal>s2</literal>) sul secondo disco SCSI - (<literal>da1</literal>).</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </example> - - <example id="basics-concept-disk-model"> - <title>Modello Concettuale di un Disco</title> - - <para>Questo diagramma mostra come FreeBSD vede il primo disco IDE - attaccato al sistema. Si assuma che il disco sia di 4 GB, e che - contenga due slice da 2 GB (equivalenti come significato a due - partizioni &ms-dos;). La prima slice contiene un disco &ms-dos;, - <devicename>C:</devicename>, e la seconda slice contiene - un'installazione di FreeBSD. In questo esempio l'installazione di - FreeBSD ha tre partizioni standard più una di swap.</para> - - <para>Le tre partizioni conterranno ognuna un filesystem. La partizione - <literal>a</literal> sarà usata per il filesystem root, - la <literal>e</literal> per la gerarchia di directory - <filename>/var</filename>, e la partizione <literal>f</literal> per - la gerarchia di directory <filename>/usr</filename>.</para> - - <mediaobject> - <imageobject> - <imagedata fileref="install/disk-layout" format="EPS"> - </imageobject> - - <textobject> - <literallayout class="monospaced">.-----------------. --. -| | | -| DOS / Windows | | -: : > Prima slice, ad0s1 -: : | -| | | -:=================: ==: --. -| | | Partizione a, montata come / | -| | > riferita come ad0s2a | -| | | | -:-----------------: ==: | -| | | Partizione b, usata come swap | -| | > riferita come ad0s2b | -| | | | -:-----------------: ==: | Partizione c, senza -| | | Partizione e, usata come /var > filesystem, tutta -| | > riferita come ad0s2e | la slice di FreeBSD, -| | | | ad0s2c -:-----------------: ==: | -| | | | -: : | Partizione f, usata come /usr | -: : > riferita come ad0s2f | -: : | | -| | | | -| | --' | -`-----------------' --'</literallayout> - </textobject> - </mediaobject> - </example> - </sect1> - - <sect1 id="mount-unmount"> - <title>Montaggio e Smontaggio dei File system</title> - - <para>Il file system è raffigurato in maniera ottimale da un albero, - radicato, per così dire, in <filename>/</filename>. Le directory - <filename>/dev</filename>, <filename>/usr</filename>, e le altre - directory che stanno all'interno della directory root sono i rami, i quali - possono essere a loro volta ramificati, come in - <filename>/usr/local</filename>, e così via.</para> - - <indexterm><primary>file system root</primary></indexterm> - - <para>Esistono varie ragioni per mantenere alcune di queste directory su - file system separati. La directory <filename>/var</filename> contiene - le directory <filename>log/</filename>, <filename>spool/</filename>, - e vari tipi di file temporanei, e come tale, può riempirsi. - Riempire il file system root non è una buona idea, quindi scindere - la directory <filename>/var</filename> da <filename>/</filename> è - spesso vantaggioso.</para> - - <para>Un'altra motivazione per mantenere certi alberi di directory su altri - file system è quando questi alberi sono alloggiati su dischi fisici - separati, o sono dischi virtuali separati, come avviene per i mount del - <link linkend="network-nfs">Network File System</link>, o dei dispositivi - CDROM.</para> - - <sect2 id="disks-fstab"> - <title>Il File <filename>fstab</filename></title> - - <indexterm> - <primary>file system</primary> - <secondary>montati con fstab</secondary> - </indexterm> - - <para>Durante la <link linkend="boot">fase di avvio</link>, i file system - elencati nel file <filename>/etc/fstab</filename> sono montati - in modo automatico (a meno che siano specificati con l'opzione - <option>noauto</option>).</para> - - <para>Il file <filename>/etc/fstab</filename> contiene una serie di righe - il cui formato è il seguente:</para> - - <programlisting><replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting> - - <variablelist> - <varlistentry> - <term><literal>device</literal></term> - - <listitem> - <para>Il nome del dispositivo (che deve esistere), come spiegato - nella <xref linkend="disks-naming">.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>mount-point</literal></term> - - <listitem> - <para>La directory (che deve esistere), sulla quale montare il file - system.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>fstype</literal></term> - - <listitem> - <para>Il tipo di file system da passare a &man.mount.8;. Il file - system di default di FreeBSD è - <literal>ufs</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>options</literal></term> - - <listitem> - <para><option>rw</option> per file system leggibili-scrivibili, - oppure <option>ro</option> per file system solamente leggibili, - seguite da altre opzioni che potrebbero essere necessarie. - Un'opzione comune è <option>noauto</option> per i file - system che normalmente non sono montati durante la sequenza di - avvio. Altre opzioni sono elencate nella pagina man di - &man.mount.8;.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>dumpfreq</literal></term> - - <listitem> - <para>Viene usato da &man.dump.8; per determinare quali file system - richiedono un dump. Se non si specifica nulla, viene assunto il - valore zero.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>passno</literal></term> - - <listitem> - <para>Determina l'ordine secondo il quale i file system vengono - controllati. I file system che devono saltare il controllo devono - avere i loro <literal>passno</literal> settati a zero. Il file - system root (che deve essere controllato prima di qualsiasi altra - cosa) deve avere il suo <literal>passno</literal> settato a uno, - e i <literal>passno</literal> degli altri file system devono - essere settati a valori maggiori di uno. Se più di un - file system ha lo stesso <literal>passno</literal> allora - &man.fsck.8; tenterà di controllare i file system in - parallelo.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2 id="disks-mount"> - <title>Il Comando <command>mount</command></title> - - <indexterm> - <primary>file system</primary> - <secondary>montaggio</secondary> - </indexterm> - - <para>Il comando &man.mount.8; è ciò che in definitiva viene - usato per montare i file system.</para> - - <para>La sua forma di utilizzo elementare è:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mount <replaceable>device</replaceable> <replaceable>mountpoint</replaceable></userinput></screen> - </informalexample> - - <para>Esistono molte opzioni, come spiegato nella pagina man di - &man.mount.8;, ma le più comuni sono:</para> - - <variablelist> - <title>Opzioni di Mount</title> - - <varlistentry> - <term><option>-a</option></term> - - <listitem> - <para>Monta tutti i file system elencati nel file - <filename>/etc/fstab</filename>. Le eccezioni sono quei file - system specificati come <quote>noauto</quote>, quelli esclusi - dalla flag <option>-t</option>, o quei file system che sono - già montati.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-d</option></term> - - <listitem> - <para>Fà tutto ad eccezione della attuale system call di - mount. Questa opzione risulta utile in congiunzione con la flag - <option>-v</option> per determinare quale &man.mount.8; si stia - effettivamente tentando di realizzare.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-f</option></term> - - <listitem> - <para>Forza il mount di un file system impuro (pericoloso), o forza - la revoca di accesso in scrittura quando si declassa lo stato - di mount di un file system da lettura-scrittura a lettura - solamente.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-r</option></term> - - <listitem> - <para>Monta il file system in sola lettura. Questo è - identico ad usare l'argomento <option>rdonly</option> con - l'opzione <option>-o</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-t</option> <replaceable>fstype</replaceable></term> - - <listitem> - <para>Monta il dato file system secondo il tipo di file system - specificato, oppure, se affiancato dall'opzione - <option>-a</option>, monta solamente i file system di un dato - tipo.</para> - - <para><quote>ufs</quote> è il tipo di file system di - default.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-u</option></term> - - <listitem> - <para>Aggiorna le opzioni di mount sul file system.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-v</option></term> - - <listitem> - <para>Modalità verbose.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-w</option></term> - - <listitem> - <para>Monta il file system in lettura-scrittura.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>L'opzione <option>-o</option> accetta una lista di argomenti - separati da una virgola, inclusi i seguenti:</para> - - <variablelist> - <varlistentry> - <term>nodev</term> - - <listitem> - <para>Non permette l'interpretazione di dispositivi speciali sul - file system. Questa è un'utile opzione di - sicurezza.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>noexec</term> - - <listitem> - <para>Non permette l'esecuzione di binari su questo file system. - Questa è un'altra utile opzione di sicurezza.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>nosuid</term> - - <listitem> - <para>Non permette l'interpretazione delle flag setuid o setgid sul - file system. Anche questa è un'utile opzione di - sicurezza.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2 id="disks-umount"> - <title>Il Comando <command>umount</command></title> - - <indexterm> - <primary>file system</primary> - <secondary>smontaggio</secondary> - </indexterm> - - <para>Il comando &man.umount.8; accetta, come unico parametro, un punto di - mount, un nome di dispositivo, l'opzione <option>-a</option> o l'opzione - <option>-A</option>.</para> - - <para>Tutte queste modalità accettano l'opzione <option>-f</option> - per forzare la smontatura, e l'opzione <option>-v</option> per la - modalità verbose. Sei avvisato che l'opzione <option>-f</option> - non è in generale un buona idea. Smontare in modo violento i - file system può mandare in crash il computer o danneggiare i dati - sul file system.</para> - - <para>Le opzioni <option>-a</option> e <option>-A</option> sono usate per - smontare tutti i file system, con la possibilità di specificare - i tipi di file system elencandoli dopo la flag <option>-t</option>. - Tuttavia, l'opzione <option>-A</option> non tenta di smontare il file - system root.</para> - </sect2> - </sect1> - - <sect1 id="basics-processes"> - <title>I Processi</title> - - <para>FreeBSD è un sistema operativo multi-tasking. Con questa - capacità il sistema è come se potesse eseguire più di - un programma alla volta. Ogni programma in esecuzione in un dato istante - è chiamato <firstterm>processo</firstterm>. Ogni volta che esegui - un comando fai partire almeno un nuovo processo, e ci sono molti processi - di sistema che sono sempre in esecuzione, che permettono il corretto - funzionamento del sistema.</para> - - <para>Ogni processo è identificato in modo univoco da un numero - chiamato <firstterm>process ID</firstterm>, o <firstterm>PID</firstterm>, - e, come avviene per i file, ogni processo ha un proprietario e un gruppo. - Le informazioni sul proprietario e sul gruppo sono usate per determinare, - tramite il meccanismo dei permessi dei file discusso precedentemente, - quali file e quali dispositivi il processo può aprire. Inoltre - molti processi hanno un processo padre. Tale processo è il - processo che li ha generati. Per esempio, se stai digitando dei comandi - in shell allora la shell è un processo, così come lo sono i - comandi che esegui. Ogni processo che esegui in questo modo avrà - come suo processo padre la tua shell. L'eccezione a questo meccanismo - è un processo speciale chiamato &man.init.8;. Il processo - <command>init</command> è sempre il primo processo, quindi il suo - PID è sempre 1. <command>init</command> viene avviato in modo - automatico dal kernel quando si avvia FreeBSD.</para> - - <para>Due comandi sono particolarmente utili per monitorare i processi sul - sistema, &man.ps.1; e &man.top.1;. Il comando <command>ps</command> - è usato per mostrare una lista statica dei processi che sono in - esecuzione in quel momento, e può mostrare i loro PID, quanta - memoria stanno usando, la linea di comando che li ha avviati, e altro - ancora. Il comando <command>top</command> visualizza tutti i processi in - esecuzione, e aggiorna queste informazioni ogni qualche secondo, in modo - che puoi vedere interattivamente cosa sta facendo il tuo computer.</para> - - <para>Di default, <command>ps</command> mostra solo i tuoi comandi che sono - in quel momento in esecuzione. Per esempio:</para> - - <screen>&prompt.user; <userinput>ps</userinput> - PID TT STAT TIME COMMAND - 298 p0 Ss 0:01.10 tcsh - 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) -37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) -48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi -48730 p0 IW 0:00.00 (dns helper) (navigator-linux-) -72210 p0 R+ 0:00.00 ps - 390 p1 Is 0:01.14 tcsh - 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y - 6688 p3 IWs 0:00.00 tcsh -10735 p4 IWs 0:00.00 tcsh -20256 p5 IWs 0:00.00 tcsh - 262 v0 IWs 0:00.00 -tcsh (tcsh) - 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 - 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 - 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc - 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen> - - <para>Come puoi vedere in questo esempio, l'output di &man.ps.1; è - organizzato in molte colonne. La colonna <literal>PID</literal> si - riferisce al process ID discusso poco fà. I PID sono assegnati - partendo dal numero 1, andando fino al 99999, e ricominciando dall'inizio - una volta esauriti (se disponibili). La colonna <literal>TT</literal> - mostra su quale tty il programma è in esecuzione, e può - essere benissimo ignorata per il momento. La colonna - <literal>STAT</literal> mostra lo stato del programma, e di nuovo, - può essere benissimo ignorata. La colonna <literal>TIME</literal> - indica per quanto tempo il programma è stato in esecuzione sulla - CPU—di solito non indica il tempo trascorso da quando hai avviato - il programma, poichè la maggior parte dei programmi trascorrono - molto tempo in attesa per faccende che accadono prima che questi possano - trascorrere del tempo in CPU. Infine, la colonna - <literal>COMMAND</literal> indica la riga di comando che è stata - utilizzata per eseguire il programma.</para> - - <para>Il comando &man.ps.1; supporta varie opzioni per cambiare le - informazioni da visualizzare. Uno dei gruppi di opzioni più utili - è <literal>auxww</literal>. L'opzione <option>a</option> mostra le - informazioni riguardo a tutti i processi in esecuzione, non solo quelli - che ti appartengono. L'opzione <option>u</option> mostra il nome utente - del proprietario del processo, come pure la memoria utilizzata dal - processo. L'opzione <option>x</option> mostra le informazioni riguardo ai - processi demoni, e l'opzione <option>ww</option> indica a &man.ps.1; di - visualizzare la linea di comando completa che ha avviato il processo, - piuttosto che troncarla quando è troppo lunga per essere adattata - sullo schermo.</para> - - <para>L'output di &man.top.1; è simile. Un esempio di esecuzione - assomiglia a questo:</para> - - <screen>&prompt.user; <userinput>top</userinput> -last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 -47 processes: 1 running, 46 sleeping -CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle -Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free -Swap: 256M Total, 38M Used, 217M Free, 15% Inuse - - PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND -72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top - 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 - 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA - 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm -48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu - 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd - 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt -...</screen> - - <para>L'output è diviso in due sezioni. La parte superiore (le prime - cinque linee) mostra il PID dell'ultimo processo eseguito, il carico medio - del sistema (che è un indice di come il sistema sia impegnato), il - tempo di vita del sistema (il tempo passato dall'ultimo reboot) e l'ora - corrente. I restanti numeri nella parte superiore riportano quanti - processi sono in esecuzione (47 in questo caso), quanta memoria di sistema - e quanta memoria di swap è stata utilizzata, e quanto tempo il - sistema sta trascorrendo nei vari stati di CPU.</para> - - <para>Sotto ci sono una serie di colonne che contengono simili informazioni - a quelle contenute nell'output di &man.ps.1;. Come prima puoi vedere il - PID, il nome utente, quanto tempo di CPU è stato utilizzato, e il - comando che era stato eseguito. Inoltre il comando &man.top.1; di default - ti mostra quanta memoria è stata concessa al processo. Questa - informazione è suddivisa in due colonne, una per la dimensione - totale, e l'altra per la dimensione attuale—la dimensione totale - è la quantità di memoria che l'applicazione ha richiesto, e - la dimensione attuale è la quantità di memoria che sta - utilizzando in quel momento. In questo esempio puoi vedere che - <application>Netscape</application> ha richiesto quasi 30 MB di RAM, - ma al momento ne sta usando solo 9 MB.</para> - - <para>Il comando &man.top.1; aggiorna in modo automatico queste informazioni - ogni due secondi; questo lasso temporale può essere modificato con - l'opzione <option>s</option>.</para> - </sect1> - - <sect1 id="basics-daemons"> - <title>I Demoni, i Segnali, e come Uccidere i Processi</title> - - <para>Quando esegui un'editor risulta semplice averne il controllo, dirgli - di caricare file, e così via. Tutto questo può essere fatto - poichè l'editor fornisce delle agevolazioni in questo senso, e - anche perchè l'editor è collegato a un - <firstterm>terminale</firstterm>. Alcuni programmi non sono stati - progettati per essere eseguiti con un continuo input dell'utente, e - perciò questi programmi si sconnettono dal terminale alla prima - occasione. Per esempio, un server web trascorre tutto il giorno - rispondendo a richieste web, e normalmente non necessita di alcun input - da parte tua. I programmi che trasportano la posta elettronica da un sito - a un'altro sito sono un'altro esempio di questa classe di - applicazioni.</para> - - <para>Chiamiamo questi programmi <firstterm>demoni</firstterm>. I demoni - erano dei personaggi della mitologia greca; nè buoni nè - cattivi, erano piccoli custodi degli spiriti che, nel complesso, - risultavano essere utili per l'umanità. Molto similmente i server - web e quelli di posta elettronica di oggi fanno cose utili. Ecco il - motivo per cui la mascot di BSD è stata per molto tempo, e lo - è ancora, l'allegro demone con le scarpe da tennis e con il - forcone.</para> - - <para>Esiste la convenzione di chiamare i programmi che normalmente sono - eseguiti come demoni con una <quote>d</quote> finale. - <application>BIND</application> sta per Berkeley Internet Name Daemon - (e il nome effettivo del programma che viene eseguito è - <command>named</command>), il nome del programma - <application>Apache</application>, un server web, è - <command>httpd</command>, il demone dello spool di stampa è - <command>lpd</command> e così via. Questa è una - convenzione, non è una regola ferrea; per esempio, il principale - demone di posta elettronica per l'applicazione - <application>Sendmail</application> è chiamato - <command>sendmail</command>, e non <command>maild</command>, come potresti - aspettarti.</para> - - <para>A volte puoi aver bisogno di comunicare con un processo demone. - Queste comunicazioni sono chiamate <firstterm>segnali</firstterm>, e puoi - comunicare con i demoni (o con altri processi in esecuzione) mandandogli - un segnale. Esistono svariati segnali che puoi inviare—alcuni di - questi hanno un significato specifico, altri sono interpretabili - dall'applicazione, e la documentazione dell'applicazione ti dirà - come l'applicazione stessa interpreta i segnali. Puoi mandare un segnale - solo ai processi che ti appartengono. Se mandi un segnale a un processo - che non ti appartiene con il comando &man.kill.1; o &man.kill.2; il - permesso ti sarà negato. L'eccezione a questa regola riguarda - l'utente <username>root</username>, che può mandare segnali a - processi di chiunque.</para> - - <para>Inoltre in alcune circostanze FreeBSD invia segnali alle - applicazioni. Se un'applicazione è stata scritta malamente, e - tenta di accedere alla memoria che non gli compete, FreeBSD manda al - processo il segnale di <firstterm>Violazione della - Segmentazione</firstterm> (<literal>SIGSEGV</literal>). Se - un'applicazione ha utilizzato la system call &man.alarm.3; in modo tale - da essere avvisata dopo un certo periodo di tempo trascorso allora - FreeBSD invierà a questa applicazione il segnale di Allarme - (<literal>SIGALRM</literal>), e così via.</para> - - <para>Per fermare un processo possono essere utilizzati due segnali, - <literal>SIGTERM</literal> e <literal>SIGKILL</literal>. - <literal>SIGTERM</literal> è il modo cortese di terminare un - processo; il processo può <emphasis>catturare</emphasis> il - segnale, capire che vuoi abbatterlo, chiudere i file di log che potrebbe - avere aperto, e in genere terminare qualunque cosa che stava facendo prima - dell'interruzione. Nei casi in cui un processo sia coinvolto in qualche - compito che non può essere interrotto allora questo processo - può persino ignorare <literal>SIGTERM</literal>.</para> - - <para>Il segnale <literal>SIGKILL</literal> non può essere ignorato - da un processo. Questo è il segnale che dice <quote>Non mi - interessa cosa stai facendo, fermati subito</quote>. Se mandi il segnale - <literal>SIGKILL</literal> a un processo allora FreeBSD fermerà - subito il processo<footnote> - <para>Non è del tutto vero—ci sono alcune cose che non - possono essere interrotte. Per esempio, se il processo sta tentando - di leggere un file situato su un altro computer in rete, e questo - computer non è disponibile per qualche ragione (è stato - spento, o la rete ha qualche problema), allora il processo è - detto <quote>non interrompibile</quote>. Il processo finirà - in time out, generalmente dopo due minuti. Non appena avviene il - time out il processo potrà essere terminato.</para> - </footnote>. - </para> - - <para>Altri segnali che potresti aver bisogno di usare sono - <literal>SIGHUP</literal>, <literal>SIGUSR1</literal>, e - <literal>SIGUSR2</literal>. Questi sono segnali a scopo generico, e - differenti applicazioni possono fare cose diverse quando catturano questi - segnali.</para> - - <para>Supponiamo che hai cambiato il file di configurazione del tuo server - web—hai bisogno di dire al server web di rileggere la sua - configurazione. Potresti fermare e riavviare <command>httpd</command>, ma - questo porterebbe a un breve periodo di interruzione del tuo server - web, che potrebbe non essere gradito. Molti demoni sono stati scritti per - rispondere al segnale <literal>SIGHUP</literal> tramite la rilettura - dei loro file di configurazione. In questo modo invece di terminare e - riavviare <command>httpd</command> potresti inviare il segnale - <literal>SIGHUP</literal>. Poichè non esiste un modo standard di - trattare questi segnali, differenti demoni potrebbero avere un - comportamento diverso, quindi assicurati di leggere la documentazione per - il demone in questione.</para> - - <para>I segnali sono inviati utilizzando il comando &man.kill.1;, come - mostra questo esempio.</para> - - <procedure> - <title>Inviare un Segnale a un Processo</title> - - <para>Questo esempio mostra come inviare un segnale a &man.inetd.8;. Il - file di configurazione di <command>inetd</command> è - <filename>/etc/inetd.conf</filename>, e <command>inetd</command> rilegge - questo file di configurazione quando riceve il segnale - <literal>SIGHUP</literal>.</para> - - <step> - <para>Cerca il process ID del processo a cui vuoi mandare il segnale. - Puoi utilizzare &man.ps.1; e &man.grep.1; per farlo. Il comando - &man.grep.1; viene utilizzato per perlustrare attraverso l'output, - cercando la stringa da te specificata. Questo comando viene eseguito - in modalità utente, e &man.inetd.8; viene eseguito in - modalità <username>root</username>, quindi le opzioni da dare - a &man.ps.1; sono <option>ax</option>.</para> - - <screen>&prompt.user; <userinput>ps -ax | grep inetd</userinput> - 198 ?? IWs 0:00.00 inetd -wW</screen> - - <para>Come puoi vedere il PID di &man.inetd.8; è 198. In alcuni - casi potrebbe apparire nel risultato anche il comando - <literal>grep inetd</literal>. Questo dipende dal modo utilizzato - da &man.ps.1; nell'elencare la lista dei processi in - esecuzione.</para> - </step> - - <step> - <para>Usa il comando &man.kill.1; per inviare il segnale. Poichè - &man.inetd.8; viene eseguito in modalità - <username>root</username> prima devi usare il comando &man.su.1; per - diventare <username>root</username>.</para> - - <screen>&prompt.user; <userinput>su</userinput> -<prompt>Password:</prompt> -&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen> - - <para>Come avviene per la maggior parte dei comandi &unix;, il comando - &man.kill.1; non stampa il risultato dell'operazione se questa ha - avuto successo. Se mandi un segnale a un processo del quale non sei - il proprietario allora vedrai il messaggio <errorname>kill: - <replaceable>PID</replaceable>: Operazione non permessa</errorname>. - Se sbagli il PID invierai il segnale al processo sbagliato, il che - potrebbe essere dannoso, o, se hai fortuna, manderai il segnale - a un PID che in quel momento non è in uso, e in questo caso - vedrai il messaggio <errorname>kill: <replaceable>PID</replaceable>: - Nessun processo</errorname>.</para> - - <note> - <title>Perchè Usare <command>/bin/kill</command>?</title> - - <para>Molte shell forniscono il comando <command>kill</command> come - comando built-in; ossia, la shell invia il segnale in modo - diretto, senza dover eseguire <filename>/bin/kill</filename>. Tutto - ciò può essere molto utile, ma le diverse shell hanno - una sintassi diversa per specificare il nome del segnale da inviare. - Invece di cercare di imparare tutte queste sintassi, può - essere più semplice usare direttamente il comando - <command>/bin/kill <replaceable>...</replaceable></command>.</para> - </note> - </step> - </procedure> - - <para>L'invio di altri segnali è analogo, basta sostituire - all'occorrenza <literal>TERM</literal> o <literal>KILL</literal> nella - linea di comando.</para> - - <important> - <para>Terminare processi in modo random su un sistema può essere - una cattiva idea. In particolare, il processo &man.init.8;, con process - ID 1, è un caso molto speciale. Eseguire <command>/bin/kill -s - KILL 1</command> è un modo veloce per arrestare il tuo sistema. - Controlla <emphasis>sempre</emphasis> due volte gli argomenti quando - esegui &man.kill.1; <emphasis>prima</emphasis> di premere - <keycap>Invio</keycap>.</para> - </important> - </sect1> - - <sect1 id="shells"> - <title>Le Shell</title> - - <indexterm><primary>shell</primary></indexterm> - <indexterm><primary>riga di comando</primary></indexterm> - - <para>In FreeBSD, la maggior parte del lavoro di tutti i giorni viene svolto - tramite un'interfaccia a riga di comando chiamata shell. Uno dei compiti - principali di una shell è quello di prendere in input dei comandi - ed eseguirli. Inoltre molte shell hanno delle funzioni built-in - (incorporate) utili nei lavori ordinari come la gestione dei file, la - sostituzione dei nomi dei file, la modifica della riga di comando, la - creazione di macro di comandi, e la gestione delle variabili d'ambiente. - FreeBSD si propone con una serie di shell, come la Shell Bourne, - <command>sh</command>, e la versione successiva della C-shell, - <command>tcsh</command>. Molte altre shell sono disponibili nella FreeBSD - Ports Collection, come le shell <command>zsh</command> e - <command>bash</command>.</para> - - <para>Quale shell devi usare? È veramente una questione di gusti. - Se sei un programmatore di C potresti sentirti a tuo agio con una shell - C-like come la <command>tcsh</command>. Se vieni da Linux o non sei - pratico dell'interfaccia a riga di comando di &unix; potresti provare la - <command>bash</command>. Il fatto è che ogni shell ha delle - caratteristiche che possono o meno combaciare con il tuo ambiente di - lavoro preferito, e quindi devi scegliere tu stesso quale shell - utilizzare.</para> - - <para>Una caratteristica comune in una shell è il completamento dei - nomi dei file. Dopo aver digitato alcuni dei primi caratteri di un - comando o di un nome di file, la shell di solito può completare - in modo automatico il resto del comando o del nome del file tramite la - pressione del tasto <keycap>Tab</keycap> sulla tastiera. Ecco un'esempio. - Supponiamo che hai due file chiamati <filename>foobar</filename> e - <filename>foo.bar</filename>. Vuoi cancellare - <filename>foo.bar</filename>. Quello che dovresti digitare sulla tastiera - è: - <command>rm - fo[<keycap>Tab</keycap>].[<keycap>Tab</keycap>]</command>.</para> - - <para>La shell dovrebbe visualizzare <command>rm - foo[BEEP].bar</command>.</para> - - <para>Il [BEEP] è la campanella della console, che mi segnala che la - shell è incapace di completare interamente il nome del file - poichè esiste più di una sola corrispondenza. Sia - <filename>foobar</filename> che <filename>foo.bar</filename> iniziano con - <literal>fo</literal>, tuttavia la shell è riuscita a completarlo - in <literal>foo</literal>. A questo punto premendo <literal>.</literal>, - e poi di nuovo <keycap>Tab</keycap>, la shell sarà in grado di - completare da sola il resto del nome del file.</para> - - <indexterm><primary>variabili d'ambiente</primary></indexterm> - - <para>Un'altro aspetto di una shell è l'uso delle variabili - d'ambiente. Le variabili d'ambiente sono una coppia di valori mutevoli - memorizzati nello spazio dell'ambiente della shell. Questo spazio - può essere letto dai programmi invocati dalla shell, e di - conseguenza questo spazio può contenere le configurazioni di molti - programmi. Qui sotto c'è una lista delle variabili d'ambiente - più comuni con il loro rispettivo significato:</para> - - <indexterm><primary>variabili d'ambiente</primary></indexterm> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Variabile</entry> - - <entry>Descrizione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><envar>USER</envar></entry> - - <entry>Il nome dell'utente attualmente loggato.</entry> - </row> - - <row> - <entry><envar>PATH</envar></entry> - - <entry>Lista di directory separate da due punti utilizzate per - la ricerca dei binari.</entry> - </row> - - <row> - <entry><envar>DISPLAY</envar></entry> - - <entry>Nome di rete del display X11 a cui connettersi, se - disponibile.</entry> - </row> - - <row> - <entry><envar>SHELL</envar></entry> - - <entry>La shell corrente.</entry> - </row> - - <row> - <entry><envar>TERM</envar></entry> - - <entry>Il nome del terminale dell'utente. Usato per determinare - le capacità del terminale.</entry> - </row> - - <row> - <entry><envar>TERMCAP</envar></entry> - - <entry>Serie di elementi di codici di escape del terminale - utilizzati per realizzare svariate funzioni del terminale.</entry> - </row> - - <row> - <entry><envar>OSTYPE</envar></entry> - - <entry>Il tipo di sistema operativo. FreeBSD, ad esempio.</entry> - </row> - - <row> - <entry><envar>MACHTYPE</envar></entry> - - <entry>L'architettura della CPU su cui il sistema gira.</entry> - </row> - - <row> - <entry><envar>EDITOR</envar></entry> - - <entry>L'editor di testo preferito dall'utente.</entry> - </row> - - <row> - <entry><envar>PAGER</envar></entry> - - <entry>L'impaginatore di testo preferito dall'utente.</entry> - </row> - - <row> - <entry><envar>MANPATH</envar></entry> - - <entry>Lista di directory separate da due punti utilizzate nella - ricerca delle pagine man.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <indexterm><primary>shell Bourne</primary></indexterm> - - <para>Il modo di settare una variabile d'ambiente varia leggermente a - seconda della shell utilizzata. Per esempio, nelle shell C-Style come - <command>tcsh</command> e <command>csh</command>, puoi usare - <command>setenv</command> per settare le variabili d'ambiente. Sotto le - shell Bourne come <command>sh</command> e <command>bash</command>, puoi - usare <command>export</command> per settare le tue variabili d'ambiente - correnti. Per esempio, per settare o modificare la variabile d'ambiente - <envar>EDITOR</envar> a <filename>/usr/local/bin/emacs</filename>, sotto - <command>csh</command> o <command>tcsh</command> si può utilizzare - il comando:</para> - - <screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen> - - <para>Sotto le shell Bourne:</para> - - <screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen> - - <para>Con la maggior parte delle shell puoi inoltre creare un'espansione - di una variabile d'ambiente mettendo sulla riga di comando il simbolo - <literal>$</literal> davanti al nome della variabile stessa. Per esempio, - <command>echo $TERM</command> visualizzerà ciò che - corrisponde a <envar>$TERM</envar>, poichè la shell espande - <envar>$TERM</envar> e passa il risultato a - <command>echo</command>.</para> - - <para>Le shell trattano molti caratteri speciali, chiamati meta-caratteri - come rappresentazioni speciali di dati. Il più comune di questi - è il simbolo <literal>*</literal>, che rappresenta diverse - istanze di caratteri in un nome di file. Questi meta-caratteri possono - essere usati per la sostituzione dei nomi di file. Per esempio, digitando - <command>echo *</command> è quasi come aver digitato - <command>ls</command> poichè la shell prende tutti i file che - corrispondono a <literal>*</literal> e li mette sulla riga di comando - con <command>echo</command> che quindi li visualizza.</para> - - <para>Per impedire alla shell di interpretare questi caratteri speciali, - questi possono essere messi in escape mettendo subito prima di essi un - backslash (<literal>\</literal>). <command>echo $TERM</command> - visualizza il tipo del tuo terminale. <command>echo \$TERM</command> - visualizza <envar>$TERM</envar> così com'è.</para> - - <sect2 id="changing-shells"> - <title>Cambiare la Propria Shell</title> - - <para>Il modo più semplice per cambiare la propria shell è - quello di usare il comando <command>chsh</command>. Eseguendo - <command>chsh</command> verrà invocato l'editor definito nella - tua variabile d'ambiente <envar>EDITOR</envar>; nel caso in cui questa - non sia stata settata, verrà invocato <command>vi</command>. - Modifica la riga <quote>Shell:</quote> in base alle tue esigenze.</para> - - <para>Puoi anche eseguire <command>chsh</command> con l'opzione - <option>-s</option>; in questo modo verrà settata la shell in - modo diretto, senza che sia necessario invocare l'editor. Per - esempio, se vuoi cambiare la tua shell in <command>bash</command>, - potresti digitare il seguente comando:</para> - - <screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen> - - <para>Comunque eseguendo <command>chsh</command> con nessun parametro e - modificando la shell all'interno dell'editor funzionerà lo - stesso.</para> - - <note> - <para>La shell che desideri utilizzare <emphasis>deve</emphasis> essere - presente nel file <filename>/etc/shells</filename>. Se hai installato - una shell dalla <link linkend="ports">collezione dei port</link>, - allora la nuova shell dovrebbe essere già stata inserita nel - suddetto file in modo automatico. Se installi una shell manualmente, - questo lavoro lo devi fare tu.</para> - - <para>Per esempio, se installi <command>bash</command> a mano e la - metti sotto <filename>/usr/local/bin</filename>, dovresti fare - questo:</para> - - <screen>&prompt.root; <userinput>echo "/usr/local/bin/bash" >> /etc/shells</userinput></screen> - - <para>Dopo averlo fatto riavvia <command>chsh</command>.</para> - </note> - </sect2> - </sect1> - - <sect1 id="editors"> - <title>Editor di Testo</title> - - <indexterm><primary>editor di testo</primary></indexterm> - <indexterm><primary>editor</primary></indexterm> - - <para>La maggior parte del lavoro di configurazione in FreeBSD viene fatto - tramite la modifica di file di testo. Perciò, è una buona - idea familiarizzare con un editor di testo. FreeBSD si presenta con - alcuni editor come parte base del sistema, e molti altri sono disponibili - nella collezione dei port.</para> - - <indexterm><primary><command>ee</command></primary></indexterm> - - <para>L'editor più semplice e più facile da imparare si chiama - <application>ee</application>, che sta per easy editor. Per avviare - <application>ee</application>, puoi digitare sulla riga di comando - <command>ee filename</command> dove <literal>filename</literal> è - il nome del file che deve essere modificato. Per esempio, per modificare - <filename>/etc/rc.conf</filename>, devi digitare <command>ee - /etc/rc.conf</command>. Una volta all'interno di <command>ee</command>, - tutti i comandi per azionare le funzioni dell'editor sono elencati nella - parte superiore del video. Il carattere <literal>^</literal> è il - tasto <keycap>Ctrl</keycap> della tastiera, quindi <literal>^e</literal> - si riferisce alla combinazione di tasti <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>e</keycap> - </keycombo>. Per uscire da <application>ee</application>, premi il tasto - <keycap>Esc</keycap>, quindi conferma l'uscita dall'editor. Se il file - ha subito delle modifiche ti verrà chiesto se le vuoi - salvare.</para> - - <indexterm> - <primary><command>vi</command></primary> - </indexterm> - <indexterm> - <primary>editor</primary> - <secondary><command>vi</command></secondary> - </indexterm> - <indexterm> - <primary><command>emacs</command></primary> - </indexterm> - <indexterm> - <primary>editor</primary> - <secondary><command>emacs</command></secondary> - </indexterm> - - <para>FreeBSD ha come parte base del sistema anche editor di testo - più potenti come <application>vi</application>, mentre altri - editor, come <application>Emacs</application> e - <application>vim</application>, sono inclusi nella - FreeBSD Ports Collection (<filename - role="package">editors/emacs</filename> e <filename - role="package">editors/vim</filename>). Questi editor offrono molte - più funzionalità e molta più potenza a costo di essere - un poco più complicati da imparare ad utilizzare. Comunque se - intendi utilizzare in modo intensivo un editor, imparando ad utilizzare un - editor potente come <application>vim</application> o - <application>Emacs</application> - risparmierai a lungo andare un sacco di tempo.</para> - </sect1> - - <sect1 id="basics-devices"> - <title>Dispositivi e Nodi di Dispositivo</title> - - <para>Il termine dispositivo viene usato prevalentemente per specificare le - unità hardware all'interno di un sistema, come i dischi, le - stampanti, le schede grafiche, e le tastiere. Durante la fase di avvio di - FreeBSD, la maggior parte delle cose che vengono visualizzate da FreeBSD - riguardano i dispositivi che sono stati rilevati. Puoi riesaminare - questi messaggi di avvio guardando il file - <filename>/var/run/dmesg.boot</filename>.</para> - - <para>Per esempio, <devicename>acd0</devicename> è il primo drive - CDROM IDE, mentre <devicename>kbd0</devicename> rappresenta la - tastiera.</para> - - <para>In un sistema operativo &unix; la maggior parte di questi dispositivi - sono accessibili tramite dei file speciali chiamati nodi di dispositivo, - i quali sono posti nella directory <filename>/dev</filename>.</para> - - <sect2> - <title>Creare i Nodi di Dispositivo</title> - - <para>Quando aggiungi un nuovo dispositivo al tuo sistema, o ricompili il - kernel per supportare dispositivi aggiuntivi, hai bisogno di creare per - questi nuovi dispositivi uno o più nodi di dispositivo.</para> - - <sect3> - <title>Script MAKEDEV</title> - - <para>Sui sistemi senza il <literal>DEVFS</literal> (tutte le versioni - di FreeBSD antecedenti la 5.0), i nodi di dispositivo sono creati - usando lo script &man.MAKEDEV.8; come mostrato qui sotto:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>sh MAKEDEV ad1</userinput></screen> - - <para>Questo esempio creerà gli opportuni nodi di dispositivo - per il secondo drive IDE.</para> - </sect3> - - <sect3> - <title><literal>DEVFS</literal> (DEVice File System)</title> - - <para>Il file system device, o <literal>DEVFS</literal>, fornisce la - disponibilità dello spazio dei nomi dei dispositivi del kernel - allo spazio dei nomi globale del file system. Invece di dover creare - o modificare i nodi di dispositivo, <literal>DEVFS</literal> mantiene - in modo automatico questo particolare file system.</para> - - <para>Guarda la pagina man di &man.devfs.5; per maggiori - informazioni.</para> - - <para><literal>DEVFS</literal> viene usato di default su - FreeBSD 5.0 e successive.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="binary-formats"> - <title>Formati dei Binari</title> - - <para>Per comprendere il motivo per cui FreeBSD usa il formato &man.elf.5;, - devi prima conoscere un pò i tre attuali formati eseguibili - <quote>dominanti</quote> per &unix;:</para> - - <itemizedlist> - <listitem> - <para>&man.a.out.5;</para> - - <para>Il più vecchio e <quote>classico</quote> formato oggetto - di &unix;. Usa un'intestazione corta e compatta con un numero magico - all'inizio che è spesso usato per caratterizzare il formato - (vedere &man.a.out.5; per maggiori dettagli). Contiene tre segmenti - caricabili: .text, .data, e .bss più una tabella di simboli e - una di stringhe.</para> - </listitem> - - <listitem> - <para><acronym>COFF</acronym></para> - - <para>Il formato oggetto di SVR3. Poichè l'intestazione include - una porzione di tabella, puoi avere molto di più delle sole - sezioni .text, .data, e .bss.</para> - </listitem> - - <listitem> - <para>&man.elf.5;</para> - - <para>Il successore di <acronym>COFF</acronym>, caratterizzato da - sezioni multiple e da possibili valori a 32-bit o 64-bit. Uno dei - maggiori svantaggi: <acronym>ELF</acronym> fù progettato con - l'assunzione che ci doveva essere solo un ABI per ogni tipo di - architettura dei sistemi. Tale assunzione è in realtà - piuttosto sbagliata, e non è vera nemmeno nel mondo commerciale - di SYSV (che ha almeno tre ABI: SVR4, Solaris, SCO).</para> - - <para>FreeBSD tenta di aggirare questo problema fornendo un - utility per <emphasis>marchiare</emphasis> un eseguibile - <acronym>ELF</acronym> con informazioni sull'ABI per il quale è - stato costruito. Guarda la pagina man &man.brandelf.1; per maggiori - informazioni.</para> - </listitem> - </itemizedlist> - - <para>FreeBSD proviene dalla scuola <quote>classica</quote> e ha usato il - formato &man.a.out.5;, una tecnologia sperimentata ed utilizzata - attraverso molte generazioni delle release BSD, fino agli inizi del ramo - 3.X. Sebbene fino ad allora era possibile costruire ed eseguire su - un sistema FreeBSD binari (e kernel) del formato <acronym>ELF</acronym>, - inizialmente FreeBSD si oppose al <quote>salto</quote> di cambiamento al - formato <acronym>ELF</acronym> come formato di default. Per quale motivo? - Dunque, quando la scuola Linux fece il suo doloroso passaggio a - <acronym>ELF</acronym>, questo non era sufficiente per abbandonare - il formato eseguibile <filename>a.out</filename> a causa del loro - rigido meccanismo a salto-di-tabella basato sulla libreria condivisa, il - quale rendeva la costruzione di librerie condivise un compito molto - difficile tanto per i venditori che per gli sviluppatori. Tuttavia, - quando gli strumenti di <acronym>ELF</acronym> furono in grado di offrire - una soluzione al problema della libreria condivisa e quando furono visti - come <quote>la strada imminente</quote>, il costo della migrazione - fù accettato poichè necessario e avvenne così la - transizione. Il meccanismo di libreria condivisa di FreeBSD è - basato sullo stile più restrittivo del maccanismo di libreria - condivisa degli &sunos; di Sun, e come tale, è molto facile da - utilizzare.</para> - - <para>Quindi, perchè ci sono così tanti formati - differenti?</para> - - <para>In passato l'hardware era semplice. Questo hardware semplice - sosteneva un sistema semplice e piccolo. Il formato - <filename>a.out</filename> era del tutto adatto per rappresentare i binari - su questo semplice sistema (un PDP-11). Nonostante le persone fecero il - port di &unix; da questo semplice sistema, esse mantennero il formato - <filename>a.out</filename> poichè era sufficiente per un primo port - di &unix; verso architetture come Motorola 68k, VAXen, ecc.</para> - - <para>All'epoca alcuni ingegneri hardware di spicco stabilirono che se tale - formato poteva forzare il software a fare alcuni trucchi sporchi, allora - esso sarebbe stato in grado di abbattere alcune barriere di progettazione - e permettere al core della CPU di andare più veloce. Benchè - il formato <filename>a.out</filename> fù progettato per lavorare - con questo nuovo tipo di hardware (conosciuto ai giorni d'oggi come - <acronym>RISC</acronym>), esso fù appena sufficiente per questo - hardware, quindi furono sviluppati altri formati per ottenere delle - prestazioni da questo hardware migliori di quelle che il limitato e - semplice formato <filename>a.out</filename> era in grado di offrire. - Furono inventati formati come il <acronym>COFF</acronym>, - l'<acronym>ECOFF</acronym>, e alcuni altri e furono esaminate le loro - limitazioni prima che fù prodotto l'<acronym>ELF</acronym>.</para> - - <para>Per di più, le dimensioni dei programmi stavano diventando - enormi e i dischi (e la memoria fisica) erano ancora relativamente - piccoli, e quindi il concetto di libreria condivisa prese piede. - Inoltre il sistema di VM (Memoria Virtuale) divenne più - sofisticato. Benchè ognuno di questi miglioramenti fù fatto - utilizzando il formato <filename>a.out</filename>, la sua utilità - si distese sempre più con ogni nuova caratteristica. In aggiunta, - la gente voleva caricare alcune cose in modo dinamico al tempo di - esecuzione, o anche scartare parte dei loro programmi dopo l'esecuzione - del codice iniziale al fine di salvare memoria e spazio di swap. - I linguaggi divennero più sofisticati e le persone desideravano che - il codice venisse chiamato dopo il main in modo automatico. Furono - apportati molte migliorie al formato <filename>a.out</filename> per - permettere tutte queste cose, e sostanzialmente tutto funzionò per - un dato periodo. Col passare del tempo, il formato - <filename>a.out</filename> non fù più in grado di gestire - tutti questi problemi senza apportare dei miglioramenti al codice con - un conseguente aumento della complessità. Benchè il formato - <acronym>ELF</acronym> risolveva molti di questi problemi, era doloroso - migrare da un sistema che tutto sommato funzionava. Quindi il formato - <acronym>ELF</acronym> attese fino a quando fù meno doloroso - rimanere con il formato <filename>a.out</filename> piuttosto che migrare - al formato <acronym>ELF</acronym>.</para> - - <para>Tuttavia, il tempo passò, e gli strumenti di costruzione che - FreeBSD derivò dai loro strumenti di costruzione (in particolare - l'assemblatore ed il loader) evolsero in due tronconi paralleli. - L'albero di FreeBSD aggiunse le librerie condivise e sistemò alcuni - bug. Il popolo di GNU che in origine aveva scritto questi programmi - li riscrisse e aggiunse un semplice supporto per la costruzione di - compilatori cross, la possibilità di produrre formati diversi a - piacimento, e così via. Da quando molte persone vollero costruire - compilatori cross per FreeBSD, questi furono delusi poichè i vecchi - sorgenti che FreeBSD aveva per <application>as</application> e - <application>ld</application> non erano pronti per questo lavoro. - La nuova serie di strumenti di GNU (<application>binutils</application>) - supportavano la compilazione cross, <acronym>ELF</acronym>, le librerie - condivise, le estensioni C++, ecc. Inoltre molti venditori stanno - rilasciando binari <acronym>ELF</acronym>, ed è una buona cosa - per FreeBSD eseguirli.</para> - - <para>Il formato <acronym>ELF</acronym> è più espressivo di - quello <filename>a.out</filename> e permette una maggiore - estensibilità nel sistema base. Gli strumenti di - <acronym>ELF</acronym> sono meglio mantenuti, e offrono un supporto alla - compilazione cross, che sta a cuore a molte persone. - <acronym>ELF</acronym> può essere un pò meno veloce di - <filename>a.out</filename>, ma tentare di misurarne le prestazioni non - è molto semplice. Ci sono anche numerosi dettagli che sono diversi - tra i due formati nel modo in cui essi mappano le pagine, gestiscono il - codice iniziale, ecc. Questi dettagli non sono molto importanti, ma tra i - due esistono delle differenze. Nel tempo il supporto per il formato - <filename>a.out</filename> verrà rimosso dal kernel - <filename>GENERIC</filename>, ed eventualmente sarà rimosso - completamente dal kernel non appena non ci sarà più la - necessità di eseguire programmi con il formato - <filename>a.out</filename>.</para> - </sect1> - - <sect1 id="basics-more-information"> - <title>Per Maggiori Informazioni</title> - - <sect2 id="basics-man"> - <title>Le Pagine Man</title> - - <indexterm><primary>pagine man</primary></indexterm> - - <para>La documentazione più esauriente su FreeBSD è - costituita dalle pagine man. Quasi tutti i programmi sul sistema hanno - un piccolo manuale di riferimento che spiega il funzionamento di base e - i vari argomenti del programma stesso. Questi manuali possono essere - visualizzati con il comando <command>man</command>. L'uso del comando - <command>man</command> è semplice:</para> - - <screen>&prompt.user; <userinput>man <replaceable>comando</replaceable></userinput></screen> - - <para><literal>comando</literal> è il nome del comando di cui - desideri maggiori informazioni. Per esempio, per sapere di più - circa il comando <command>ls</command> digita:</para> - - <screen>&prompt.user; <userinput>man ls</userinput></screen> - - <para>Il manuale in linea è diviso in sezione numerate:</para> - - <orderedlist> - <listitem> - <para>Comandi utente.</para> - </listitem> - - <listitem> - <para>System call e codici di errore.</para> - </listitem> - - <listitem> - <para>Funzioni della libreria C.</para> - </listitem> - - <listitem> - <para>Driver dei dispositivi.</para> - </listitem> - - <listitem> - <para>Formati di file.</para> - </listitem> - - <listitem> - <para>Giochi e altri passatempo.</para> - </listitem> - - <listitem> - <para>Informazioni varie.</para> - </listitem> - - <listitem> - <para>Comandi di mantenimento e di funzionamento del sistema.</para> - </listitem> - - <listitem> - <para>Sviluppo del kernel.</para> - </listitem> - </orderedlist> - - <para>In qualche caso, lo stesso soggetto può apparire in - più di una sezione del manuale in linea. Per esempio, esiste - un comando utente <command>chmod</command> e una system call - <function>chmod()</function>. In questo caso, puoi dire al comando - <command>man</command> quale vuoi specificando la sezione:</para> - - <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen> - - <para>In questo caso verrà visualizzata la pagina man del comando - utente <command>chmod</command>. I riferimenti di una sezione - particolare del manuale in linea sono tradizionalmente posti tra - parentesi all'interno della documentazione, quindi &man.chmod.1; fa - riferimento al comando utente <command>chmod</command> e &man.chmod.2; - fa riferimento alla system call.</para> - - <para>Tutto questo va bene se conosci il nome del comando e desideri - semplicemente sapere come usarlo, ma cosa succede se non ricordi il nome - del comando? Puoi usare <command>man</command> con l'opzione - <option>-k</option> per ricercare tramite parole chiavi nelle - descrizioni dei comandi:</para> - - <screen>&prompt.user; <userinput>man -k mail</userinput></screen> - - <para>Con questo comando ti verrà presentata una lista di comandi - che hanno la parola chiave <quote>mail</quote> nella loro descrizione. - Di fatto questo meccanismo funziona proprio come il comando - <command>apropos</command>.</para> - - <para>Stai dando un'occhiata a tutti quei comandi fantastici che si - trovano in <filename>/usr/bin</filename> ma non hai la più - pallida idea di cosa fanno la maggior parte di essi? Semplicemente - digita:</para> - - <screen>&prompt.user; <userinput>cd /usr/bin</userinput> -&prompt.user; <userinput>man -f *</userinput></screen> - - <para>oppure</para> - - <screen>&prompt.user; <userinput>cd /usr/bin</userinput> -&prompt.user; <userinput>whatis *</userinput></screen> - - <para>che è la stessa cosa.</para> - </sect2> - - <sect2 id="basics-info"> - <title>I File Info di GNU</title> - - <indexterm><primary>Free Software Foundation</primary></indexterm> - - <para>FreeBSD include molte applicazioni e utility prodotti dalla Free - Software Foundation (FSF). Oltre alle pagine man, questi programmi - hanno dei più ampi documenti in ipertesto chiamati file - <literal>info</literal> che possono essere visualizzati con il comando - <command>info</command>, o se hai installato - <application>emacs</application>, con la modalità info di - <application>emacs</application>.</para> - - <para>Per usare il comando &man.info.1;, digita semplicemente:</para> - - <screen>&prompt.user; <userinput>info</userinput></screen> - - <para>Per una breve introduzione, digita <literal>h</literal>. Per un - rapido riferimento dei comandi, digita <literal>?</literal>.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/bibliography/Makefile b/it_IT.ISO8859-15/books/handbook/bibliography/Makefile deleted file mode 100644 index 3f27769f07..0000000000 --- a/it_IT.ISO8859-15/books/handbook/bibliography/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= bibliography/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml b/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml deleted file mode 100644 index 5d465075f9..0000000000 --- a/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml +++ /dev/null @@ -1,608 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.65 ---> - -<appendix id="bibliography"> - <title>Bibliografia</title> - - <para>Sebbene le pagine man forniscano la documentazione di riferimento - definitiva per le singole parti del sistema operativo FreeBSD, sono famose - per non illustrare come mettere insieme i pezzi per far andare uniformemente - l'intero sistema operativo. Per questo, non esiste sostituto a un buon - libro sull'amministrazione di un sistema &unix; e a un buon manuale per gli - utenti.</para> - - <sect1 id="bibliography-freebsd"> - <title>Libri & Riviste Specifiche su FreeBSD</title> - - <para><emphasis>Libri & Riviste internazionali:</emphasis></para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://jdli.tw.FreeBSD.org/publication/book/freebsd2/index.htm">Using - FreeBSD</ulink> (in cinese).</para> - </listitem> - - <listitem> - <para>FreeBSD for PC 98'ers (in giapponese), pubblicato da SHUWA System - Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.</para> - </listitem> - - <listitem> - <para>FreeBSD (in giapponese), pubblicato da CUTT. ISBN 4-906391-22-2 - C3055 P2400E.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.shoeisha.com/book/Detail.asp?bid=650">Complete - Introduction to FreeBSD</ulink> (in giapponese), pubblicato da - <ulink url="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>. - ISBN 4-88135-473-6 P3600E.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Personal - UNIX Starter Kit FreeBSD</ulink> (in giapponese), pubblicato da - <ulink url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN - 4-7561-1733-3 P3000E.</para> - </listitem> - - <listitem> - <para>FreeBSD Handbook (traduzione giapponese), pubblicato da <ulink - url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2 - P3800E.</para> - </listitem> - - <listitem> - <para>FreeBSD mit Methode (in tedesco), pubblicato da <ulink - url="http://www.cul.de">Computer und Literatur - Verlag</ulink>/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.cul.de/freebsd.html">FreeBSD 4 - - Installieren, Konfigurieren, Administrieren</ulink> (in tedesco), - pubblicato da <ulink url="http://www.cul.de">Computer und Literatur - Verlag</ulink>, 2001. ISBN 3-932311-88-4.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.cul.de/freebsd.html">FreeBSD 5 - - Installieren, Konfigurieren, Administrieren</ulink> (in tedesco), - pubblicato da <ulink url="http://www.cul.de">Computer und Literatur - Verlag</ulink>, 2003. ISBN 3-936546-06-1.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.mitp.de/vmi/mitp/detail/pWert/1343/">FreeBSD de - Luxe</ulink> (in tedesco), pubblicato da <ulink - url="http://www.mitp.de">Verlag Modere Industrie</ulink>, 2003. - ISBN 3-8266-1343-0.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.pc.mycom.co.jp/FreeBSD/install-manual.html">FreeBSD - Install and Utilization Manual</ulink> (in giapponese), pubblicato - da <ulink url="http://www.pc.mycom.co.jp/">Mainichi Communications - Inc.</ulink>.</para> - </listitem> - - <listitem> - <para>Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo - <emphasis><ulink url="http://maxwell.itb.ac.id/">Building Internet - Server with FreeBSD</ulink></emphasis> (in indonesiano), pubblicato - da <ulink url="http://www.elexmedia.co.id/">Elex Media - Komputindo</ulink>.</para> - </listitem> - </itemizedlist> - - <para><emphasis>Libri & Riviste in lingua inglese:</emphasis></para> - - <itemizedlist> - <listitem> - <para><ulink url="http://www.AbsoluteBSD.com/">Absolute BSD: The - Ultimate Guide to FreeBSD</ulink>, pubblicato da <ulink - url="http://www.nostarch.com/">No Starch Press</ulink>, 2002. - ISBN 1886411743.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.freebsdmall.com/cgi-bin/fm/bsdcomp"> - The Complete FreeBSD</ulink>, pubblicato da <ulink - url="http://www.oreilly.com/">O'Reilly</ulink>, 2003. ISBN - 0596005164.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.freebsd-corp-net-guide.com/">The - FreeBSD Corporate Networker's Guide</ulink>, pubblicato da - <ulink url="http://www.awl.com/aw/">Addison-Wesley</ulink>, 2000. - ISBN 0201704811.</para> - </listitem> - - <listitem> - <para><ulink - url="http://andrsn.stanford.edu/FreeBSD/introbook/">FreeBSD: An - Open-Source Operating System for Your Personal Computer</ulink>, - pubblicato da The Bit Tree Press, 2001. ISBN 0971204500.</para> - </listitem> - - <listitem> - <para>Teach Yourself FreeBSD in 24 Hours, pubblicato da <ulink - url="http://www.samspublishing.com/">Sams</ulink>, 2002. ISBN - 0672324245.</para> - </listitem> - - <listitem> - <para>FreeBSD unleashed, pubblicato da <ulink - url="http://www.samspublishing.com/">Sams</ulink>, 2002. ISBN - 0672324563.</para> - </listitem> - - <listitem> - <para>FreeBSD: The Complete Reference, pubblicato da <ulink - url="http://books.mcgraw-hill.com">McGrawHill</ulink>, 2003. - ISBN 0072224096.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-userguides"> - <title>Guide per gli Utenti</title> - - <itemizedlist> - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - User's Reference Manual</emphasis>. O'Reilly & Associates, - Inc., 1994. ISBN 1-56592-075-9</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - User's Supplementary Documents</emphasis>. O'Reilly & - Associates, Inc., 1994. ISBN 1-56592-076-7</para> - </listitem> - - <listitem> - <para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly & - Associates, Inc., 1990. ISBN 093717520X</para> - </listitem> - - <listitem> - <para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find - Your UNIX System Administrator</emphasis>. O'Reilly & - Associates, Inc., 1995. ISBN 1-56592-104-6</para> - </listitem> - - <listitem> - <para><ulink url="http://www-wks.acs.ohio-state.edu/">Ohio State - University</ulink> ha scritto un <ulink - url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">Corso - Introduttivo a UNIX</ulink> che è disponibile online in - formato HTML e PostScript.</para> - - <para>Una <ulink - url="&url.doc.base;/unix-introduction/book.html">traduzione</ulink> - in italiano di questo documento è disponibile come parte del FreeBSD - Italian Documentation Project.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.jp.FreeBSD.org/">Jpman Project, Japan - FreeBSD Users Group</ulink>. <ulink - url="http://www.pc.mycom.co.jp/FreeBSD/urm.html">FreeBSD User's - Reference Manual</ulink> (traduzione giapponese). <ulink - url="http://www.pc.mycom.co.jp/">Mainichi Communications - Inc.</ulink>, 1998. ISBN 4-8399-0088-4 P3800E.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.ed.ac.uk/">Edinburgh - University</ulink> ha scritto una <ulink - url="http://unixhelp.ed.ac.uk/">Guida Online</ulink> per i nuovi - arrivati nell'ambiente UNIX.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-adminguides"> - <title>Guide per gli Amministratori</title> - - <itemizedlist> - <listitem> - <para>Albitz, Paul e Liu, Cricket. <emphasis>DNS and - BIND</emphasis>, 4a Ed. O'Reilly & Associates, Inc., 2001. - ISBN 1-59600-158-4</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - System Manager's Manual</emphasis>. O'Reilly & Associates, - Inc., 1994. ISBN 1-56592-080-5</para> - </listitem> - - <listitem> - <para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2a Ed. - O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0</para> - </listitem> - - <listitem> - <para>Frisch, Æleen. <emphasis>Essential System - Administration</emphasis>, 2a Ed. O'Reilly & Associates, - Inc., 1995. ISBN 1-56592-127-5</para> - </listitem> - - <listitem> - <para>Hunt, Craig. <emphasis>TCP/IP Network Administration</emphasis>, - 2a Ed. O'Reilly & Associates, Inc., 1997. ISBN - 1-56592-322-7</para> - </listitem> - - <listitem> - <para>Nemeth, Evi. <emphasis>UNIX System Administration - Handbook</emphasis>. 3a Ed. Prentice Hall, 2000. ISBN - 0-13-020601-6</para> - </listitem> - - <listitem> - <para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly - & Associates, Inc., 1991. ISBN 0-937175-75-7</para> - </listitem> - - <listitem> - <para><ulink url="http://www.jp.FreeBSD.org/">Jpman Project, Japan - FreeBSD Users Group</ulink>. <ulink - url="http://www.pc.mycom.co.jp/FreeBSD/sam.html">FreeBSD System - Administrator's Manual</ulink> (traduzione giapponese). <ulink - url="http://www.pc.mycom.co.jp/">Mainichi Communications - Inc.</ulink>, 1998. ISBN 4-8399-0109-0 P3300E.</para> - </listitem> - - <listitem> - <para>Dreyfus, Emmanuel. <ulink - url="http://www.eyrolles.com/Informatique/Livre/9782212114638/">Cahiers - de l'Admin: BSD</ulink> 2nd Ed. (in French), Eyrolles, 2004. - ISBN 2-212-11463-X</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-programmers"> - <title>Guide per i Programmatori</title> - - <itemizedlist> - <listitem> - <para>Asente, Paul, Converse, Diana, e Swick, Ralph. - <emphasis>X Window System Toolkit</emphasis>. Digital Press, - 1998. ISBN 1-55558-178-1</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - Programmer's Reference Manual</emphasis>. O'Reilly & - Associates, Inc., 1994. ISBN 1-56592-078-3</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - Programmer's Supplementary Documents</emphasis>. O'Reilly & - Associates, Inc., 1994. ISBN 1-56592-079-1</para> - </listitem> - - <listitem> - <para>Harbison, Samuel P. e Steele, Guy L. Jr. <emphasis>C: A - Reference Manual</emphasis>. 4a ed. Prentice Hall, 1995. - ISBN 0-13-326224-3</para> - </listitem> - - <listitem> - <para>Kernighan, Brian e Dennis M. Ritchie. <emphasis>The C - Programming Language.</emphasis>. PTR Prentice Hall, 1988. - ISBN 0-13-110362-9</para> - </listitem> - - <listitem> - <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>. - O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7</para> - </listitem> - - <listitem> - <para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>. - Prentice Hall, 1992. ISBN 0-13-131509-9</para> - </listitem> - - <listitem> - <para>Spinellis, Diomidis. <ulink - url="http://www.spinellis.gr/codereading/"><emphasis>Code - Reading: The Open Source Perspective</emphasis></ulink>. - Addison-Wesley, 2003. ISBN 0-201-79940-5</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>Advanced Programming in the UNIX - Environment</emphasis>. Reading, Mass. : Addison-Wesley, 1992. - ISBN 0-201-56317-7</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>UNIX Network - Programming</emphasis>. 2a Ed, PTR Prentice Hall, 1998. ISBN - 0-13-490012-X</para> - </listitem> - - <listitem> - <para>Wells, Bill. <quote>Writing Serial Drivers for UNIX</quote>. - <emphasis>Dr. Dobb's Journal</emphasis>. 19(15), Dicembre 1994. - pp68-71, 97-99.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-osinternals"> - <title>Architettura del Sistema Operativo</title> - - <itemizedlist> - <listitem> - <para>Andleigh, Prabhat K. <emphasis>UNIX System - Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN - 0-13-949843-5</para> - </listitem> - - <listitem> - <para>Jolitz, William. <quote>Porting UNIX to the 386</quote>. - <emphasis>Dr. Dobb's Journal</emphasis>. Gennaio 1991-Luglio - 1992.</para> - </listitem> - - <listitem> - <para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels e - John Quarterman <emphasis>The Design and Implementation of the - 4.3BSD UNIX Operating System</emphasis>. Reading, Mass. : - Addison-Wesley, 1989. ISBN 0-201-06196-1</para> - </listitem> - - <listitem> - <para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design - and Implementation of the 4.3BSD UNIX Operating System: Answer - Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN - 0-201-54629-9</para> - </listitem> - - <listitem> - <para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, e - John Quarterman. <emphasis>The Design and Implementation of the - 4.4BSD Operating System</emphasis>. Reading, Mass. : - Addison-Wesley, 1996. ISBN 0-201-54979-4</para> - - <para>(Il capitolo 2 di questo libro è disponibile <ulink - url="&url.books.design-44bsd;/book.html">online</ulink> - come parte del FreeBSD Documentation Project, mentre il capitolo 9 - è consultabile <ulink - url="http://www.netapp.com/tech_library/nfsbook.print">qui</ulink>.)</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1: - The Protocols</emphasis>. Reading, Mass. : Addison-Wesley, - 1996. ISBN 0-201-63346-9</para> - </listitem> - - <listitem> - <para>Schimmel, Curt. <emphasis>Unix Systems for Modern - Architectures</emphasis>. Reading, Mass. : Addison-Wesley, 1994. - ISBN 0-201-63338-8</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3: - TCP for Transactions, HTTP, NNTP and the UNIX Domain - Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996. - ISBN 0-201-63495-3</para> - </listitem> - - <listitem> - <para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New - Frontiers</emphasis>. Prentice Hall, 1996. ISBN - 0-13-101908-2</para> - </listitem> - - <listitem> - <para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP - Illustrated, Volume 2: The Implementation</emphasis>. Reading, - Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-security"> - <title>Riferimenti sulla Sicurezza</title> - - <itemizedlist> - <listitem> - <para>Cheswick, William R. e Steven M. Bellovin. <emphasis>Firewalls - and Internet Security: Repelling the Wily Hacker</emphasis>. - Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-63357-4</para> - </listitem> - - <listitem> - <para>Garfinkel, Simson e Gene Spafford. - <emphasis>Practical UNIX & Internet Security</emphasis>. - 2a Ed. O'Reilly & Associates, Inc., 1996. ISBN - 1-56592-148-8</para> - </listitem> - - <listitem> - <para>Garfinkel, Simson. <emphasis>PGP Pretty Good - Privacy</emphasis> O'Reilly & Associates, Inc., 1995. ISBN - 1-56592-098-8</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-hardware"> - <title>Riferimenti sull'Hardware</title> - - <itemizedlist> - <listitem> - <para>Anderson, Don e Tom Shanley. <emphasis>Pentium Processor - System Architecture</emphasis>. 2a Ed. Reading, Mass. : - Addison-Wesley, 1995. ISBN 0-201-40992-5</para> - </listitem> - - <listitem> - <para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA, - VGA, and Super VGA Cards</emphasis>. 3a ed. Reading, Mass. : - Addison-Wesley, 1995. ISBN 0-201-62490-7</para> - </listitem> - - <listitem> - <para>Intel Corporation pubblica la documentazione sulle sue CPU, - chipsets e standards sul suo <ulink - url="http://developer.intel.com/">sito web per gli - sviluppatori</ulink>, solitamente come files PDF.</para> - </listitem> - - <listitem> - <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>. - 3a ed. Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-40994-1</para> - </listitem> - - <listitem> - <para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>. - 3a ed. Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-40996-8</para> - </listitem> - - <listitem> - <para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>. - 4a ed. Reading, Mass. : Addison-Wesley, 1999. ISBN - 0-201-30974-2</para> - </listitem> - - <listitem> - <para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>, 2a - Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN - 0-201-47950-8</para> - </listitem> - - <listitem> - <para>Messmer, Hans-Peter. <emphasis>The Indispensable PC Hardware - Book</emphasis>, 4a Ed. Reading, Mass: Addison-Wesley Pub. Co., - 2002. ISBN 0-201-59616-4</para> - </listitem> - - </itemizedlist> - </sect1> - - <sect1 id="bibliography-history"> - <title>Storia di &unix;</title> - - <itemizedlist> - <listitem> - <para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With - Source Code</emphasis>. ITP Media Group, 1996. ISBN - 1573980137</para> - </listitem> - - <listitem> - <para>Raymond, Eric S. <emphasis>The New Hacker's Dictionary, 3rd - edition</emphasis>. MIT Press, 1996. ISBN - 0-262-68092-0. Conosciuto anche come il <ulink - url="http://www.catb.org/~esr/jargon/html/index.html">Jargon - File</ulink></para> - </listitem> - - <listitem> - <para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>. - Addison-Wesley Publishing Company, Inc., 1994. ISBN - 0-201-54777-5</para> - </listitem> - - <listitem> - <para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The - UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc., - 1994. ISBN 1-56884-203-1</para> - </listitem> - - <listitem> - <para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis> - — edizione speciale. Prentice-Hall, Inc., 1989. ISBN - 0-13-536657-7</para> - </listitem> - - <listitem> - <para><emphasis>The BSD family tree</emphasis>. <ulink - url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree"></ulink> - o <ulink type="html" - url="file://localhost/usr/share/misc/bsd-family-tree"><filename>/usr/share/misc/bsd-family-tree</filename></ulink> - su una macchina FreeBSD recente.</para> - </listitem> - - <listitem> - <para><emphasis>The BSD Release Announcements collection</emphasis>. - 1997. <ulink - url="http://www.de.FreeBSD.org/de/ftp/releases/"></ulink></para> - </listitem> - - <listitem> - <para><emphasis>Networked Computer Science Technical Reports - Library</emphasis>. - <ulink url="http://www.ncstrl.org/"></ulink></para> - </listitem> - - <listitem> - <para><emphasis>Old BSD releases from the Computer Systems Research - group (CSRG)</emphasis>. - <ulink url="http://www.mckusick.com/csrg/"></ulink>: Il set di 4 CD - comprende tutte le versioni di BSD dalla 1BSD alla 4.4BSD e - 4.4BSD-Lite2 (ma non la 2.11BSD, sfortunatamente). Inoltre, l'ultimo - disco contiene i sorgenti finali più i file SCCS.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="bibliography-journals"> - <title>Riviste e Giornali</title> - - <itemizedlist> - <listitem> - <para><emphasis>The C/C++ Users Journal</emphasis>. R&D - Publications Inc. ISSN 1075-2838</para> - </listitem> - - <listitem> - <para><emphasis>Sys Admin — The Journal for UNIX System - Administrators</emphasis> Miller Freeman, Inc., ISSN - 1061-2688</para> - </listitem> - - <listitem> - <para><emphasis>freeX — Das Magazin für Linux - BSD - - UNIX</emphasis> (in tedesco) Computer- und Literaturverlag GmbH, - ISSN 1436-7033</para> - </listitem> - </itemizedlist> - </sect1> -</appendix> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../appendix.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "appendix") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/book.sgml b/it_IT.ISO8859-15/books/handbook/book.sgml deleted file mode 100644 index a798cfd9de..0000000000 --- a/it_IT.ISO8859-15/books/handbook/book.sgml +++ /dev/null @@ -1,341 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.156 ---> - -<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ - -<!ENTITY % books.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EN"> -%books.ent; - -<!ENTITY % chapters SYSTEM "chapters.ent"> -%chapters; - -<!ENTITY % txtfiles SYSTEM "txtfiles.ent"> -%txtfiles; - -<!ENTITY % not.published "INCLUDE"> - -<!ENTITY % chap.introduction "IGNORE"> -<!ENTITY % chap.install "IGNORE"> -<!ENTITY % chap.basics "IGNORE"> -<!ENTITY % chap.ports "IGNORE"> -<!ENTITY % chap.config "IGNORE"> -<!ENTITY % chap.boot "IGNORE"> -<!ENTITY % chap.users "IGNORE"> -<!ENTITY % chap.kernelconfig "IGNORE"> -<!ENTITY % chap.security "IGNORE"> -<!ENTITY % chap.printing "IGNORE"> -<!ENTITY % chap.disks "IGNORE"> -<!ENTITY % chap.vinum "IGNORE"> -<!ENTITY % chap.x11 "IGNORE"> -<!ENTITY % chap.l10n "IGNORE"> -<!ENTITY % chap.multimedia "IGNORE"> -<!ENTITY % chap.desktop "IGNORE"> -<!ENTITY % chap.serialcomms "IGNORE"> -<!ENTITY % chap.ppp-and-slip "IGNORE"> -<!ENTITY % chap.advanced-networking "IGNORE"> -<!ENTITY % chap.network-servers "IGNORE"> -<!ENTITY % chap.mail "IGNORE"> -<!ENTITY % chap.cutting-edge "IGNORE"> -<!ENTITY % chap.linuxemu "IGNORE"> -<!ENTITY % chap.mirrors "IGNORE"> -<!ENTITY % chap.bibliography "IGNORE"> -<!ENTITY % chap.eresources "IGNORE"> -<!ENTITY % chap.pgpkeys "IGNORE"> -<!ENTITY % chap.index "IGNORE"> -<!ENTITY % chap.colophon "IGNORE"> -<!ENTITY % chap.freebsd-glossary "IGNORE"> -<!ENTITY % chap.mac "IGNORE"> - -<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> -%pgpkeys; -]> - -<book lang="it"> - <bookinfo> - <title>Manuale di FreeBSD</title> - - <corpauthor>The FreeBSD Italian Documentation Project</corpauthor> - - <pubdate>Febbraio 1999</pubdate> - - <copyright> - <year>1995</year> - - <year>1996</year> - - <year>1997</year> - - <year>1998</year> - - <year>1999</year> - - <year>2000</year> - - <year>2001</year> - - <year>2002</year> - - <year>2003</year> - - <year>2004</year> - - <holder>The FreeBSD Italian Documentation Project</holder> - </copyright> - - &bookinfo.legalnotice; - - <legalnotice id="trademarks" role="trademarks"> - &tm-attrib.freebsd; - &tm-attrib.3com; - &tm-attrib.3ware; - &tm-attrib.arm; - &tm-attrib.adaptec; - &tm-attrib.adobe; - &tm-attrib.apple; - &tm-attrib.corel; - &tm-attrib.creative; - &tm-attrib.cvsup; - &tm-attrib.heidelberger; - &tm-attrib.ibm; - &tm-attrib.ieee; - &tm-attrib.intel; - &tm-attrib.intuit; - &tm-attrib.linux; - &tm-attrib.lsilogic; - &tm-attrib.m-systems; - &tm-attrib.macromedia; - &tm-attrib.microsoft; - &tm-attrib.netscape; - &tm-attrib.nexthop; - &tm-attrib.opengroup; - &tm-attrib.oracle; - &tm-attrib.powerquest; - &tm-attrib.realnetworks; - &tm-attrib.redhat; - &tm-attrib.sap; - &tm-attrib.sun; - &tm-attrib.symantec; - &tm-attrib.themathworks; - &tm-attrib.thomson; - &tm-attrib.usrobotics; - &tm-attrib.vmware; - &tm-attrib.waterloomaple; - &tm-attrib.wolframresearch; - &tm-attrib.xfree86; - &tm-attrib.xiph; - &tm-attrib.general; - </legalnotice> - - <abstract> - <para>Benvenuto in FreeBSD! Questo manuale copre l'installazione e l'uso - giorno per giorno di <emphasis>FreeBSD - &rel2.current;-RELEASE</emphasis> e <emphasis>FreeBSD - &rel.current;-RELEASE</emphasis>. - Questo manuale è un <emphasis>progetto in evoluzione</emphasis> - ed è il frutto del lavoro di molti singoli. Molte sezioni non - esistono ancora e alcune di quelle che esistono devono essere - aggiornate. Se sei interessato ad aiutare questo progetto, invia - un'email alla &a.doc;. L'ultima versione di questo documento è - sempre disponibile sul <ulink url="http://www.FreeBSD.org/">sito web di - FreeBSD</ulink>. Inoltre può essere scaricata in una - varietà di formati e tipi di compressione dal <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">server FTP di - FreeBSD</ulink> o da uno dei numerosi <link linkend="mirrors-ftp">siti - mirror</link>. Se preferisci avere una copia rilegata del manuale, - puoi comprarne una su <ulink url="http://www.freebsdmall.com/">FreeBSD - Mall</ulink>. Puoi anche voler <ulink - url="&url.base;/search/index.html">cercare nel manuale</ulink>.</para> - </abstract> - </bookinfo> - - &chap.preface; - - <part id="getting-started"> - <title>Per Cominciare</title> - - <partintro> - <para>Questa parte del Manuale di FreeBSD è per gli utenti e gli - amministratori che si affacciano a FreeBSD. Questi capitoli:</para> - - <itemizedlist> - <listitem> - <para>Ti introdurranno a FreeBSD.</para> - </listitem> - - <listitem> - <para>Ti guideranno attraverso il processo di installazione.</para> - </listitem> - - <listitem> - <para>Ti insegneranno le basi e i fondamenti di &unix;.</para> - </listitem> - - <listitem> - <para>Ti mostreranno come installare la varietà delle - applicazioni di terze parti disponibili per FreeBSD.</para> - </listitem> - - <listitem> - <para>Ti introdurranno a X, il sistema a finestre di &unix;, e ti - spiegheranno come configurare un ambiente desktop che ti renda - più produttivo.</para> - </listitem> - </itemizedlist> - - <para>Abbiamo cercato di mantenere il numero di riferimenti in avanti nel - testo al minimo così che tu possa leggere questa sezione del - Manuale dall'inizio alla fine con il minimo scorrimento di pagine - possibile.</para> - </partintro> - - <![ %chap.introduction; [ &chap.introduction; ]]> - <![ %chap.install; [ &chap.install; ]]> - <![ %chap.basics; [ &chap.basics; ]]> - <![ %chap.ports; [ &chap.ports; ]]> - <![ %chap.x11; [ &chap.x11; ]]> - </part> - - <part id="common-tasks"> - <title>Compiti Ordinari</title> - - <partintro> - <para>Ora che sono stati trattati gli elementi di base, questa parte - del Manuale di FreeBSD verterà su alcune funzionalità - di FreeBSD che sono usate di frequente. Questi capitoli:</para> - - <itemizedlist> - <listitem> - <para>Ti introdurranno utili e conosciute applicazioni desktop: - browser, strumenti produttivi, visualizzatori di - documenti, ecc.</para> - </listitem> - - <listitem> - <para>Ti mostreranno vari strumenti multimediali disponibili per - FreeBSD.</para> - </listitem> - - <listitem> - <para>Ti spiegheranno il processo di costruzione e di - personalizzazione del kernel di FreeBSD, al fine di abilitare - funzionalità extra sul tuo sistema.</para> - </listitem> - - <listitem> - <para>Ti descriveranno in dettaglio il sistema di stampa, sia per - setup di stampanti desktop che per quelle in rete.</para> - </listitem> - - <listitem> - <para>Ti mostreranno come eseguire applicazioni Linux sul tuo sistema - FreeBSD.</para> - </listitem> - </itemizedlist> - - <para>Alcuni di questi capitoli raccomandano di leggere prima altri - capitoli per una migliore comprensione degli stessi, e questo è - segnalato nella sinossi all'inizio di ogni capitolo.</para> - </partintro> - - <![ %chap.desktop; [ &chap.desktop; ]]> - <![ %chap.multimedia; [ &chap.multimedia; ]]> - <![ %chap.kernelconfig; [ &chap.kernelconfig; ]]> - <![ %chap.printing; [ &chap.printing; ]]> - <![ %chap.linuxemu; [ &chap.linuxemu; ]]> - </part> - - <part id="system-administration"> - <title>Amministrazione del Sistema</title> - - <partintro> - <para>I rimanenti capitoli del Manuale di FreeBSD coprono tutti gli - aspetti dell'amministrazione di un sistema FreeBSD. Ogni capitolo - inizia descrivendo quello che imparerai dopo aver letto il capitolo, e - specifica anche quello che dovresti sapere prima di affrontare il - materiale.</para> - - <para>Questi capitoli sono studiati per essere letti quando si ha - bisogno di un'informazione. Non devi leggerli in un ordine - particolare, né devi leggerli tutti prima di poter usare - FreeBSD.</para> - </partintro> - - <![ %chap.config; [ &chap.config; ]]> - <![ %chap.boot; [ &chap.boot; ]]> - <![ %chap.users; [ &chap.users; ]]> - <![ %chap.security; [ &chap.security; ]]> - <![ %chap.mac; [ &chap.mac; ]]> - <![ %chap.disks; [ &chap.disks; ]]> - <![ %chap.vinum; [ &chap.vinum; ]]> - <![ %chap.l10n; [ &chap.l10n; ]]> - <![ %chap.cutting-edge; [ &chap.cutting-edge; ]]> - </part> - - <part id="network-communication"> - <title>Comunicazione di Rete</title> - - <partintro> - <para>FreeBSD è uno dei maggiori sistemi operativi schierati verso - alte performance dei servizi di rete. I capitoli di questa parte - trattano:</para> - - <itemizedlist> - <listitem> - <para>Comunicazioni Seriali</para> - </listitem> - - <listitem> - <para>PPP e PPP over Ethernet</para> - </listitem> - - <listitem> - <para>Posta Elettronica</para> - </listitem> - - <listitem> - <para>Esecuzione di Servizi di Rete</para> - </listitem> - - <listitem> - <para>Altri Argomenti di Networking Avanzato</para> - </listitem> - </itemizedlist> - - <para>Questi capitoli sono studiati per essere letti quando si ha - bisogno di un'informazione. Non devi leggerli in un ordine - particolare, né devi leggerli tutti prima di poter usare - FreeBSD in rete.</para> - </partintro> - - <![ %chap.serialcomms; [ &chap.serialcomms; ]]> - <![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]> - <![ %chap.mail; [ &chap.mail; ]]> - <![ %chap.network-servers; [ &chap.network-servers; ]]> - <![ %chap.advanced-networking; [ &chap.advanced-networking; ]]> - </part> - - <part id="appendices"> - <title>Appendici</title> - - <![ %chap.mirrors; [ &chap.mirrors; ]]> - <![ %chap.bibliography; [ &chap.bibliography; ]]> - <![ %chap.eresources; [ &chap.eresources; ]]> - <![ %chap.pgpkeys; [ &chap.pgpkeys; ]]> - </part> - <![ %chap.freebsd-glossary; [ &bookinfo.freebsd-glossary; ]]> - <![ %chap.index; [ &chap.index; ]]> - &chap.colophon; -</book> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/boot/Makefile b/it_IT.ISO8859-15/books/handbook/boot/Makefile deleted file mode 100644 index 31e4b07d51..0000000000 --- a/it_IT.ISO8859-15/books/handbook/boot/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= boot/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml b/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml deleted file mode 100644 index af2f6764a8..0000000000 --- a/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml +++ /dev/null @@ -1,820 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.56 ---> - -<chapter id="boot"> - <title>La Procedura di Avvio di FreeBSD</title> - - <sect1 id="boot-synopsis"> - <title>Sinossi</title> - - <indexterm><primary>avvio</primary></indexterm> - <indexterm><primary>avviamento</primary></indexterm> - - <para>Il processo di accensione di un computer e caricamento del sistema - operativo viene detto <quote>processo di avviamento</quote>, o - semplicemente <quote>avvio</quote>. La procedura di avvio di FreeBSD - fornisce un alto grado di flessibilità nel personalizzare quello - che succede quando avvii il sistema, dandoti la possibilità di - scegliere tra diversi sistemi operativi installati sullo stesso computer, - o anche tra diverse versioni dello stesso sistema operativo o tra diversi - kernel installati.</para> - - <para>Questo capitolo fornisce i dettagli sulle opzioni di configurazione - che puoi impostare per personalizzare il processo di avvio di FreeBSD. - Ciò comprende tutto quello che avviene fino a quando il kernel - viene lanciato, vengono controllate le periferiche, e viene avviato - &man.init.8;. Se non sei sicuro di sapere quando tutto questo accada, si - tratta del momento in cui il colore del testo a video cambia da bianco - brillante a grigio.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Quali sono i componenti del sistema di avvio di FreeBSD, e come - interagiscono.</para> - </listitem> - - <listitem> - <para>Le opzioni che puoi impostare per i componenti durante - l'avviamento di FreeBSD per controllare il processo di avvio.</para> - </listitem> - - <listitem> - <para>Le basi dei &man.device.hints.5;.</para> - </listitem> - </itemizedlist> - - <note> - <title>Solo per x86</title> - - <para>Questo capitolo descrive la procedura di avvio di FreeBSD su sistemi - Intel x86.</para> - </note> - </sect1> - - <sect1 id="boot-introduction"> - <title>Il Problema dell'Avvio</title> - - <para>Accendere un computer e far partire il sistema operativo pone un - dilemma interessante. Per definizione, il computer non sa fare - nulla finché non viene avviato il sistema operativo. Questo - include anche l'esecuzione dei programmi dal disco. Dunque se il computer - non può eseguire un programma da disco senza il sistema operativo, - ed i programmi del sistema operativo sono sul disco, come viene avviato il - sistema operativo?</para> - - <para>Questo è un problema analogo a quello descritto nel - libro <citetitle>Le Avventure del Barone di Munchausen</citetitle>. Un - personaggio era caduto in una botola, e ne era uscito tirandosi su da - sé (in inglese <quote>bootstrap</quote>), riuscendo nell'intento - solo con i propri sforzi. Nei primi giorni dei calcolatori al meccanismo - usato per caricare il sistema operativo fu applicato il termine - <firstterm>bootstrap</firstterm>, ed in seguito venne abbreviato in - <quote>booting</quote> (in italiano <quote>avvio</quote>).</para> - - <para>Su sistemi con hardware x86 il BIOS (Basic Input/Output System) - è il responsabile del caricamento del sistema operativo. Per fare - ciò, il BIOS cerca nel disco rigido il Master Boot Record (MBR), - che deve essere in una specifica posizione sul disco. Il BIOS ha - abbastanza conoscenze per caricare ed eseguire l'MBR, ed assume che l'MBR - possa portare avanti il resto dei compiti relativi al caricamento del - sistema operativo.</para> - - <indexterm> - <primary>BIOS</primary> - <secondary>Basic Input/Output System</secondary> - </indexterm> - - <para>Se hai solo un sistema operativo installato sui tuoi dischi allora - l'MBR standard sarà sufficiente. Questo MBR cerca la prima slice - (partizione) avviabile sul disco, e poi esegue il codice su quella slice - per caricare il resto del sistema operativo.</para> - - <para>Se hai installato più sistemi operativi sui tuoi dischi allora - puoi installare un MBR diverso, che mostra una lista dei diversi sistemi - operativi, e ti permette di scegliere quale avviare. FreeBSD viene - fornito con un simile MBR che può essere installato, ed altri - fornitori di sistemi operativi forniscono MBR alternativi.</para> - - <para>Il resto del sistema di avvio di FreeBSD è diviso in tre stadi. - Il primo stadio viene eseguito dall'MBR, che sa solo il necessario per - mettere il computer in un certo stato ed eseguire il secondo stadio. - Quest'ultimo può fare poco di più, prima di eseguire il - terzo. Il terzo stadio esaurisce il compito di caricare il sistema - operativo. Il lavoro è diviso in queste tre parti perché - gli standard dei PC pongono dei limiti alla dimensione dei programmi che - possono essere eseguiti nei primi due stadi. Concatenando i compiti - si permette a FreeBSD di fornire un loader più flessibile.</para> - - <indexterm><primary>kernel</primary></indexterm> - <indexterm><primary><command>init</command></primary></indexterm> - - <para>A questo punto viene avviato il kernel ed esso comincia a verificare i - dispositivi e ad inizializzarli. Una volta che la procedura di avvio del - kernel è finita, il kernel passa il controllo al processo utente - &man.init.8;, che si assicura che i dischi siano in uno stato usabile. - Poi &man.init.8; avvia la configurazione delle risorse a livello utente - che monta i file system, imposta le schede di rete per comunicare via - rete, ed in generale fa partire tutti i processi che generalmente sono in - esecuzione su un sistema FreeBSD all'avvio.</para> - </sect1> - - <sect1 id="boot-blocks"> - <title>L'MBR, e gli Stadi di Avvio Uno, Due, e Tre</title> - - <sect2 id="boot-boot0"> - <title>MBR, <filename>/boot/boot0</filename></title> - - <indexterm><primary>Master Boot Record (MBR)</primary></indexterm> - - <para>L'MBR di FreeBSD è posizionato in - <filename>/boot/boot0</filename>. Questa è una - <emphasis>copia</emphasis> dell'MBR, poiché il vero MBR deve - essere posizionato su una parte speciale del disco, fuori dell'area di - FreeBSD.</para> - - <para>Siccome il programma nell'<abbrev>MBR</abbrev> può essere - lungo solo 512 byte, <filename>boot0</filename> è molto semplice. - Se hai installato l'MBR di FreeBSD ed hai vari sistemi operativi - installati sui tuoi dischi allora vedrai una schermata simile a questa - al momento dell'accensione:</para> - - <example id="boot-boot0-example"> - <title>Screenshot di <filename>boot0</filename></title> - - <screen>F1 DOS -F2 FreeBSD -F3 Linux -F4 ?? -F5 Drive 1 - -Default: F2</screen> - </example> - - <para>Altri sistemi operativi, in particolare &windows; 95, sono noti - per l'abitudine di sovrascrivere l'MBR esistente con il proprio. - Se accade questo, o se vuoi rimpiazzare l'MBR pre-esistente con quello - di FreeBSD puoi usare il seguente comando:</para> - - <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>dispositivo</replaceable></userinput></screen> - - <para>Dove <replaceable>dispositivo</replaceable> è il dispositivo - dal quale vuoi avviare, come <devicename>ad0</devicename> per il primo - disco IDE, <devicename>ad2</devicename> per il primo disco ide sul - secondo canale, <devicename>da0</devicename> per il primo disco SCSI, - e così via.</para> - - <para>Comunque, se sei un utente Linux e preferisci che sia - <application>LILO</application> a controllare il processo di avvio, - puoi modificare <filename>/etc/lilo.conf</filename> per avviare FreeBSD, - e selezionare <option>Leave The Master Boot Record Untouched</option> - durante il processo di installazione di FreeBSD. Se hai installato il - boot manager di FreeBSD, puoi avviare Linux e modificare il file di - configurazione di <application>LILO</application>, - <filename>/etc/lilo.conf</filename> aggiungendo la seguente - opzione:</para> - - <programlisting>other=/dev/hdXY -table=/dev/hdb -loader=/boot/chain.b -label=FreeBSD</programlisting> - - <para>che permetterà l'avvio di FreeBSD e Linux via - <application>LILO</application>. Nel nostro esempio, usiamo - <replaceable>XY</replaceable> per determinare quale drive e - quale partizione usare. Se stai usando un drive - <acronym>SCSI</acronym>, dovrai cambiare - <replaceable>/dev/hdXY</replaceable> in qualcosa di simile a - <replaceable>/dev/sdXY</replaceable>, dove viene usata ancora la - sintassi <replaceable>XY</replaceable>. L'opzione - <option>loader=/boot/chain.b</option> può essere omessa se hai - entrambi i sistemi operativi sullo stesso drive. Ora puoi eseguire - <command>/sbin/lilo -v</command> per effettuare i tuoi cambiamenti, - che dovrebbero essere confermati con messaggio su schermo.</para> - </sect2> - - <sect2 id="boot-boot1"> - <title>Stadio Uno, <filename>/boot/boot1</filename>, e Stadio Due, - <filename>/boot/boot2</filename></title> - - <para>Concettualmente il primo ed il secondo stadio sono parte dello - stesso programma, sulla stessa area del disco. Per limitazioni di - spazio sono stati divisi in due, ma li installerai sempre - insieme.</para> - - <para>Essi si trovano sul settore di avvio della slice di avvio, dove - <link linkend="boot-boot0">boot0</link>, o ogni altro programma - nell'<abbrev>MBR</abbrev> si aspetta di trovare il codice da eseguire - per proseguire la procedura di avvio. I file nella directory - <filename>/boot</filename> sono copie dei file reali, che sono - immagazzinati fuori dal file system di FreeBSD.</para> - - <para><filename>boot1</filename> è molto semplice, poiché - può essere lungo solo 512 byte, e conosce solo lo stretto - necessario del <firstterm>disklabel</firstterm> di FreeBSD, il quale - memorizza le informazioni sulle slice, per trovare ed eseguire - <filename>boot2</filename>.</para> - - <para><filename>boot2</filename> è leggermente più - sofisticato, e conosce il file system di FreeBSD abbastanza da potervi - trovare dei file, e può fornire una semplice interfaccia per - scegliere quale kernel o loader eseguire.</para> - - <para>Poiché il <link linkend="boot-loader">loader</link> è - molto più complesso, e fornisce una gradevole interfaccia di - facile utilizzo alla configurazione di avvio, <filename>boot2</filename> - in genere lo esegue, ma in precedenza era incaricato di lanciare il - kernel direttamente.</para> - - <example id="boot-boot2-example"> - <title>Screenshot di <filename>boot2</filename></title> - <screen>>> FreeBSD/i386 BOOT -Default: 0:ad(0,a)/kernel -boot:</screen> - </example> - - <para>Se mai avrai bisogno di rimpiazzare il <filename>boot1</filename> ed - il <filename>boot2</filename> installati, usa &man.disklabel.8;:</para> - - <screen>&prompt.root; <userinput>disklabel -B <replaceable>discoslice</replaceable></userinput></screen> - - <para>dove <replaceable>discoslice</replaceable> sono il disco e la slice - dal quale vuoi effettuare l'avvio, come ad esempio - <devicename>ad0s1</devicename> per la prima slice sul primo disco - IDE.</para> - - <warning> - <title>Modalità Pericolosamente Dedicata</title> - - <para>Se nella sintassi del comando &man.disklabel.8; usi solo il - nome del disco, come <devicename>ad0</devicename>, creerai un disco - pericolosamente dedicato, senza slice. Quasi sicuramente non è - questo quello che vuoi fare, quindi controlla due volte il comando - &man.disklabel.8; prima di premere <keycap>Invio</keycap>.</para> - </warning> - </sect2> - - <sect2 id="boot-loader"> - <title>Stadio Tre, <filename>/boot/loader</filename></title> - - <indexterm><primary>boot-loader</primary></indexterm> - - <para>Il loader è l'ultimo stadio della procedura di avvio divisa - in tre, e si trova sul file system, generalmente come - <filename>/boot/loader</filename>.</para> - - <para>Il loader deve essere inteso come un metodo user-friendly per la - configurazione di avvio, tramite l'uso di un insieme di comandi - integrati facili da usare, sostenuto da un potente interprete, con un - insieme di comandi più complessi.</para> - - <sect3 id="boot-loader-flow"> - <title>Sequenza di Operazioni del Loader</title> - - <para>Durante l'inizializzazione, il loader controllerà - la console e i dischi, e cercherà di capire da quale disco si - stia avviando. Imposterà le variabili di conseguenza, ed - avvierà un interprete al quale potranno essere passati i - comandi dell'utente in maniera interattiva o attraverso uno - script.</para> - - <indexterm><primary>loader</primary></indexterm> - <indexterm><primary>configurazione del loader</primary></indexterm> - - <para>Poi il loader leggerà <filename>/boot/loader.rc</filename>, - che di default legge i settaggi di - <filename>/boot/defaults/loader.conf</filename> il quale imposta - dei valori di default ragionevoli per le variabili e inoltre - <filename>/boot/loader.rc</filename> legge - <filename>/boot/loader.conf</filename> per i cambiamenti locali a - quelle variabili. In base a queste variabili - <filename>loader.rc</filename> carica i moduli ed il kernel - prescelti.</para> - - <para>Infine, di default, il loader attende per 10 secondi la pressione - di un tasto, ed avvia il kernel se non viene interrotto. Se invece - viene interrotto, viene presentato all'utente un prompt in grado di - comprendere un semplice insieme di comandi, dal quale l'utente - può impostare precisamente le variabili, scaricare dalla - memoria tutti i moduli, o caricarli, ed infine avviare o - ri-avviare.</para> - </sect3> - - <sect3 id="boot-loader-commands"> - <title>Comandi Integrati nel Loader</title> - - <para>Questi sono i comandi usati più comunemente. Per una - discussione completa su tutti i comandi disponibili, guarda - &man.loader.8;.</para> - - <variablelist> - <varlistentry> - <term>autoboot <replaceable>secondi</replaceable></term> - - <listitem> - <para>Procede all'avvio del kernel se non viene interrotto - nell'intervallo di tempo specificato, in secondi. Mostra un - conto alla rovescia, e l'intervallo predefinito è di - 10 secondi.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>boot - <optional><replaceable>-opzioni</replaceable></optional> - <optional><replaceable>nomekernel</replaceable></optional></term> - - <listitem> - <para>Procede immediatamente all'avvio del kernel, con le opzioni - date, se ce ne sono, e con il nome del kernel specificato, se - fornito.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>boot-conf</term> - - <listitem> - <para>Va avanti con la stessa configurazione automatica di moduli - basati sulle variabili come accade al boot. Questo ha senso - solo se prima usi <command>unload</command>, e cambi delle - variabili, in generale <envar>kernel</envar>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>help - <optional><replaceable>argomento</replaceable></optional></term> - - <listitem> - <para>Mostra un messaggio d'aiuto letto da - <filename>/boot/loader.help</filename>. Se l'argomento dato - è <literal>index</literal>, allora elenca tutti gli - argomenti disponibili.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>include <replaceable>nomefile</replaceable> …</term> - - <listitem> - <para>Processa il file specificato. Il file viene letto, e - interpretato riga per riga. Un errore blocca il comando include - immediatamente.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>load <optional><option>-t</option> - <replaceable>tipo</replaceable></optional> - <replaceable>nomefile</replaceable></term> - - <listitem> - <para>Carica il kernel, il modulo del kernel, o il file - del tipo specificato, con il nome specificato. Ogni argomento - dopo <replaceable>nomefile</replaceable> viene passato al - file.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ls <optional><option>-l</option></optional> - <optional><replaceable>percorso</replaceable></optional></term> - - <listitem> - <para>Mostra un elenco dei file nel percorso dato, o nella - directory root, se non ne viene specificato uno. Se è - specificato <option>-l</option>, verranno mostrate anche le - dimensioni dei file.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>lsdev <optional><option>-v</option></optional></term> - - <listitem> - <para>Elenca tutti i dispositivi dai quali potrebbe essere - possibile caricare moduli. Se viene specificata l'opzione - <option>-v</option>, verranno stampati dettagli maggiori.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>lsmod <optional><option>-v</option></optional></term> - - <listitem> - <para>Mostra i moduli caricati. Se viene specificato - <option>-v</option>, verranno stampati dettagli maggiori.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>more <replaceable>nomefile</replaceable></term> - - <listitem> - <para>Mostra i file specificati, con una pausa ad ogni - pagina visualizzata.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>reboot</term> - - <listitem> - <para>Riavvia immediatamente il sistema.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>set <replaceable>variabile</replaceable></term> - <term>set - <replaceable>variabile</replaceable>=<replaceable>valore</replaceable></term> - - <listitem> - <para>Imposta le variabili di ambiente del loader.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>unload</term> - - <listitem> - <para>Rimuove tutti i moduli caricati.</para> - </listitem> - </varlistentry> - </variablelist> - </sect3> - - <sect3 id="boot-loader-examples"> - <title>Esempi sul Loader</title> - - <para>Qui ci sono alcuni esempi pratici sull'uso del loader:</para> - - <itemizedlist> - <indexterm> - <primary>modalità singolo utente</primary> - </indexterm> - - <listitem> - <para>Per avviare semplicemente il vostro kernel abituale, - ma in modalità singolo utente:</para> - - <screen><userinput>boot -s</userinput></screen> - </listitem> - - <listitem> - <para>Per scaricare dalla memoria i moduli e il kernel usuali, - e poi caricare solo il vecchio (o un altro) kernel:</para> - - <indexterm> - <primary><filename>kernel.old</filename></primary> - </indexterm> - - <screen><userinput>unload</userinput> -<userinput>load <replaceable>kernel.old</replaceable></userinput></screen> - - <para>Puoi usare <filename>kernel.GENERIC</filename> per riferirti - al kernel generico che viene fornito nel disco d'installazione, o - <filename>kernel.old</filename> per riferirti al kernel installato - precedentemente (quando hai aggiornato o configurato il kernel, ad - esempio).</para> - - <note> - <para>Usa il comando seguente per caricare i tuoi soliti moduli - con un altro kernel:</para> - - <screen><userinput>unload</userinput> -<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput> -<userinput>boot-conf</userinput></screen></note> - </listitem> - - <listitem> - <para>Per caricare uno script di configurazione del kernel - (uno script automatizzato che faccia le cose che faresti tu - normalmente configurando il kernel all'avvio):</para> - - <screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen> - </listitem> - </itemizedlist> - </sect3> - </sect2> - </sect1> - - <sect1 id="boot-kernel"> - <title>Interazione con il Kernel Durante l'Avvio</title> - - <indexterm> - <primary>kernel</primary> - <secondary>interazione all'avvio</secondary> - </indexterm> - - <para>Una volta che il kernel è stato caricato dal <link - linkend="boot-loader">loader</link> (come di consueto) o da <link - linkend="boot-boot1">boot2</link> (scavalcando il loader), esso - esamina i suoi flag di avvio, se ce ne sono, e aggiusta il suo - comportamento come necessario.</para> - - <sect2 id="boot-kernel-bootflags"> - <indexterm> - <primary>kernel</primary> - <secondary>flag di boot</secondary> - </indexterm> - - <title>I Flag di Avvio del Kernel</title> - - <para>Qui ci sono alcuni dei più comuni flag di avvio:</para> - - <variablelist id="boot-kernel-bootflags-list"> - <varlistentry> - <term><option>-a</option></term> - - <listitem> - <para>durante l'inizializzazione del kernel, chiede il dispositivo - da montare come file system di root.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-C</option></term> - - <listitem> - <para>avvia da CDROM.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-c</option></term> - - <listitem> - <para>esegue UserConfig, il programma di configurazione del kernel - all'avvio</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-s</option></term> - - <listitem> - <para>avvia in modalità singolo utente</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-v</option></term> - - <listitem> - <para>aumenta la verbosità durante l'avvio del kernel</para> - </listitem> - </varlistentry> - </variablelist> - - <note> - <para>Ci sono altri flag di avvio, leggi &man.boot.8; per maggiori - informazioni su di essi.</para></note> - </sect2> - </sect1> - - <sect1 id="device-hints"> - <sect1info> - <authorgroup> - <author> - <firstname>Tom</firstname> - - <surname>Rhodes</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <indexterm><primary>device.hints</primary></indexterm> - - <title>Device Hints</title> - - <note> - <para>Questa è una caratteristica di FreeBSD 5.0 e successive - che non esiste nelle versioni precedenti.</para> - </note> - - <para>Durante l'avvio iniziale del sistema, il boot &man.loader.8; - leggerà il file &man.device.hints.5;. Questo file contiene - informazioni di avvio per il kernel dette variabili, e talvolta indicate - come <quote>device hints</quote>, suggerimenti per i dispositivi. - Questi <quote>device hints</quote> vengono usati dai driver per la - configurazione delle varie periferiche.</para> - - <para>I device hints possono essere specificati anche nel prompt del terzo - stadio <link linkend="boot-loader">del boot loader</link>. - Le variabili possono essere aggiunte usando il comando - <command>set</command>, rimosse con <command>unset</command>, e - visualizzate con <command>show</command>. Inoltre, in questo modo, - le variabili impostate nel file <filename>/boot/device.hints</filename> - possono essere scavalcate. I device hint inseriti in questo modo non sono - permanenti e verranno dimenticati al riavvio seguente.</para> - - <para>Una volta che il sistema è stato avviato, può essere - usato il comando &man.kenv.1; per mostrare tutte le variabili.</para> - - <para>La sintassi per il file <filename>/boot/device.hints</filename> - è una variabile per riga, usando il solito cancelletto - <quote>#</quote> per indicare i commenti. Le linee sono costruite come - segue:</para> - - <screen><userinput>hint.driver.unit.keyword="<replaceable>valore</replaceable>"</userinput></screen> - - <para>La sintassi nel terzo stadio del boot loader è:</para> - - <screen><userinput>set hint.driver.unit.keyword=<replaceable>valore</replaceable></userinput></screen> - - <para><literal>driver</literal> è il nome del driver per il - dispositivo, <literal>unit</literal> è il numero di unità - per quel driver, e <literal>keyword</literal> è la parola chiave - per quell'hint. La parola chiave può essere:</para> - - <itemizedlist> - <listitem> - <para><literal>at</literal>: specifica il bus sul quale è - collegato il dispositivo.</para> - </listitem> - - <listitem> - <para><literal>port</literal>: specifica l'indirizzo iniziale di - <acronym>I/O</acronym> che deve essere usato.</para> - </listitem> - - <listitem> - <para><literal>irq</literal>: specifica il numero di interrupt request - che deve essere usato.</para> - </listitem> - - <listitem> - <para><literal>drq</literal>: specifica il numero del canale DMA.</para> - </listitem> - - <listitem> - <para><literal>maddr</literal>: specifica l'indirizzo di memoria fisico - occupato dal dispositivo.</para> - </listitem> - - <listitem> - <para><literal>flags</literal>: imposta vari bit di flag per il - dispositivo.</para> - </listitem> - - <listitem> - <para><literal>disabled</literal>: se impostato a <quote>1</quote> il - dispositivo è disabilitato.</para> - </listitem> - </itemizedlist> - - <para>I driver possono accettare (o richiedere) più hints di quelli - elencati qui, si raccomanda quindi di verificare la loro pagina di - manuale. Per maggiori informazioni, consulta le pagine man - &man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, e - &man.loader.8;.</para> - </sect1> - - <sect1 id="boot-init"> - <indexterm><primary><command>init</command></primary></indexterm> - - <title>Init: Inizializzazione del Controllo dei Processi</title> - - <para>Una volta che il kernel ha finito di avviarsi, trasferisce il - controllo al processo utente <command>init</command>, che si trova in - <filename>/sbin/init</filename>, o al programma specificato - nella variabile <envar>init_path</envar> nel - <command>loader</command>.</para> - - <sect2 id="boot-autoreboot"> - <title>Sequenza di Riavvio Automatica</title> - - <para>La sequenza di riavvio automatica assicura che i file system - disponibili sul sistema siano consistenti. Se qualcuno non lo è, - e &man.fsck.8; non può risolvere le inconsistenze, &man.init.8; - abbandona il sistema in <link linkend="boot-singleuser">modalità - singolo utente</link> per permettere all'amministratore di sistema di - occuparsi dei problemi direttamente.</para> - </sect2> - - <sect2 id="boot-singleuser"> - <title>Modalità Singolo Utente</title> - - <indexterm><primary>modalità singolo utente</primary></indexterm> - <indexterm><primary>console</primary></indexterm> - - <para>Questa modalità può essere raggiunta attraverso la - <link linkend="boot-autoreboot">sequenza di riavvio automatica</link>, - o tramite l'avvio da parte dell'utente con l'opzione - <option>-s</option> o impostando la variabile <envar>boot_single</envar> - nel <command>loader</command>.</para> - - <para>Si può arrivare ad essa anche richiamando &man.shutdown.8; - senza l'opzione per il riavvio (<option>-r</option>) o per l'arresto - (<option>-h</option>), dalla <link - linkend="boot-multiuser">modalità multi utente</link>.</para> - - <para>Se la <literal>console</literal> del sistema è settata come - <literal>insecure</literal> in <filename>/etc/ttys</filename>, - allora il sistema richiede la password di <username>root</username> - prima di entrare in modalità singolo utente.</para> - - <example id="boot-insecure-console"> - <title>Una Console Insicura in <filename>/etc/ttys</filename></title> - - <programlisting># name getty type status comments -# -# Se la console è settata come "insecure", allora init chiederà -# la password di root per andare in modalità singolo utente . -console none unknown off insecure</programlisting> - </example> - - <note> - <para>Avere una console <literal>insecure</literal> significa - ritenere insicura la sicurezza fisica della console, ed assicurarsi - che solo chi conosce la password di <username>root</username> possa - usare la modalità singolo utente, non significa voler eseguire - la console in maniera insicura. Dunque, se vuoi avere sicurezza, - scegli <literal>insecure</literal>, non - <literal>secure</literal>.</para> - </note> - </sect2> - - <sect2 id="boot-multiuser"> - <title>Modalità Multi Utente</title> - - <indexterm><primary>modalità multi utente</primary></indexterm> - - <para>Se &man.init.8; ritiene che i tuoi file system siano in ordine, - o quando l'utente ha terminato il lavoro in <link - linkend="boot-singleuser">modalità singolo utente</link>, il - sistema entra in modalità multi utente, nella quale inizia la - configurazione delle risorse del sistema.</para> - - <sect3 id="boot-rc"> - <indexterm><primary>file rc</primary></indexterm> - - <title>Configurazione delle Risorse (rc)</title> - - <para>Il sistema di configurazione delle risorse legge i valori - predefiniti della configurazione da - <filename>/etc/defaults/rc.conf</filename>, e - i dettagli specifici del sistema da - <filename>/etc/rc.conf</filename>, e poi procede al montaggio dei - file system del sistema elencati in - <filename>/etc/fstab</filename>, avvia i servizi di rete, - avvia vari demoni di sistema, ed infine esegue gli script di avvio dei - pacchetti installati localmente.</para> - - <para>La pagina man di &man.rc.8; è un buon riferimento per la - configurazione delle risorse del sistema, poiché esamina gli - script stessi.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="boot-shutdown"> - <title>Sequenza di Spegnimento</title> - - <indexterm><primary><command>spegnimento</command></primary></indexterm> - - <para>Al momento di uno spegnimento controllato, tramite &man.shutdown.8;, - &man.init.8; cercherà di eseguire lo script - <filename>/etc/rc.shutdown</filename>, e poi procederà ad inviare - a tutti i processi il segnale <literal>TERM</literal>, e successivamente - il segnale <literal>KILL</literal> a quelli che non sono terminati in - tempo.</para> - - <para>Per spegnere una macchina FreeBSD su architetture e sistemi - che supportano la gestione dell'energia, usa semplicemente il comando - <command>shutdown -p now</command> per disattivare immediatamente - l'alimentazione. Per riavviare semplicemente un sistema FreeBSD, usa solo - <command>shutdown -r now</command>. Avrai bisogno di essere - <username>root</username> o un membro del gruppo - <groupname>operator</groupname> per eseguire &man.shutdown.8;. - Possono essere usati anche i comandi &man.halt.8; e &man.reboot.8;, - fai riferimento alle loro pagine di man ed a quella di &man.shutdown.8; - per maggiori informazioni.</para> - - <note> - <para>La gestione dell'energia richiede il supporto &man.acpi.4; nel - kernel o caricato come modulo in FreeBSD 5.X e il supporto - &man.apm.4; in FreeBSD 4.X.</para> - </note> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/chapter.decl b/it_IT.ISO8859-15/books/handbook/chapter.decl deleted file mode 100644 index 44a9964ef2..0000000000 --- a/it_IT.ISO8859-15/books/handbook/chapter.decl +++ /dev/null @@ -1,8 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.3 ---> - -<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN"> diff --git a/it_IT.ISO8859-15/books/handbook/chapters.ent b/it_IT.ISO8859-15/books/handbook/chapters.ent deleted file mode 100644 index e09428ded8..0000000000 --- a/it_IT.ISO8859-15/books/handbook/chapters.ent +++ /dev/null @@ -1,59 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Crea le entities per ogni capitolo del Manuale di FreeBSD. - Ogni entity è chiamata chap.foo, dove foo è il valore - dell'attributo id di quel capitolo, e corrisponde al nome della directory - nella quale il file sgml del capitolo è salvato. - - I capitoli devono essere listati nell'ordine in cui sono referenziati. - - $FreeBSD$ - Original revision: 1.28 ---> - -<!ENTITY chap.preface SYSTEM "preface/preface.sgml"> - -<!-- Parte prima --> -<!ENTITY chap.introduction SYSTEM "introduction/chapter.sgml"> -<!ENTITY chap.install SYSTEM "install/chapter.sgml"> -<!ENTITY chap.basics SYSTEM "basics/chapter.sgml"> -<!ENTITY chap.ports SYSTEM "ports/chapter.sgml"> -<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> - -<!-- Parte seconda --> -<!ENTITY chap.desktop SYSTEM "desktop/chapter.sgml"> -<!ENTITY chap.multimedia SYSTEM "multimedia/chapter.sgml"> -<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> -<!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> -<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml"> - -<!-- Parte terza --> -<!ENTITY chap.config SYSTEM "config/chapter.sgml"> -<!ENTITY chap.boot SYSTEM "boot/chapter.sgml"> -<!ENTITY chap.users SYSTEM "users/chapter.sgml"> -<!ENTITY chap.security SYSTEM "security/chapter.sgml"> -<!ENTITY chap.mac SYSTEM "mac/chapter.sgml"> -<!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> -<!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml"> -<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml"> -<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml"> - -<!-- Parte quarta --> -<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml"> -<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml"> -<!ENTITY chap.mail SYSTEM "mail/chapter.sgml"> -<!ENTITY chap.network-servers SYSTEM "network-servers/chapter.sgml"> -<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml"> - -<!-- Parte quinta (appendici) --> -<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml"> -<!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.sgml.ftp.inc"> -<!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.sgml.cvsup.inc"> - -<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml"> -<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml"> -<!ENTITY chap.eresources.www.inc SYSTEM "eresources.sgml.www.inc"> -<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml"> -<!ENTITY chap.index SYSTEM "index.sgml"> -<!ENTITY chap.colophon SYSTEM "colophon.sgml"> diff --git a/it_IT.ISO8859-15/books/handbook/colophon.sgml b/it_IT.ISO8859-15/books/handbook/colophon.sgml deleted file mode 100644 index 5a1d8324fe..0000000000 --- a/it_IT.ISO8859-15/books/handbook/colophon.sgml +++ /dev/null @@ -1,33 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.8 ---> - -<colophon id="colophon"> - <para>Questo libro è frutto del lavoro combinato di centinaia di - persone che hanno contribuito al <quote>FreeBSD Documentation - Project</quote>. Il testo è stato scritto in SGML seguendo le - specifiche del DocBook DTD ed è stato formattato dall'SGML in molti - formati di presentazione differenti usando <application>Jade</application>, - un motore DSSSL open source. Sono stati usati i fogli di stile DSSSL di - Norm Walsh con un livello aggiuntivo di personalizzazione per fornire a - <application>Jade</application> le istruzioni di presentazione. - La versione stampata di questo documento - non sarebbe stata possibile senza il linguaggio di composizione - <application>&tex;</application> di Donald Knuth, - <application>LaTeX</application> di Leslie Lamport, o il pacchetto di macro - <application>JadeTeX</application> di Sebastian Rahtz.</para> -</colophon> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("book.sgml" "book" "colophon") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/config/Makefile b/it_IT.ISO8859-15/books/handbook/config/Makefile deleted file mode 100644 index 499ed0e287..0000000000 --- a/it_IT.ISO8859-15/books/handbook/config/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= config/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/config/chapter.sgml b/it_IT.ISO8859-15/books/handbook/config/chapter.sgml deleted file mode 100644 index 1c91a4e9c9..0000000000 --- a/it_IT.ISO8859-15/books/handbook/config/chapter.sgml +++ /dev/null @@ -1,1714 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.71 ---> - -<chapter id="config-tuning"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Chern</firstname> - - <surname>Lee</surname> - - <contrib>Scritto da </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Mike</firstname> - - <surname>Smith</surname> - - <contrib>Basato su un tutorial scritto da </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Matt</firstname> - - <surname>Dillon</surname> - - <contrib>Basato anche su tuning(7) scritto da </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Configurazione e Messa a Punto</title> - - <sect1> - <title>Sinossi</title> - - <indexterm> - <primary>configurazione/ottimizzazione del sistema</primary> - </indexterm> - - <para>Uno degli aspetti importanti di FreeBSD è la configurazione del - sistema. Una corretta configurazione del sistema aiuterà a - prevenire mal di testa durante futuri aggiornamenti. Questo capitolo - spiegherà molti dei processi di configurazione di FreeBSD, inclusi - alcuni parametri che possono essere impostati per ottimizzare un sistema - FreeBSD.</para> - - <para>Inoltre questo capitolo descriverà alcuni dei parametri che - possono essere impostati per mettere a punto un sistema FreeBSD ed - ottenere prestazioni ottimali.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come lavorare in maniera efficiente con i file system e le - partizioni di swap.</para> - </listitem> - - <listitem> - <para>Le basi dei sistemi di configurazione <filename>rc.conf</filename> - e di avvio <filename>/usr/local/etc/rc.d</filename>.</para> - </listitem> - - <listitem> - <para>Come configurare host virtuali sui dispositivi di rete.</para> - </listitem> - - <listitem> - <para>Come usare i vari file di configurazione in - <filename>/etc</filename>.</para> - </listitem> - - <listitem> - <para>Come mettere a punto FreeBSD usando le variabili - <command>sysctl</command>.</para> - </listitem> - - <listitem> - <para>Come ottimizzare la prestazioni del disco e modificare le - limitazioni del kernel.</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - - <itemizedlist> - <listitem> - <para>Comprendere le basi di Unix e FreeBSD (<xref - linkend="basics">).</para> - </listitem> - - <listitem> - <para>Avere dimestichezza nel mantenere i sorgenti di FreeBSD aggiornati - (<xref linkend="cutting-edge">), e nella configurazione/compilazione - del kernel (<xref linkend="kernelconfig">).</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="configtuning-initial"> - <title>Configurazione Iniziale</title> - - <sect2> - <title>Disposizione delle Partizioni</title> - - <indexterm><primary>disposizione delle partizioni</primary></indexterm> - <indexterm><primary><filename>/etc</filename></primary></indexterm> - <indexterm><primary><filename>/var</filename></primary></indexterm> - <indexterm><primary><filename>/usr</filename></primary></indexterm> - - <sect3> - <title>Partizioni di Base</title> - - <para>Nel disegnare il tuo file system con &man.disklabel.8; o - &man.sysinstall.8;, ricorda che i dischi rigidi - possono trasferire dati ad un ritmo maggiore dalle tracce esterne - rispetto a quelle interne. Quindi i - file system più piccoli e con un gran numero di accessi - dovrebbero essere più vicini alla parte esterna del disco, - mentre le partizioni più ampie, come - <filename>/usr</filename>, dovrebbero essere posizionate verso - l'interno. - È una buona idea creare le partizioni in un ordine simile: - root, swap, <filename>/var</filename>, - <filename>/usr</filename>.</para> - - <para>Le dimensioni della partizione <filename>/var</filename> - riflettono l'uso che intendi fare della macchina. - <filename>/var</filename> viene usata per mantenere le - caselle di posta, i file di log, e gli spool della stampante. Le - caselle di posta e file di log potrebbero crescere in - maniera imprevedibile in relazione al numero di utenti presenti sul - tuo sistema e da quanto a lungo manterrai i file di log. La - maggior parte degli utenti non avrà mai bisogno di un gigabyte, - ma ricorda che <filename>/var/tmp</filename> - deve essere abbastanza ampia da contenere tutti i pacchetti.</para> - - <para>La partizione <filename>/usr</filename> contiene molti - dei file richiesti per far funzionare il sistema, la collezioni dei - &man.ports.7; (raccomandata) e il codice sorgente (opzionale). - Entrambi sono opzionali al momento dell'installazione. - Almeno 2 gigabyte sono raccomandati per questa partizione.</para> - - <para>Quando decidi le dimensioni delle partizioni, tieni a mente le - richieste di spazio. Esaurire lo spazio in una partizione mentre ne - usi poco in un'altra può essere molto fastidioso.</para> - - <note> - <para>Alcuni utenti hanno scoperto che il dimensionamento - <literal>auto-predefinito</literal> di &man.sysinstall.8; a volte - crea partizioni <filename>/var</filename> o <filename>/</filename> - più piccole del necessario. Partiziona saggiamente e - generosamente.</para> - </note> - </sect3> - - <sect3 id="swap-design"> - <title>Partizione di Swap</title> - - <indexterm><primary>dimensionamento dello swap</primary></indexterm> - <indexterm><primary>partizione di swap</primary></indexterm> - - <para>Come regola generale, la partizione di swap dovrebbe essere - tipicamente il doppio della quantità di memoria principale - (RAM). - Ad esempio, se la macchina avesse 128 megabyte di memoria, il - file di swap dovrebbe essere di 256 megabyte. - Sistemi con meno memoria potrebbero funzionare meglio con uno swap - maggiore. Meno di 256 megabyte di swap non è raccomandato - e dovresti pensare ad una espansione della memoria. - Gli algoritmi di paginazione sono ottimizzati per funzionare - al meglio quando la partizione di swap è almeno due volte la - dimensione della memoria principale. - Configurare uno swap troppo piccolo potrebbe portare ad una - inefficienza nel codice di scansione della VM e potrebbero creare - problemi in seguito, nel caso di aggiunta di memoria alla - macchina.</para> - - <para>Su sistemi più grandi con dischi SCSI multipli - (o dischi IDE multipli collegati a diversi controller) è - consigliabile che ci sia uno swap per ogni disco (fino a - quattro dischi). Le partizioni di swap dovrebbero avere - approssimativamente le stesse dimensioni. - Il kernel può gestire dimensioni arbitrarie ma internamente le - strutture dati scalano meglio fino a quattro volte la dimensione della - partizione di swap più ampia. Avere partizioni di swap con - dimensioni simili permetterà al kernel di distribuire al meglio - lo spazio di swap tra i dischi. Partizioni di swap grandi vanno bene, - anche se non vengono usate molto. Potrebbe essere più semplice - recuperare il sistema da un programma impazzito prima di essere - costretti a riavviare.</para> - </sect3> - - <sect3> - <title>Perché Partizionare?</title> - - <para>Molti utenti pensano che un'unica grande partizione vada bene, ma - ci sono molte ragioni per cui questa è una cattiva idea. - Primo, ogni partizione ha differenti caratteristiche - operative e separarle permette ai file system di ottimizzare se stessi - di conseguenza. Ad esempio, le partizioni root e - <filename>/usr</filename> sono per lo più usate in lettura, - senza molte operazioni di scrittura, mentre un sacco di - letture e scritture potrebbero esserci in <filename>/var</filename> e - <filename>/var/tmp</filename>.</para> - - <para>Partizionando in maniera appropriata il sistema, la - frammentazione introdotta nelle partizioni più piccole, - con più carico in scrittura, non inciderà sulle - partizioni per lo più di lettura. - Mantenere le partizioni con maggiore carico in scrittura - vicine al bordo del disco - aumenterà le prestazioni di I/O nelle partizioni dove ne hai - più bisogno. Ora, sebbene potresti avere bisogno di - prestazioni di I/O anche nelle partizioni più ampie, - spostarle verso il bordo del disco non - porterebbe nessun miglioramento significativo delle prestazioni, al - contrario dello spostamento di <filename>/var</filename> all'esterno. - Infine, ci sono problemi riguardanti la sicurezza. - Una piccola, simpatica partizione di root che è essenzialmente - di sola lettura ha ottime possibilità di sopravvivere intatta a - un brutto crash.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="configtuning-core-configuration"> - <title>Configurazione Centrale</title> - - <indexterm> - <primary>i file rc</primary> - <secondary><filename>rc.conf</filename></secondary> - </indexterm> - - <para>Il posto principale per le informazioni di configurazione del sistema - è in <filename>/etc/rc.conf</filename>. Questo file contiene una - ampia gamma di informazioni di configurazione, usate principalmente - all'avvio della macchina per la configurazione del sistema. - Il suo nome implica direttamente questo; si tratta di informazioni - di configurazione per i file <filename>rc*</filename>.</para> - - <para>Un amministratore dovrebbe aggiungere dei campi nel file - <filename>rc.conf</filename> per cambiare le impostazioni - predefinite di <filename>/etc/defaults/rc.conf</filename>. - Il file predefinito non drovebbe essere semplicemente copiato in - <filename>/etc</filename> - esso contiene valori di default, non esempi. - Tutti i cambiamenti specifici del sistema dovrebbero essere effettuati - nel file <filename>rc.conf</filename> stesso.</para> - - <para>Nelle applicazioni clustered possono essere adottate differenti - strategie per separare le configurazioni generali da quelle specifiche del - sistema in maniera da mantenere basso l'impegno di amministrazione. - L'approccio raccomandato è di porre le configurazioni generali in - un altro file, ad esempio <filename>/etc/rc.conf.site</filename>, e poi - includerlo in <filename>/etc/rc.conf</filename>, che conterrà solo - le informazioni specifiche del sistema.</para> - - <para>Visto che <filename>rc.conf</filename> viene letto da &man.sh.1; - è semplice farlo. Ad esempio:</para> - - <itemizedlist> - <listitem> - <para>rc.conf:</para> - - <programlisting> . rc.conf.site - hostname="nodo15.example.com" - network_interfaces="fxp0 lo0" - ifconfig_fxp0="inet 10.1.1.1"</programlisting> - </listitem> - - <listitem> - <para>rc.conf.site:</para> - - <programlisting> defaultrouter="10.1.1.254" - saver="daemon" - blanktime="100"</programlisting> - </listitem> - </itemizedlist> - - <para>Il file <filename>rc.conf.site</filename> potrà poi essere - distribuito su ogni sistema usando <command>rsync</command> o un programma - simile, mentre il file <filename>rc.conf</filename> rimarrà - unico.</para> - - <para>L'aggiornamento del sistema tramite &man.sysinstall.8; - o <command>make world</command> non sovrascriverà il file - <filename>rc.conf</filename>, quindi le configurazioni del sistema non - andranno perse.</para> - </sect1> - - <sect1 id="configtuning-appconfig"> - <title>Configurazione delle Applicazioni</title> - - <para>Tipicamente, le applicazioni installate hanno i propri file di - configurazione, con la loro sintassi, ecc. E' importante che questi file - siano tenuti separati dal sistema di base, in maniera da essere - facilmente individuati e gestiti dagli strumenti di gestione dei - pacchetti.</para> - - <indexterm><primary>/usr/local/etc</primary></indexterm> - - <para>In genere, questi file vengono installati in - <filename>/usr/local/etc</filename>. Nel caso in cui una applicazione - abbia un grande numero di file di configurazione, verrà creata una - sottodirectory per contenerli.</para> - - <para>Normalmente, quando viene installato un pacchetto, vengono installati - anche file di configurazione d'esempio. In genere questi vengono - identificati da un suffisso <filename>.default</filename>. Se non ci sono - file di configurazione esistenti per l'applicazione, verranno creati - copiando i file <filename>.default</filename>.</para> - - <para>Ad esempio, considera il contenuto della directory - <filename>/usr/local/etc/apache</filename>:</para> - - <literallayout class="monospaced">-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf --rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default --rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf --rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default --rw-r--r-- 1 root wheel 12205 May 20 1998 magic --rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default --rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types --rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default --rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf --rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default</literallayout> - - <para>Le differenze nelle dimensioni dei file mostrano che solo - <filename>srm.conf</filename> è stato modificato. - Una successiva installazione di <application>Apache</application> dai port - non sovrascriverà questo file modificato.</para> - </sect1> - - <sect1 id="configtuning-starting-services"> - <title>Avvio dei Servizi</title> - - <indexterm><primary>servizi</primary></indexterm> - - <para>È comune per un sistema sostenere un certo numero di servizi. - Questi possono essere avviati in molti modi differenti, ognuno dei quali - ha vantaggi differenti.</para> - - <indexterm><primary>/usr/local/etc/rc.d</primary></indexterm> - - <para>I programmi installati tramite port o dalla collezione dei pacchetti - metteranno spesso uno script in <filename>/usr/local/etc/rc.d</filename> - che verrà invocato all'avvio del sistema con l'argomento - <option>start</option>, ed allo spegnimento con l'argomento - <option>stop</option>. Questo è il modo consigliato per avviare i - servizi di sistema che devono funzionare come <username>root</username>, o - che hanno bisogno di essere lanciati da <username>root</username>. - Questi script sono registrati come parte dell'installazione del pacchetto, - e saranno rimossi quando verrà rimosso il pacchetto.</para> - - <para>Uno script di avvio generico in - <filename>/usr/local/etc/rc.d</filename> appare così:</para> - - <programlisting>#!/bin/sh -echo -n ' FooBar' - -case "$1" in -start) - /usr/local/bin/foobar - ;; -stop) - kill -9 `cat /var/run/foobar.pid` - ;; -*) - echo "Usage: `basename $0` {start|stop}" >&2 - exit 64 - ;; -esac - -exit 0</programlisting> - - <para>Gli script di avvio di FreeBSD cercheranno in - <filename>/usr/local/etc/rc.d</filename> degli script che abbiano una - estensione <literal>.sh</literal> e siano eseguibili da - <username>root</username>. Gli script trovati verranno richiamati con - l'opzione <option>start</option> all'avvio, e <option>stop</option> - allo spegnimento per permettergli di svolgere il loro compito. - Quindi se volessi che il suddetto script di esempio venisse trovato ed - eseguito al momento giusto, durante l'avvio del sistema, dovresti - salvarlo in un file di nome <filename>FooBar.sh</filename> in - <filename>/usr/local/etc/rc.d</filename> e dovresti assicurarti che sia - eseguibile. Puoi rendere uno script eseguibile tramite &man.chmod.1; come - mostrato di seguito:</para> - - <screen>&prompt.root; <userinput>chmod 755 <replaceable>FooBar.sh</replaceable></userinput></screen> - - <para>Alcuni servizi aspettano di essere invocati da &man.inetd.8; quando - viene ricevuta una connessione su una porta valida. Ciò è - comune per tutti i server di lettura della posta (POP e IMAP, ecc.). - Questi servizi vengono abilitati modificando il file - <filename>/etc/inetd.conf</filename>. - Guarda &man.inetd.8; per i dettagli sulla modifica di questo file.</para> - - <para>Alcuni servizi aggiuntivi potrebbero non essere coperti dalle opzioni - in <filename>/etc/rc.conf</filename>. - Tradizionalmente questi vengono avviati mettendo i comandi necessari per - invocarli in <filename>/etc/rc.local</filename>. - Da FreeBSD 3.1 non c'è più nessun - <filename>/etc/rc.local</filename> predefinito;. Se venisse creato - dall'amministratore, esso verrebbe comunque gestito normalmente. - Nota che <filename>rc.local</filename> viene generalmente visto come - ultima possibilità; se c'è un posto migliore per avviare il - servizio, fallo da lì.</para> - - <note> - <para><emphasis>NON</emphasis> mettere nessun comando in - <filename>/etc/rc.conf</filename>. Per avviare i demoni, o per eseguire - un qualsiasi comando all'avvio, metti invece uno script in - <filename>/usr/local/etc/rc.d</filename>.</para> - </note> - - <para>è anche possibile usare il demone &man.cron.8; per avviare i - servizi di sistema. Questo approccio ha molti vantaggi, non ultimo il - fatto che poiché &man.cron.8; esegue questi processi come il - proprietario di <command>crontab</command>, i servizi possono essere - avviati e mantenuti da utenti non-<username>root</username>.</para> - - <para>Per fare ciò si approfitta di una caratteristica di - &man.cron.8;: le specifiche temporali possono essere sostituite da - <literal>@reboot</literal>, che farà sì che il compito - venga eseguito quando &man.cron.8; viene avviato, poco dopo l'avvio del - sistema.</para> - </sect1> - - <sect1> - <sect1info> - <authorgroup> - <author> - <firstname>Marc</firstname> - - <surname>Fonvieille</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Configurazione delle Interfacce di Rete</title> - - <indexterm><primary>configurazione della scheda di rete</primary></indexterm> - - <para>Al giorno d'oggi non riusciamo a pensare ad un computer senza pensare - ad una connessione di rete. Aggiungere e configurare una scheda di rete - è un compito comune per ogni amministratore FreeBSD.</para> - - <sect2> - <title>Individuazione del Driver Corretto</title> - - <indexterm> - <primary>configurazione della scheda di rete</primary> - <secondary>individuazione del driver</secondary> - </indexterm> - - <para>Prima di cominciare, dovresti conoscere il modello della scheda di - rete che possiedi, il chip che usa, e se si tratta di una scheda PCI o - ISA. FreeBSD supporta un'ampia varietà sia di schede PCI che - ISA. Verifica la l'Hardware Compatibility List della tua release per - vedere se la scheda è supportata.</para> - - <para>Una volta sicuro che la tua scheda sia supportata, hai bisogno di - determinare il driver appropriato per la scheda. Il file - <filename>/usr/src/sys/i386/conf/LINT</filename> ti fornirà un - elenco di driver per le interfacce di rete con alcune informazioni - su chipset/schede supportate. Se hai dubbi su quale sia il driver - corretto, leggi la pagina man del driver. - La pagina man fornirà ulteriori informazioni sull'hardware - supportato ed anche sui possibili problemi che potrebbero - capitare.</para> - - <para>Se sei in possesso di una scheda comune, la maggior parte delle - volte non dovrai cercare molto per trovare un driver. I driver per le - schede di reti comuni sono presenti nel kernel - <filename>GENERIC</filename>, quindi la tua scheda dovrebbe mostrarsi - durante l'avvio, in questo modo:</para> - - <screen>dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 -000ff irq 15 at device 11.0 on pci0 -dc0: Ethernet address: 00:a0:cc:da:da:da -miibus0: <MII bus> on dc0 -ukphy0: <Generic IEEE 802.3u media interface> on miibus0 -ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto -dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30 -000ff irq 11 at device 12.0 on pci0 -dc1: Ethernet address: 00:a0:cc:da:da:db -miibus1: <MII bus> on dc1 -ukphy1: <Generic IEEE 802.3u media interface> on miibus1 -ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto</screen> - - <para>In questo esempio, vediamo che nel sistema sono presenti due schede - che usano il driver &man.dc.4;.</para> - - <para>Per usare la tua scheda di rete, avrai bisogno di caricare il driver - appropriato. Ciò può essere fatto in due modi. - Il modo più semplice consiste nel caricare semplicemente un - modulo nel kernel relativo alla scheda di rete con &man.kldload.8;. - Non è disponibile un modulo per ogni scheda di rete - (le schede ISA e le schede che usano il driver &man.ed.4;, ad esempio). - Alternativamente, si può compilare staticamente - il supporto per la propria scheda di rete nel proprio kernel. Controlla - <filename>/usr/src/sys/i386/conf/LINT</filename> e la pagina man - del driver per sapere cosa aggiungere al tuo file di configurazione del - kernel. Per maggiori informazioni sulla ricompilzione del kernel, - guarda il <xref linkend="kernelconfig">. Se la tua scheda è - stata riconosciuta all'avvio dal kernel (<filename>GENERIC</filename>) - non dovrai compilarne uno nuovo.</para> - </sect2> - - <sect2> - <title>Configurazione della Scheda di Rete</title> - - <indexterm> - <primary>configurazione della scheda di rete</primary> - <secondary>configurazione</secondary> - </indexterm> - - <para>Una volta che il driver giusto per la scheda di rete è stato - caricato, la scheda ha bisogno di essere configurata. Come molte altre - cose, la scheda di rete potrebbe essere già stata configurata al - momento dell'installazione tramite - <application>sysinstall</application>.</para> - - <para>Per mostrare la configurazione delle interfaccie di rete sul tuo - sistema, immetti il seguente comando:</para> - -<screen>&prompt.user; <userinput>ifconfig</userinput> -dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 - inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 - ether 00:a0:cc:da:da:da - media: Ethernet autoselect (100baseTX <full-duplex>) - status: active -dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 - inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 - ether 00:a0:cc:da:da:db - media: Ethernet 10baseT/UTP - status: no carrier -lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 -lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 - inet 127.0.0.1 netmask 0xff000000 -tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> - - <note> - <para>Vecchie versioni di FreeBSD potrebbero richiedere l'opzione - <option>-a</option> dopo &man.ifconfig.8;. Per maggiori dettagli sulla - sintassi corretta di &man.ifconfig.8;, fai riferimento alla pagina - man. Nota anche che le voci relative all'IPv6 - (<literal>inet6</literal> ecc.) sono state omesse in questo - esempio.</para> - </note> - - <para>In questo esempio, vengono mostrati i seguenti dispositivi:</para> - - <itemizedlist> - <listitem> - <para><devicename>dc0</devicename>: La prima interfaccia - Ethernet</para> - </listitem> - - <listitem> - <para><devicename>dc1</devicename>: La seconda interfaccia - Ethernet</para> - </listitem> - - <listitem> - <para><devicename>lp0</devicename>: L'interfaccia della porta - parallela</para> - </listitem> - - <listitem> - <para><devicename>lo0</devicename>: Il dispositivo di loopback</para> - </listitem> - - <listitem> - <para><devicename>tun0</devicename>: Il dispositivo tunnel usato da - <application>ppp</application></para> - </listitem> - </itemizedlist> - - <para>FreeBSD usa il nome del driver seguito dall'ordine nel quale - la scheda è stat rilevata all'avvio del kernel per dare un nome - alla scheda di rete. Ad esempio <devicename>sis2</devicename> sarebbe - la terza scheda di rete nel sistema che usa il driver - &man.sis.4;.</para> - - <para>In questo esempio, il dispositivo <devicename>dc0</devicename> - è attivo. Gli indicatori chiave sono:</para> - - <orderedlist> - <listitem> - <para><literal>UP</literal> significa che la scheda è pronta e - configurata.</para> - </listitem> - - <listitem> - <para>La scheda ha un indirizzo Internet (<literal>inet</literal>) - (in questo caso <hostid role="ipaddr">192.168.1.3</hostid>).</para> - </listitem> - - <listitem> - <para>Essa ha una maschera di sottorete valida - (<literal>netmask</literal>; <hostid - role="netmask">0xffffff00</hostid> è lo stesso che <hostid - role="netmask">255.255.255.0</hostid>).</para> - </listitem> - - <listitem> - <para>Essa ha un indirizzo di broadcast valido (in questo caso, - <hostid role="ipaddr">192.168.1.255</hostid>).</para> - </listitem> - - <listitem> - <para>L'indirizzo MAC della scheda <literal>ether</literal>) - è <hostid role="mac">00:a0:cc:da:da:da</hostid>.</para> - </listitem> - - <listitem> - <para>La selezione del mezzo fisico è in modalità - autoselezione (<literal>media: Ethernet autoselect (100baseTX - <full-duplex>)</literal>). Vediamo che - <devicename>dc1</devicename> è stata configurata con un mezzo - fisico <literal>10baseT/UTP</literal>. Per ulteriori informazioni - sui tipi di mezzi disponibili per un driver, fai riferimento alla - sua pagina man.</para> - </listitem> - - <listitem> - <para>Lo stato del collegamento (<literal>status</literal>) - è <literal>active</literal>, ovvero è stata rilevata - la portante. Per <devicename>dc1</devicename>, vediamo - <literal>status: no carrier</literal>. Questo è normale - quando un cavo ethernet non è stato inserito nella - scheda.</para> - </listitem> - </orderedlist> - - <para>Se l'output di &man.ifconfig.8; avesse mostrato qualcosa di simile - a:</para> - - <screen>dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 - ether 00:a0:cc:da:da:da</screen> - - <para>ciò avrebbe indicato che la scheda non era stata ben - configurata.</para> - - <para>Per configurare la tua scheda, avrai bisogno dei privilegi - di <username>root</username>. La configurazione della scheda di rete - può essere effettuata da riga di comando con &man.ifconfig.8;, ma - avresti bisogno di farlo ad ogni riavvio del sistema. Il file - <filename>/etc/rc.conf</filename> è il posto dove scrivere la - configurazione della scheda di rete.</para> - - <para>Apri <filename>/etc/rc.conf</filename> con il tuo editor preferito. - Avrai bisogno di aggiungere una riga per ogni scheda di rete presente - nel sistema, ad esempio nel nostro caso, abbiamo aggiunto queste - linee:</para> - - <programlisting>ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0" -ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"</programlisting> - - <para>Dovrai sostituire <devicename>dc0</devicename>, - <devicename>dc1</devicename>, e così via, con i dispositivi - corretti per la tua scheda, e gli indirizzi con quelli appropriati. - Dovresti leggere le pagine man del driver e di &man.ifconfig.8; per - maggiori dettagli sulle opzioni permesse ed anche la pagina man di - &man.rc.conf.5; per maggiori informazioni sulla sintassi di - <filename>/etc/rc.conf</filename>.</para> - - <para>Se hai configurato la rete durante l'installazione, alcune - linee relative alle schede di rete potrebbero essere già - presenti. Controlla due volte <filename>/etc/rc.conf</filename> prima - di aggiungere ogni linea.</para> - - <para>Avrai anche bisogno di modificare il file - <filename>/etc/hosts</filename> per aggiungere i nomi e gli IP - delle varie macchine della LAN, se non sono già lì. - Per maggiori informazioni, fai riferimento a &man.hosts.5; - ed a <filename>/usr/share/examples/etc/hosts</filename>.</para> - </sect2> - - <sect2> - <title>Verifica e Risoluzione dei Problemi</title> - - <para>Una volta che hai effettuato i cambiamenti necessari a - <filename>/etc/rc.conf</filename>, dovresti riavviare la macchina. - Ciò farà sì che i cambiamenti alle interfacce - vengano applicati, e verificherà che il sistema si riavvii senza - nessun errore di configurazione.</para> - - <para>Una volta che il sistema è stato riavviato, dovresti testare - le interfaccie di rete.</para> - - <sect3> - <title>Test della Scheda Ethernet</title> - - <indexterm> - <primary>configurazione della scheda di rete</primary> - <secondary>test della scheda</secondary> - </indexterm> - - <para>Per verificare che una scheda Ethernet sia configurata - correttamente, si devono provare due cose. Prima, effettuare un ping - verso l'interfaccia stessa, e poi un ping verso un'altra macchina - sulla LAN.</para> - - <para>Prima proviamo l'interfaccia:</para> - - <screen>&prompt.user; <userinput>ping -c5 192.168.1.3</userinput> -PING 192.168.1.3 (192.168.1.3): 56 data bytes -64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms -64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms -64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms -64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms -64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms - ---- 192.168.1.3 ping statistics --- -5 packets transmitted, 5 packets received, 0% packet loss -round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms</screen> - - <para>Ora dobbiamo effettuare un ping verso un'altra macchina della - LAN:</para> - - <screen>&prompt.user; <userinput>ping -c5 192.168.1.2</userinput> -PING 192.168.1.2 (192.168.1.2): 56 data bytes -64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms -64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms -64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms -64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms -64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms - ---- 192.168.1.2 ping statistics --- -5 packets transmitted, 5 packets received, 0% packet loss -round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms</screen> - - <para>Puoi usare il nome della macchina invece di - <hostid role="ipaddr">192.168.1.2</hostid> se hai sistemato il file - <filename>/etc/hosts</filename>.</para> - </sect3> - - <sect3> - <title>Risoluzione dei Problemi</title> - - <indexterm> - <primary>configurazione della scheda di rete</primary> - <secondary>risoluzione dei problemi</secondary> - </indexterm> - - <qandaset> - <qandaentry> - <question> - <para>Dove posso trovare informazioni su possibili problemi - che potrei incontrare con la mia scheda di rete?</para> - </question> - - <answer> - <para>La pagina man del driver è la prima - documentazione da leggere. Anche gli archivi delle mailing list - possono essere utili.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Quando cerco di effttuare un ping verso una macchina sulla - mia LAN, ottengo questo messaggio di errore: - <errorname>ping: sendto: Permission denied</errorname>.</para> - </question> - - <answer> - <para>Questo significa che non hai il permesso di inviare - pacchetti ICMP. Verifica se c'è un firewall in - esecuzione sulla macchina e se ci sono delle regole che - bloccano il protocollo ICMP.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Vedo un sacco di messaggi <errorname>watchdog - timeout</errorname> nei log del sistema, e quando cerco di - effettuare un ping verso una macchina sulla LAN, ottengo questo - messaggio: <errorname>ping: sendto: No route to - host</errorname>.</para> - </question> - - <answer> - <para>La prima cosa da fare è verificare il cavo di rete. - Molte schede di rete richiedono uno slot PCI che supporti il - Bus Mastering. Su alcune vecchie schede madri, solo uno slot - PCI lo permette (la maggior parte delle volte lo slot 0). - Controlla la scheda di rete e la documentazione della scheda - madre per capire se quello potrebbe essere il problema.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Vedo un sacco di messaggi <errorname>device - timeout</errorname> nei log del sistema, e la mia scheda di - rete non funziona.</para> - </question> - - <answer> - <para>Avere uno o due di questi messaggi è spesso normale - con alcune schede. Ad ogni modo, se questi persistono e la rete - non è usabile, assicurati che il cavo di rete sia - connesso e che non ci siano conflitti IRQ tra scheda di rete - ed altri dispositivi nel sistema.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Le prestazioni della scheda sono mediocri, cosa posso - fare?</para> - </question> - - <answer> - <para>È difficile rispondere a questa domanda. - Qual è la tua definizione di <quote>prestazioni - mediocri</quote>? Controlla due volte qualunque cosa nella - tua configurazione, leggi la pagina man &man.tuning.7;, e cerca - di evitare schede di rete economiche. Molti utenti hanno notato - che impostando la selezione del mezzo fisico su - <literal>autoselect</literal> porta a prestazioni scadenti su - certo hardware.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>ci sono delle schede di rete raccomandate o alcune - dalle quali dovrei tenermi lontano?</para> - </question> - - <answer> - <para>Dovresti evitare le schede economiche per un uso serio. - Le schede economiche spesso offrono chipset pieni di bug, - e la maggior parte delle volte non forniscono buone - prestazioni. Molti utenti di FreeBSD apprezzano le schede che - usano il chipset &man.fxp.4;, tuttavia questo non significa - che tutti gli altri chipset siano cattivi.</para> - </answer> - </qandaentry> - </qandaset> - </sect3> - </sect2> - </sect1> - - <sect1 id="configtuning-virtual-hosts"> - <title>Host Virtuali</title> - - <indexterm><primary>host virtuali</primary></indexterm> - <indexterm><primary>alias ip</primary></indexterm> - - <para>Un uso piuttosto comune di FreeBSD è come hosting di siti - virtuali, dove un solo server appare alla rete come molti server distinti. - Ciò viene effettuato assegnando indirizzi di rete multipli ad una - sola interfaccia.</para> - - <para>Una data interfaccia di rete ha un solo indirizzo - <quote>reale</quote>, e può avere un numero qualsiasi di indirizzi - <quote>alias</quote>. Questi alias vengono normalmente aggiunti mettendo - dei campi alias in <filename>/etc/rc.conf</filename>.</para> - - <para>Un campo alias per l'interfaccia <devicename>fxp0</devicename> - appare così:</para> - - <programlisting>ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"</programlisting> - - <para>Nota che il campo alias deve iniziare con alias0 e aumentare in - ordine, (ad esempio, _alias1, _alias2, e così via). Il processo di - configurazione si fermerà al primo numero mancante.</para> - - <para>Il calcolo delle maschere di sottorete degli alias è - importante, ma, fortunatamente, è anche abbastanza semplice. - Per una data interfaccia, deve esserci un indirizzo che rappresenta - correttamente la maschera di sottorete. - Ogni altro indirizzo che ricada in questa rete deve avere una maschera di - sottorete con tutti 1.</para> - - <para>Ad esempio, considera il caso in cui l'interfaccia - <devicename>fxp0</devicename> sia connessa a due reti, la rete <hostid - role="ipaddr">10.1.1.0</hostid> con maschera di sottorete <hostid - role="netmask">255.255.255.0</hostid> e la rete <hostid - role="ipaddr">202.0.75.16</hostid> con maschera di sottorete <hostid - role="netmask">255.255.255.240</hostid>. Vogliamo che il sistema sia - visibile come <hostid role="ipaddr">10.1.1.1</hostid> fino a <hostid - role="ipaddr">10.1.1.5</hostid> e come <hostid - role="ipaddr">202.0.75.17</hostid> fino a <hostid - role="ipaddr">202.0.75.20</hostid>.</para> - - <para>Le seguenti righe configurano il dispositivo correttamente per questo - scopo:</para> - - <programlisting> ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" - ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" - ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" - ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" - ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" - ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" - ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" - ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" - ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"</programlisting> - </sect1> - - <sect1 id="configtuning-configfiles"> - <title>File di Configurazione</title> - - <sect2> - <title>Struttura di <filename>/etc</filename></title> - - <para>Ci sono molte directory nelle quali vengono tenute le informazioni - di configurazione. Tra queste ci sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <tbody> - <row> - <entry><filename>/etc</filename></entry> - - <entry>Informazioni generiche sulla configurazione del sistema; - questi dati sono specifici del sistema.</entry> - </row> - - <row> - <entry><filename>/etc/defaults</filename></entry> - - <entry>Versioni di default dei file di configurazione del - sistema.</entry> - </row> - - <row> - <entry><filename>/etc/mail</filename></entry> - - <entry>Configurazioni extra di &man.sendmail.8;, o file di - configurazione di altri MTA.</entry> - </row> - - <row> - <entry><filename>/etc/ppp</filename></entry> - - <entry>Configurazione ppp sia per i programmi a livello utente che - a livello kernel.</entry> - </row> - - <row> - <entry><filename>/etc/namedb</filename></entry> - - <entry>Posizione predefinita per i dati di &man.named.8;. - Normalmente qui si trova <filename>named.conf</filename> insieme - ai file di zona.</entry> - </row> - - <row> - <entry><filename>/usr/local/etc</filename></entry> - - <entry>File di configurazione per le applicazioni installate. - Può contenere sottodirectory.</entry> - </row> - - <row> - <entry><filename>/usr/local/etc/rc.d</filename></entry> - - <entry>Script start/stop per i programmi installati.</entry> - </row> - - <row> - <entry><filename>/var/db</filename></entry> - - <entry>File di dati specifici del sistema generati - automaticamente, come il database dei package, il database di - locate, e così via.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2> - <title>Nomi degli Host</title> - - <indexterm><primary>nomi degli host</primary></indexterm> - <indexterm><primary>DNS</primary></indexterm> - - <sect3> - <title><filename>/etc/resolv.conf</filename></title> - - <indexterm> - <primary><filename>resolv.conf</filename></primary> - </indexterm> - - <para><filename>/etc/resolv.conf</filename> detta il modo in cui il - sistema di risoluzione dei nomi di FreeBSD accede all'Internet Domain - Name System (DNS).</para> - - <para>I campi più comuni in <filename>resolv.conf</filename> - sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <tbody> - <row> - <entry><literal>nameserver</literal></entry> - - <entry>L'indirizzo IP di un name server al quale dovrà - rivolgersi il sistema di risoluzione. I server vengono - interrogati nell'ordine in cui sono elencati, fino a un - massimo di tre.</entry> - </row> - - <row> - <entry><literal>search</literal></entry> - - <entry>Lista di ricerca per i nomi degli host. Normalmente - questo viene determinato dal dominio dell'host locale.</entry> - </row> - - <row> - <entry><literal>domain</literal></entry> - - <entry>Il nome del dominio locale.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Un <filename>resolv.conf</filename> tipico:</para> - - <programlisting>search example.com -nameserver 147.11.1.11 -nameserver 147.11.100.30</programlisting> - - <note> - <para>Si dovrebbe usare solo una tra le due opzioni - <literal>search</literal> e <literal>domain</literal>.</para> - </note> - - <para>Se stai usando DHCP, &man.dhclient.8; generalmente - sovrascriverà <filename>resolv.conf</filename> con le - informazioni ricevute dal server DHCP.</para> - </sect3> - - <sect3> - <title><filename>/etc/hosts</filename></title> - - <indexterm><primary>hosts</primary></indexterm> - - <para><filename>/etc/hosts</filename> è un semplice database - testuale, reminescenza della vecchia rete Internet. - Esso lavora in congiunzione con DNS e NIS fornendo una mappatura da - nome a indirizzo IP. Computer locali connessi ad una LAN possono - essere messi in questo file per una gestione semplice dei nomi, invece - di mettere su un server &man.named.8;. - Inoltre, <filename>/etc/hosts</filename> può essere usato per - fornire un registro locale dei nomi di internet, riducendo la - necessità di effettuare richieste esternamente per i nomi ad - accesso frequente.</para> - - <programlisting># $FreeBSD$ -# -# Host Database -# Questo file dovrebbe contenere gli indirizzi e gli alias -# per gli host locali che condividono questo file. -# In presenza di DNS o NIS, questo file potrebbe non essere consultato affatto; -# guarda /etc/nsswitch.conf per l'ordine di risoluzione. -# -# -::1 localhost localhost.my.domain myname.my.domain -127.0.0.1 localhost localhost.my.domain myname.my.domain - -# -# Rete immaginaria. -#10.0.0.2 myname.my.domain myname -#10.0.0.3 myfriend.my.domain myfriend -# -# In accordo all'RFC 1918, puoi usare le seguenti classi di IP per reti private -# che non verranno mai connesse ad Internet: -# -# 10.0.0.0 - 10.255.255.255 -# 172.16.0.0 - 172.31.255.255 -# 192.168.0.0 - 192.168.255.255 -# -# In caso volessi essere in grado di collegarti ad Internet, avrai bisogno -# di veri numeri ufficiali assegnati. PER FAVORE PER FAVORE PER FAVORE -# non tentare di inventarti i numeri della tua rete ma fattene assegnare -# uno dal tuo provider (se ne hai uno) o dall'Internet Registry (ftp su -# rs.internic.net, directory `/templates'). -#</programlisting> - - <para><filename>/etc/hosts</filename> accetta il semplicissimo - formato:</para> - - <programlisting>[Indirizzo Internet ] [nome host ufficiale] [alias1] [alias2] ...</programlisting> - - <para>Ad esempio:</para> - - <programlisting>10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2</programlisting> - - <para>Consulta &man.hosts.5; per maggiori informazioni.</para> - </sect3> - </sect2> - - <sect2> - <title>Configurazione dei File di Log</title> - - <indexterm><primary>file di log</primary></indexterm> - - <sect3> - <title><filename>syslog.conf</filename></title> - - <indexterm><primary>syslog.conf</primary></indexterm> - - <para><filename>syslog.conf</filename> è il file di - configurazione per il programma &man.syslogd.8;. Indica quale tipo di - messaggi verranno scritti su ogni file di log.</para> - - <programlisting># $FreeBSD$ -# -# Gli spazi SONO validi separatori dei campi in questo file. Ad ogni modo, -# altri sistemi *nix-like insistono ancora nell'usare tab come separatori -# di campo. Se condividi questo file tra più sistemi, potresti -# voler usare solo dei tab come separatori. -# Consulta la pagina man di syslog.conf(5). -*.err;kern.debug;auth.notice;mail.crit /dev/console -*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages -security.* /var/log/security -mail.info /var/log/maillog -lpr.info /var/log/lpd-errs -cron.* /var/log/cron -*.err root -*.notice;news.err root -*.alert root -*.emerg * -# togli il commento a questo per loggare tutte le scritture su /dev/console -# in /var/log/console.log -#console.info /var/log/console.log -# togli il commento a questo per abilitare il logging di tutti i messaggi di log -# su /var/log/all.log -#*.* /var/log/all.log -# togli il commento a questo per abilitare il logging su un host remoto di nome -# loghost -#*.* @loghost -# togli i commenti a questi se hai inn in funzione -# news.crit /var/log/news/news.crit -# news.err /var/log/news/news.err -# news.notice /var/log/news/news.notice -!startslip -*.* /var/log/slip.log -!ppp -*.* /var/log/ppp.log</programlisting> - - <para>Consulta la pagina man di &man.syslog.conf.5; per maggiori - informazioni.</para> - </sect3> - - <sect3> - <title><filename>newsyslog.conf</filename></title> - - <indexterm><primary>newsyslog.conf</primary></indexterm> - - <para><filename>newsyslog.conf</filename> è il file di - configurazione di &man.newsyslog.8;, un programma che normalmente - viene eseguito da &man.cron.8;. &man.newsyslog.8; determina quando i - file di log richiedono un archiviazione o un riordinamento. - <filename>logfile</filename> viene rinominato in - <filename>logfile.0</filename>, <filename>logfile.0</filename> in - <filename> logfile.1</filename> e così via. - Alternativamente, i file potranno essere archiviati in formato - &man.gzip.1;, e quindi diventeranno: - <filename>logfile.0.gz</filename>, <filename>logfile.1.gz</filename>, - e così via.</para> - - <para><filename>newsyslog.conf</filename> indica quali file di log - devono essere gestiti, quanti devono essere mantenuti, e quando devono - essere toccati. I file di log possono essere riordinati e/o - archiviati quando raggiungono una certa dimensione, o a una certa - data/ora periodica.</para> - - <programlisting># file di configurazione per newsyslog -# $FreeBSD$ -# -# filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num] -/var/log/cron 600 3 100 * Z -/var/log/amd.log 644 7 100 * Z -/var/log/kerberos.log 644 7 100 * Z -/var/log/lpd-errs 644 7 100 * Z -/var/log/maillog 644 7 * @T00 Z -/var/log/sendmail.st 644 10 * 168 B -/var/log/messages 644 5 100 * Z -/var/log/all.log 600 7 * @T00 Z -/var/log/slip.log 600 3 100 * Z -/var/log/ppp.log 600 3 100 * Z -/var/log/security 600 10 100 * Z -/var/log/wtmp 644 3 * @01T05 B -/var/log/daily.log 640 7 * @T00 Z -/var/log/weekly.log 640 5 1 $W6D0 Z -/var/log/monthly.log 640 12 * $M1D0 Z -/var/log/console.log 640 5 100 * Z</programlisting> - - <para>Consulta la pagina man di &man.newsyslog.8; per maggiori - informazioni.</para> - </sect3> - </sect2> - - <sect2> - <title><filename>sysctl.conf</filename></title> - - <indexterm><primary>sysctl.conf</primary></indexterm> - <indexterm><primary>sysctl</primary></indexterm> - - <para><filename>sysctl.conf</filename> assomiglia molto a - <filename>rc.conf</filename>. I valori vengono impostati nella forma - <literal>variabile=valore</literal>. I valori specificati vengono - impostati dopo che il sistema è entrato in modalità - multiutente. Non tutte le variabili sono gestibili in questo - modo.</para> - - <para>Un <filename>sysctl.conf</filename> d'esempio che disattiva il - logging delle uscite forzate da segnali non gestibili e che - lascia capire ai programmi di Linux che essi stanno effettivamente - funzionando sotto FreeBSD:</para> - - <programlisting>kern.logsigexit=0 # Non registra le uscite forzate (es. sig 11) -compat.linux.osname=FreeBSD -compat.linux.osrelease=4.3-STABLE</programlisting> - </sect2> - </sect1> - - <sect1 id="configtuning-sysctl"> - <title>Messa a Punto con sysctl</title> - - <indexterm><primary>sysctl</primary></indexterm> - <indexterm><primary>messa a punto con sysctl</primary></indexterm> - - <para>&man.sysctl.8; è un'interfaccia che vi permette di effettuare - cambiamenti ad un sistema FreeBSD già attivo. Questo include molte - opzioni avanzate dello stack TCP/IP e del sistema di memoria virtuale che - possono permettere di migliorare drammaticamente le prestazioni ad un - sistemista che abbia esperienza. Più di cinquecento variabili di - sistema possono essere lette e modificate usando &man.sysctl.8;.</para> - - <para>In sostanza, &man.sysctl.8; serve a due cose: a leggere e a modificare - le impostazioni di sistema.</para> - - <para>Per visualizzare tutte le variabili modificabili:</para> - - <screen>&prompt.user; <userinput>sysctl -a</userinput></screen> - - <para>Per leggere una particolare variabile, ad esempio, - <varname>kern.maxproc</varname>:</para> - - <screen>&prompt.user; <userinput>sysctl kern.maxproc</userinput> -kern.maxproc: 1044</screen> - - <para>Per impostare una particolare variabile, usa l'intuitiva sintassi - <replaceable>variabile</replaceable>=<replaceable>valore</replaceable>:</para> - - <screen>&prompt.root; <userinput>sysctl kern.maxfiles=5000</userinput> -kern.maxfiles: 2088 -> 5000</screen> - - <para>I valori validi per le variabili di sysctl sono generalmente o - stringhe, o numeri, o valori booleani (un valore booleano può - valere <literal>1</literal> per sì o <literal>0</literal> per - no).</para> - </sect1> - - <sect1 id="configtuning-disk"> - <title>Messa a Punto dei Dischi</title> - - <sect2> - <title>Variabili sysctl</title> - - <sect3> - <title><varname>vfs.vmiodirenable</varname></title> - - <indexterm> - <primary><varname>vfs.vmiodirenable</varname></primary> - </indexterm> - - <para>La variabile sysctl <varname>vfs.vmiodirenable</varname> - può essere impostata a 0 (inattivo) o 1 (attivo); di default - è 1. Questa variabile controlla il modo in cui le directory - vengono messe nella cache dal sistema. La maggior parte delle - directory è piccola, ed usa solo un singolo frammento - (tipicamente 1 K) nel file system e meno (tipicamente - 512 byte) nella cache. - Ad ogni modo, quando si lavora nella modalità - predefinita il buffer manterrà soltanto un numero fissato di - directory anche se hai una quantità enorme di memoria. - Attivando questa sysctl si permette al buffer di usare la VM Page - Cache per immagazzinare le directory, rendendo disponibile tutta la - memoria disponibile per il caching delle directory. In ogni caso, la - minima quantità di memoria usata per memorizzare una directory - sarà la dimensione della pagina fisica (in genere 4 K) - invece di 512 byte. - Noi consigliamo di attivare questa opzione se si hanno in - esecuzione dei servizi che manipolano un grosso numero file. Servizi - di questo tipo sono le cache web, i grandi sistemi di posta, e quelli - di news. Attivare questa opzione in generale non ridurrà le - prestazioni nonostante la memoria sprecata, ma dovresti sperimentare - tu stesso per verificare.</para> - </sect3> - - <sect3> - <title><varname>hw.ata.wc</varname></title> - - <indexterm><primary><varname>hw.ata.wc</varname></primary></indexterm> - - <para>FreeBSD 4.3 ha giocato un po' con l'idea di disattivare il - caching IDE in scrittura. Questo ha ridotto la larghezza di banda in - scrittura verso i dischi IDE ma è stato considerato necessario - a causa di gravi problemi di consistenza dei dati introdotti dai - venditori di dischi rigidi. Il problema è che il disco IDE - rimane inattivo dopo che una scrittura è stata completata. Con - il caching in scrittura attivo, i dischi IDE non scrivono soltanto i - dati sui dischi in maniera disordinata, ma talvolta rimandano la - scrittura indefinitamente sotto carichi di lavoro del disco pesanti. - Un crash o un calo di tensione possono condurre a seri problemi di - corruzione del file system. L'impostazione predefinita di FreeBSD fu - cambiata in favore della sicurezza. Sfortunatamente, il risultato - è stato una perdita di prestazioni talmente tremenda che - abbiamo dovuto reinserire il caching in scrittura di default dopo - quella release. Dovresti verificare il valore di default sul tuo - sistema osservando la variabile sysctl <varname>hw.ata.wc</varname>. - Se il caching IDE in scrittura è disattivato, potete attivarlo - reimpostando la variabile del kernel a 1. Questo dovrebbe essere - effettuato dal boot loader all'avvio. Tentare di effettuare questo - cambiamento dopo che il kernel è stato avviato non avrà - nessun effetto.</para> - - <para>Per maggiori informazioni, guarda &man.ata.4;.</para> - </sect3> - </sect2> - - <sect2 id="soft-updates"> - <title>Soft Updates</title> - - <indexterm><primary>Soft Updates</primary></indexterm> - <indexterm><primary>tunefs</primary></indexterm> - - <para>Il programma &man.tunefs.8; può essere usato per mettere a - punto con accuratezza un file system. Questo programma ha molte opzioni - differenti, ma per ora noi ci preoccuperemo solo di attivare e - disattivare i Soft Updates, che verrà effettuato tramite:</para> - - <screen>&prompt.root; <userinput>tunefs -n enable /filesystem</userinput> -&prompt.root; <userinput>tunefs -n disable /filesystem</userinput></screen> - - <para>Un file system non potrà essere modificato con &man.tunefs.8; - mentre è montato. Un buon momento per attivare i Soft Updates - è prima che le partizioni siano montate, in modalità - singolo utente.</para> - - <note> - <para>Da FreeBSD 4.5, è possibile attivare i Soft Updates - al momento della creazione dei file system, grazie all'uso - dell'opzione <literal>-U</literal> di &man.newfs.8;.</para> - </note> - - <para>I Soft Updates migliorano drasticamente le prestazioni dei - meta-dati, principalmente la creazione e la cancellazione di file, - attraverso l'uso di una memoria cache. Consigliamo di attivare i Soft - Updates su tutti i file system. Ci sono due lati negativi relativi ai - Soft Updates dei quali dovresti essere a conoscenza: primo, i Soft - Updates garantiscono la consistenza del file system in caso di crash ma - è più che probabile che passino molti secondi (anche un - minuto!) prima che venga aggiornato fisicamente il disco. Se il - sistema crasha potresti perdere molto più lavoro in questa modo. - Secondo, i Soft Updates rallentano la liberazione dei blocchi liberi del - file system. Se hai un file system (come il file system root) che - è quasi pieno, la realizzazione di un grosso aggiornamento, come - un <command>make installworld</command>, potrebbe essere causa di un - superamento dei limiti di spazio del file system e di un fallimento - dell'aggiornamento.</para> - - <sect3> - <title>Maggiori dettagli sui Soft Updates</title> - - <indexterm><primary>Soft Updates (Dettagli)</primary></indexterm> - - <para>Ci sono due approcci tradizionalmente nella scrittura dei - meta-dati del file system su disco. (Gli aggiornamenti dei meta-dati - sono aggiornamenti ai dati che non sono contenuto, come gli inode o - le directory.)</para> - - <para>Storicamente, il comportamento predefinito era di scrivere gli - aggiornamenti dei meta-dati in maniera sincrona. Se una directory - veniva modificata, il sistema attendeva finché il cambiamento - venisse effettivamente scritto su disco. I buffer con i dati dei file - (i contenuti dei file) venivano passati attraverso la cache e salvati - su disco in seguito, in maniera asincrona. Il vantaggio di questa - implementazione è che avviene in maniera sicura. Se si - verifica un problema durante un aggiornamento, i meta-dati sono sempre - in uno stato consistente. Un file viene creato completamente o non - viene creato affatto. Se i blocchi dati di un file non sono riusciti - ad uscire dalla cache e arrivare al disco prima del crash, - &man.fsck.8; è in grado di capirlo e riparare il file system - impostando a zero la lunghezza del file. Inoltre, l'implementazione - è chiara e semplice. Lo svantaggio è che i cambiamenti - dei meta-dati sono lenti. Un <command>rm -r</command>, ad esempio, - tocca tutti i file in una directory consecutivamente, ma ogni - cambiamento della directory (la cancellazione del file) verrà - scritto su disco in maniera sincrona. Questo include gli - aggiornamenti alla directory stessa, alla tabella degli inode, e - magari anche ai blocchi indiretti allocati dal file. Simili - considerazioni si applicano nell'elenco di grosse gerarchie - (<command>tar -x</command>).</para> - - <para>Il secondo caso è l'aggiornamento asincrono dei meta-dati. - Questo è il comportamento predefinito per Linux/ext2fs e - <command>mount -o async</command> per *BSD/ufs. Anche tutti gli - aggiornamenti dei meta-dati vengono semplicemente fatti passare - attraverso la cache, cioè vengono mescolati con gli - aggiornamenti dei dati contenuti nel file. Il vantaggio di questa - implementazione è che non c'è bisogno di attendere che - ogni aggiornamento dei meta-dati venga scritto su disco, dunque tutte - le operazioni che causano enormi quantità di aggiornamenti dei - meta-dati lavorano molto più velocemente che nel caso sincrono. - Inoltre, l'implementazione è ancora semplice e chiara, dunque - c'è un basso rischio che si annidino dei bug nel codice. - Lo svantaggio è che non c'è nessuna garanzia di uno - stato consistente del file system. Se si verifica un problema durante - un'operazione che ha aggiornato grandi quantità di meta-dati - (ad esempio un abbassamento di tensione, o qualcuno che preme il tasto - reset), il file system verrà lasciato in uno stato - imprevedibile. Non c'è opportunità di esaminare lo - stato del file system quando il sistema viene riavviato; i blocchi - dati di un file potrebbero essere già stati scritti sul disco - mentre gli aggiornamenti della tabella degli inode o la directory - associata non lo sono. - È praticamente impossibile implementare un - <command>fsck</command> che sia in grado di ripulire il caos - risultante (perché i dati necessari non sono disponibili sul - disco). Se il file system è stato danneggiato più del - riparabile, la sola scelta è di usare &man.newfs.8; - per ricrearlo e recuperarlo da un backup.</para> - - <para>La soluzione comune di questo problema era implementare - <emphasis>la registrazione delle regioni sporche</emphasis>, a cui - spesso si fa riferimento come <emphasis>journaling</emphasis>, anche - se questo termine non viene usato coerentemente e talvolta viene - applicato ad altre forme di logging delle transazioni. Gli - aggiornamenti dei meta-dati sono ancora scritti in maniera sincrona, - ma solo in una piccola regione del disco. In seguito vengono spostati - nella posizione appropriata. Poiché l'area di registrazione - è una piccola regione contigua sul disco, non ci sono lunghe - distanze da percorrere per le testine del disco, anche durante le - operazioni pesanti, dunque queste operazioni sono più veloci - degli aggiornamenti sincroni. Inoltre la complessità - dell'implementazione è piuttosto limitata, dunque il rischio - che si presentino dei bug è basso. Uno svantaggio è che - tutti i meta-dati vengono scritti due volte (una volta nella regione - di logging ed un altra nella posizione appropriata) e quindi per un - lavoro normale si può avere un <quote>peggioramento</quote> - delle prestazioni. D'altro canto, in caso di crash, tutti le - operazioni sui meta-dati in sospeso possono essere velocemente - annullate o recuperate dall'area di registrazione quando il sistema - è di nuovo attivo, e come risultato si ha un avvio veloce del - file system.</para> - - <para>Kirk McKusick, lo sviluppatore del Berkeley FFS, ha risolto questo - problema con i Soft Updates: tutti gli aggiornamenti dei meta-dati - vengono tenuti in memoria e vengono scritti su disco in sequenza - ordinata (<quote>aggiornamenti ordinati dei meta-dati</quote>). - Ciò porta all'effetto che, in caso di operazioni pesanti sui - meta-dati, gli ultimi aggiornamenti ad un elemento - <quote>recuperano</quote> i precedenti se questi sono ancora in - memoria e non sono già stati scritti su disco. Dunque tutte le - operazioni, diciamo su una directory, vengono effettuate - principalmente in memoria prima che l'aggiornamento sia scritto su - disco (i blocchi dei dati vengono ordinati in relazione alla loro - posizione, in modo che non vengano scritti su disco prima dei loro - meta-dati). Se il sistema va in crash, ciò causa un implicito - <quote>riavvolgimento del log</quote>: tutte le operazioni che non - hanno ancora trovato posto sul disco appariranno come mai effettuate. - Viene mantenuto uno stato consistente del file system che sarà - quello di 30 o 60 secondi prima. L'algoritmo usato garantisce anche - che tutte le risorse in uso siano marcate come tali nelle appropriate - tabelle di bit: blocchi e inode. Dopo un crash, il solo errore di - allocazione è che vengono marcate come <quote>usate</quote> - anche risorse che sono effettivamente <quote>libere</quote>. - &man.fsck.8; riconosce questa situazione, e libera le risorse che non - sono più in uso. Non c'è pericolo nell'ignorare lo - stato di <emphasis>sporcizia</emphasis> del file system dopo un crash - montandolo di forza con <command>mount -f</command>. Per poter - liberare le risorse che potrebbero essere non usate, &man.fsck.8; - ha bisogno di essere avviato in seguito. Questa è l'idea di un - <emphasis>fsck in background</emphasis>: all'avvio del sistema, viene - registrata solo una <emphasis>immagine</emphasis> del file system. - <command>fsck</command> può essere eseguito in seguito. Tutti - i file system possono essere montati <quote>sporchi</quote>, quindi il - processo di avvio del sistema procede in modalità multiutente. - In seguito, <command>fsck</command> viene avviato su tutti i - file system dove è necessario, per liberare le risorse che - potrebbero essere inutilizzate. (I file system che non usano i - Soft Updates hanno ancora bisogno del solito <command>fsck</command>, - comunque.)</para> - - <para>Il vantaggio è che le operazioni sui meta-dati sono veloci - quasi come gli aggiornamenti asincroni (cioè più veloci - che con il <emphasis>logging</emphasis>, che deve scrivere i meta-dati - due volte). Gli svantaggi sono nella complessità del codice - (che implica un maggiore rischio di trovare bug in un'area molto - sensibile, essendo legata alla perdita dei dati degli utenti), - ed un consumo di memoria maggiore. Inoltre ci sono alcune - idiosincrasie alle quali ci si deve abituare. - Dopo un crash, lo stato del file system appare in qualche modo - <quote>vecchio</quote>. In situazioni dove l'approccio - sincrono avrebbe causato la permanenza di alcuni file di lunghezza - zero dopo un <command>fsck</command>, questi file non esistono affatto - con un file system con Soft Updates, perché né i - meta-dati né i contenuti dei file sono mai stati scritti su - disco. Lo spazio su disco non viene rilasciato finché gli - aggiornamenti non sono stati scritti su disco, il che può - avvenire qualche tempo dopo che è stato eseguito - <command>rm</command>. Questo potrebbe causare problemi durante - l'installazione di grandi quantità di dati su un file system - che non avesse abbastanza spazio per contenere tutti i file due - volte.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="configtuning-kernel-limits"> - <title>Messa a Punto dei Limiti del Kernel</title> - - <indexterm> - <primary>messa a punto dei limiti del kernel</primary> - </indexterm> - - <sect2 id="file-process-limits"> - <title>Limiti dei File/Processi</title> - - <sect3 id="kern-maxfiles"> - <title><varname>kern.maxfiles</varname></title> - - <indexterm> - <primary><varname>kern.maxfiles</varname></primary> - </indexterm> - - <para><varname>kern.maxfiles</varname> può essere aumentato o - abbassato a seconda dei requisiti del tuo sistema. Questa variabile - indica il numero massimo di descrittori di file sul tuo sistema. - Quando la tabella dei descrittori di file è piena, - apparirà ripetutamente la scritta <errorname>file: table is - full</errorname> nel buffer dei messaggi di sistema, che può - essere visualizzato con il comando <command>dmesg</command>.</para> - - <para>Ogni file, socket, o fifo aperta usa un descrittore di file. - Un server di produzione di larga scala può richiedere - facilmente molte migliaia di descrittori di file, in relazione al tipo - e al numero di servizi in esecuzione insieme.</para> - - <para>Il valore predefinito di <varname>kern.maxfile</varname> viene - dettato dall'opzione <option>MAXUSERS</option> nel file di - configurazione del kernel. <varname>kern.maxfiles</varname> cresce - proporzionalmente al valore di <option>MAXUSERS</option>. Quando si - compila un kernel personalizzato, è una buona idea impostare - questa opzione di configurazione del kernel in base agli usi del - proprio sistema. Da questo numero, dipendono molti dei limiti - predefiniti del kernel. Anche se una macchina in produzione potrebbe - non avere effettivamente 256 utenti connessi contemporaneamente, le - risorse necessarie potrebbero essere simili a quelle di un server web - su larga scala.</para> - - <note> - <para>Da FreeBSD 4.5 in poi, l'impostazione di - <option>MAXUSERS</option> a <literal>0</literal> nel file di - configurazione del kernel fornirà un valore di default - ragionevole basato sulla quantità di RAM presente nel - sistema.</para> - </note> - </sect3> - </sect2> - - <sect2> - <title>Limiti di Rete</title> - - <para>L'opzione di configurazione del kernel <option>NMBCLUSTERS</option> - decide la quantità di mbuf di rete disponibili al sistema. - Un server molto trafficato con un numero basso di MBUF - ostacolerebbe le possibilità di FreeBSD. Ogni cluster - rappresenta approssimativamente 2 K di memoria, dunque un valore di - 1024 rappresenta 2 megabyte di memoria del kernel riservata per i - buffer di rete. - Può essere effettuato un semplice calcolo per capire - quanti ne siano necessari. Se hai un web server che arriva al massimo - a 1000 connessioni simultanee, ed ogni connessione consuma un buffer di - 16 K in ricezione e un'altro di 16 K in trasmissione, avrai - bisogno approssimativamente di 32 MB di buffer di rete per coprire - il web server. - Una buona regola generale è di moltiplicare per 2, dunque - 2x32 MB / 2 KB = - 64 MB / 2 KB = 32768.</para> - </sect2> - </sect1> - - <sect1 id="adding-swap-space"> - <title>Aggiunta di Spazio di Swap</title> - - <para>Non importa quanto bene pianifichi tutto, a volte un sistema non - funziona come ti aspetti. Se ti trovi ad avere bisogno di maggiore spazio - di swap, è abbastanza semplice aggiungerlo. Ci sono tre modi per - aumentare lo spazio di swap: aggiungere un nuovo disco rigido, abilitare - lo swap su NFS, e creare un file di swap su una partizione - esistente.</para> - - <sect2 id="new-drive-swap"> - <title>Swap su un Nuovo Disco Rigido</title> - - <para>Il modo migliore per aggiungere dello swap, ovviamente, è - usare questa come scusa per aggiungere un altro disco rigido. Puoi - sempre aggiungere un nuovo disco, dopo tutto. Se puoi fare così, - vai a rileggere la discussione sullo <ulink - url="configtuning-initial.html#SWAP-DESIGN">spazio di swap</ulink> dalla - sezione sull'<ulink - url="configtuning-initial.html">Installazione di FreeBSD</ulink> del - Manuale per alcuni suggerimenti su come organizzare al meglio lo spazio - di swap.</para> - </sect2> - - <sect2 id="nfs-swap"> - <title>Swap su NFS</title> - - <para>Lo swap su NFS è consigliato solo se non hai un disco locale - su cui realizzare lo swap. Lo swap via NFS è lento ed - inefficiente nelle versioni di FreeBSD precedenti alla 4.X. Nella - 4.0-RELEASE e successive è ragionevolmente efficiente e veloce. - Anche nelle versioni più nuove di FreeBSD, comunque, lo swap via - NFS è limitato dalla larghezza di banda disponibile sulla rete e - aggiunge ulteriore lavoro per il server NFS.</para> - </sect2> - - <sect2 id="create-swapfile"> - <title>File di Swap</title> - - <para>Puoi creare un file delle dimensioni specifiche per usarlo come file - di swap. In questo nostro esempio useremo un file di 64MB chiamato - <filename>/usr/swap0</filename>. Puoi usare qualsiasi nome vuoi, - ovviamente.</para> - - <example> - <title>Creazione di un File di Swap</title> - - <orderedlist> - <listitem> - <para>Accertati che la tua configurazione del kernel includa - il driver per i vnode. <emphasis>Non</emphasis> c'è - nelle versioni recenti del <filename>GENERIC</filename>.</para> - - <programlisting>pseudo-device vn 1 #driver vnode (trasforma un file in un dispositivo)</programlisting> - </listitem> - - <listitem> - <para>crea un dispositivo vn:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>sh MAKEDEV vn0</userinput></screen> - </listitem> - - <listitem> - <para>crea un file di swap (<filename>/usr/swap0</filename>):</para> - - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput></screen> - </listitem> - - <listitem> - <para>imposta i permessi appropriati - (<filename>/usr/swap0</filename>):</para> - - <screen>&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput></screen> - </listitem> - - <listitem> - <para>Abilita il file di swap in - <filename>/etc/rc.conf</filename>:</para> - - <programlisting>swapfile="/usr/swap0" # Imposta il nome del file di swap se si desidera un file di swap ausiliario.</programlisting> - </listitem> - - <listitem> - <para>Riavvia la macchina, o per abilitare il file di swap - immediatamente digita:</para> - - <screen>&prompt.root; <userinput>vnconfig -e /dev/vn0b /usr/swap0 swap</userinput></screen> - </listitem> - </orderedlist> - </example> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/cutting-edge/Makefile b/it_IT.ISO8859-15/books/handbook/cutting-edge/Makefile deleted file mode 100644 index 12c6213cf5..0000000000 --- a/it_IT.ISO8859-15/books/handbook/cutting-edge/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= cutting-edge/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/cutting-edge/chapter.sgml b/it_IT.ISO8859-15/books/handbook/cutting-edge/chapter.sgml deleted file mode 100644 index 5f1efa99c1..0000000000 --- a/it_IT.ISO8859-15/books/handbook/cutting-edge/chapter.sgml +++ /dev/null @@ -1,60 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="cutting-edge"> - <title>Lo Stato dell'Arte</title> - - <sect1> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="current-stable"> - <title>&os.current; vs. &os.stable;</title> - - <sect2 id="current"> - <title>Staying Current with &os;</title> - - <para>Traduzione in corso</para> - </sect2> - - <sect2 id="stable"> - <title>Staying Stable with &os;</title> - - <para>Traduzione in corso</para> - </sect2> - </sect1> - - <sect1 id="synching"> - <title>Synchronizing Your Source</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="makeworld"> - <title>Using <command>make world</command></title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="small-lan"> - <title>Tracking for multiple machines</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/desktop/Makefile b/it_IT.ISO8859-15/books/handbook/desktop/Makefile deleted file mode 100644 index 0585360573..0000000000 --- a/it_IT.ISO8859-15/books/handbook/desktop/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= desktop/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml b/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml deleted file mode 100644 index 0a39f9450c..0000000000 --- a/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml +++ /dev/null @@ -1,1406 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.40 ---> - -<chapter id="desktop"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Christophe</firstname> - - <surname>Juniet</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Applicazioni Desktop</title> - - <sect1 id="desktop-synopsis"> - <title>Sinossi</title> - - <para>FreeBSD può far girare una gran varietà di applicazioni - desktop, come ad esempio browser per la navigazione e editor di testi. - La maggior parte di questi sono disponibili in pacchetti o possono - essere automaticamente installati dalla collezione di port. Molti nuovi - utenti si aspettano di trovare questo tipo di applicazioni nei loro - desktop. Questo capitolo ti mostrerà come installare alcune - popolari applicazioni desktop, sia dai package che dalla collezione - dei port.</para> - - <para>Da notare che quando installiamo programmi dalla collezione dei - port, questi sono compilati dai sorgenti. Questa operazione potrebbe - durare molto tempo, dipende da cosa stai compilando e dalla potenza della - tua macchina. Se per te compilare i sorgenti occupa un arco di tempo - proibitivamente lungo, puoi installare la maggior parte dei programmi - della collezione dei port da pacchetti precompilati.</para> - - <para>Visto che FreeBSD è compatibile con i binari di Linux, molte - applicazione originariamente scritte per Linux sono disponibili - per il tuo desktop. È fortemente raccomandata la lettura del - <xref linkend="linuxemu"> prima di installare qualsiasi - applicazione per Linux. La maggior parte dei port che sfruttano la - compatibilità con Linux iniziano con <quote>linux-</quote>. - Ricordatelo quando cerchi un port in particolare, per esempio con - &man.whereis.1;. Nella parte seguente, si presuppone che tu abbia - installato il supporto per la compatibilità con i binari di Linux - prima di installare qualsiasi applicazione per Linux.</para> - - <para>Queste sono le categorie software trattate in questo capitolo:</para> - - <itemizedlist> - <listitem> - <para>Browser (come ad es. <application>Mozilla</application>, - <application>&netscape;</application>, - <application>Opera</application>, - <application>Firefox</application>, - <application>Konqueror</application>)</para> - </listitem> - - <listitem> - <para>Produttività (come ad es. - <application>KOffice</application>, - <application>AbiWord</application>, - <application>The GIMP</application>, - <application>OpenOffice.org</application>)</para> - </listitem> - - <listitem> - <para>Visualizzatori di documenti (come ad es. - <application>&acrobat.reader;</application>, - <application>gv</application>, - <application>Xpdf</application>, - <application>GQview</application>)</para> - </listitem> - - <listitem> - <para>Finance (come ad es. <application>GnuCash</application>, - <application>Gnumeric</application>, - <application>Abacus</application>)</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - - <itemizedlist> - <listitem> - <para>Essere in grado di installare altro software di terze parti - (<xref linkend="ports">).</para> - </listitem> - - <listitem> - <para>Essere in grado di installare altro software per Linux - (<xref linkend="linuxemu">).</para> - </listitem> - </itemizedlist> - - <para>Per informazioni su come avere un ambiente multimediale, leggi il - <xref linkend="multimedia">. Se vuoi installare e usare l'e-mail, sono - presenti riferimenti nel <xref linkend="mail">.</para> - </sect1> - - <sect1 id="desktop-browsers"> - <title>Browser</title> - - <para>In FreeBSD non viene preinstallato nessun browser in particolare. - Invece, la directory <ulink - url="http://www.FreeBSD.org/ports/www.html">www</ulink> della collezione - dei port contiene molti browsers pronti per essere installati. Se non hai - il tempo di compilare tutto (in alcuni casi potrebbe occupare molto tempo) - molti di questi sono disponibili come package.</para> - - <para><application>KDE</application> e anche - <application>GNOME</application> hanno dei browsers HTML. - Guarda la <xref linkend="x11-wm"> per avere informazioni - su come installare questi ambienti desktop.</para> - - <para>Se stai cercando dei browser leggeri, dovresti - controllare la collezione dei port per - <filename role="package">www/dillo</filename>, - <filename role="package">www/links</filename>, oppure - <filename role="package">www/w3m</filename>.</para> - - <para>Questa sezione riguarda le seguenti applicazioni:</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Nome dell'applicazione</entry> - - <entry>Livello di risorse necessarie</entry> - - <entry>Installazione dai port</entry> - - <entry>Principali dipendenze</entry> - </row> - </thead> - - <tbody> - <row> - <entry><application>Mozilla</application></entry> - - <entry>pesante</entry> - - <entry>pesante</entry> - - <entry><application>Gtk+</application></entry> - </row> - - <row> - <entry><application>&netscape;</application></entry> - - <entry>pesante</entry> - - <entry>leggero</entry> - - <entry>Compatibilità binaria con Linux</entry> - </row> - - <row> - <entry><application>Opera</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry>Versione FreeBSD e versione per Linux. La - versione per Linux ha come dipendenze la - Compatibilità binaria con Linux e - <application>linux-openmotif</application></entry> - </row> - - <row> - <entry><application>Firefox</application></entry> - - <entry>medio</entry> - - <entry>pesante</entry> - - <entry><application>Gtk+</application></entry> - </row> - - <row> - <entry><application>Konqueror</application></entry> - - <entry>medio</entry> - - <entry>pesante</entry> - - <entry>Librerie <application>KDE</application></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <sect2> - <title>Mozilla</title> - - <indexterm> - <primary><application>Mozilla</application></primary> - </indexterm> - - <para><application>Mozilla</application> è probabilmente il browser - più indicato per il tuo desktop FreeBSD. È moderno, - stabile, e completamente supportato da FreeBSD. Tra le caratteristiche - un motore di visualizzazione di pagine che segue completamente lo - standard HTML. Ha inoltre un lettore di mail e news. Presenta anche un - editor HTML se vuoi comporre della pagine web. Gli utenti di - <application>&netscape;</application> riconosceranno - le somiglianze con la suite <application>Communicator</application> - in quanto basati sullo stesso codice.</para> - - <para>Su macchine lente, con una velocita di CPU minore di 233MHz o con - meno di 64MB di RAM, <application>Mozilla</application> - potrebbe utilizzare troppe risorse per essere eseguito al meglio. - Potresti invece dare un'occhiata al browser - <application>Opera</application> descritto poco più giù - in questo capitolo.</para> - - <para>Se non puoi o non vuoi compilare - <application>Mozilla</application> per qualsiasi ragione, il FreeBSD - GNOME team l'ha già fatto per te. Devi solo installare - il pacchetto dalla rete con:</para> - - <screen>&prompt.root; <userinput>pkg_add -r mozilla</userinput></screen> - - <para>Se il pacchetto non è disponibile, e hai abbastanza tempo - e spazio su disco, puoi prelevare i sorgenti di - <application>Mozilla</application>, compilarli e installarli - sul tuo sistema. Questo può essere fatto con:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/www/mozilla</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <para>Puoi assicurarti una corretta inizializzazione del port di - <application>Mozilla</application> attraverso l'esecuzione dell'utility - chrome registry setup con i privilegi di <username>root</username>. In - ogni caso se vuoi prelevare alcuni add-ons come ad esempio gestori del - mouse, dovresti eseguire <application>Mozilla</application> come - <username>root</username> per installarli correttamente.</para> - - <para>Una volta completata l'installazione di - <application>Mozilla</application>, non necessiti di essere ancora - <username>root</username>. Puoi avviare - <application>Mozilla</application> come browser digitando:</para> - - <screen>&prompt.user; <userinput>mozilla</userinput></screen> - - <para>Puoi avviarlo direttamente come lettore di mail e news come - mostrato qui sotto:</para> - - <screen>&prompt.user; <userinput>mozilla -mail</userinput></screen> - </sect2> - - <sect2 id="moz-java-flash"> - <sect2info> - <authorgroup> - <author> - <firstname>Tom</firstname> - - <surname>Rhodes</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Mozilla, &java;, e ¯omedia; &flash;</title> - - <para>Installare <application>Mozilla</application> è semplice, ma - sfortunatamente installare <application>Mozilla</application> con il - supporto per add-on come &java; e ¯omedia; &flash; - consuma sia spazio su disco che tempo.</para> - - <para>La prima cosa da fare è scaricare i files che verranno usati - poi con <application>Mozilla</application>. Raggiungi con il tuo - browser la pagina presente al seguente link <ulink - url="http://www.sun.com/software/java2/download.html"></ulink> - e creati un account sul loro sito. Ricordati di salvare il nome utente - e la password visto che potresti averne bisogno in fututo. Scarica - una copia del file <filename>j2sdk-1_3_1-src.tar.gz</filename> e salvalo - in <filename>/usr/ports/distfiles/</filename> perchè il port non - è in grado di prelevarlo automaticamente. Questo a causa delle - limitazioni dovute alla licenza. - Nel frattempo scarica il <quote>java environment</quote> da <ulink - url="http://java.sun.com/webapps/download/Display?BundleId=7905"></ulink>. - Il file è <filename>j2sdk-1_3_1_08-linux-i586.bin</filename> - ed è abbastanza grande (circa 25 megabyte!). Esattamente come - prima, questo file deve essere salvato in - <filename>/usr/ports/distfiles/</filename>. Alla fine scarica - una copia del <quote>java patchkit</quote> da <ulink - url="http://www.eyesbeyond.com/freebsddom/java/"></ulink> e salvalo - nella directory <filename>/usr/ports/distfiles/</filename>.</para> - - <para>Installiamo il port <filename role="package">java/jdk13</filename> - con il classico <command>make install clean</command> e dopo - installiamo il port <filename - role="package">www/flashpluginwrapper</filename>. - Questo port necessita di <filename - role="package">emulators/linux_base</filename> che è un - port abbastanza grande. Anche se esistono altri plug-in - <application>&flash;</application>, questi hanno dato dei problemi - e non hanno funzionato da me.</para> - - <para>Installa il port <filename role="package">www/mozilla</filename>, - se <application>Mozilla</application> non è ancora - installato.</para> - - <para>Ora copiamo il plug-in <application>&flash;</application> - con:</para> - - <screen>&prompt.root; <userinput>cp /usr/local/lib/flash/libflashplayer.so \ - /usr/X11R6/lib/browser_plugins/libflashplayer_linux.so</userinput></screen> - - <screen>&prompt.root; <userinput>cp /usr/local/lib/flash/ShockwaveFlash.class \ - /usr/X11R6/lib/browser_plugins/</userinput></screen> - - <para>Ora aggiungere le seguenti righe all'inizio (ma ovviamante sotto - <literal>#!/bin/sh</literal>) dello script di avvio di - <application>Mozilla</application>: - <filename>/usr/X11R6/bin/mozilla</filename>.</para> - - <programlisting>LD_PRELOAD=/usr/local/lib/libflashplayer.so.1 -export LD_PRELOAD</programlisting> - - <para>Questo farà funzionare il plug-in di - <application>&flash;</application>.</para> - - <para>Ora avvia <application>Mozilla</application> solo con:</para> - - <screen>&prompt.user; <userinput>mozilla &</userinput></screen> - - <para>Aprire il menu di opzioni <guimenuitem>About Plug-ins</guimenuitem> - dal menù <guimenu>Help</guimenu>. Una lista con tutte i plug-in - disponibili dovrebbe apparire. <application>&java;</application> e - <application>&shockwave; &flash;</application> dovrebbero essere - elencate.</para> - </sect2> - - <sect2> - <title>&netscape;</title> - - <indexterm> - <primary><application>Netscape</application></primary> - </indexterm> - - <para>Nella collezione dei port sono presenti diverse versioni - del browser &netscape;. Sin dalla prima versione scritta per FreeBSD - &netscape; contiene un grave bug di sicurezza, è fortemente - scoraggiata l'installazione. Invece, puoi usare una versione più - recente per Linux o per DIGITAL UNIX.</para> - - <para>L'ultima release stabile del browser &netscape; è - <application>&netscape; 7</application>. Questa può essere - installata dalla collezione dei port con:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/www/netscape7</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <para>Ci sono delle versioni localizzate nelle categorie French, German, e - Japanese.</para> - - <caution> - <para>Le versioni <application>&netscape; 4.x</application> non sono - raccomandate perchè non sono conformi agli standard attuali. - Tuttavia, <application>&netscape; 7.x</application> - e le altre versioni più recenti sono disponibili solo per - architetture i386.</para> - </caution> - </sect2> - - <sect2> - <title>Opera</title> - - <indexterm> - <primary><application>Opera</application></primary> - </indexterm> - - <para><application>Opera</application> è un browser molto veloce, - pieno di funzionalità, e basato sugli standard attuali. È - disponibile in due versioni: una <quote>nativa</quote> per FreeBSD - e una che gira sotto emulazione Linux. - Per tutte e due i casi È disponibile una versione gratuita che - visualizza banner pubblicitari e una che è a pagamento. - Puoi comprare una versione senza avvisi pubblicitari - dal <ulink url="http://www.opera.com">sito web di Opera</ulink>. - Questa è una release per Linux ma gira senza - problemi anche sotto FreeBSD.</para> - - <para>Per navigare nel web con la versione per FreeBSD di - <application>Opera</application>, installa il package:</para> - - <screen>&prompt.root; <userinput>pkg_add -r opera</userinput></screen> - - <para>Alcuni siti FTP non hanno tutti i pacchetti, ma è possibile - ottenere lo stesso risultato con la collezione dei port - digitando:</para> - - <screen>&prompt.root; <userinput>cd /usr/port/www/opera</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <para>Per installare la versione Linux di - <application>Opera</application>, sustituire - <literal>linux-opera</literal> al posto di - <literal>opera</literal> nell'esempio sopra. La versione Linux - È utile in situazioni che richiedono l'uso di plug-ins - che sono disponibili solo per Linux, come ad esempio <application>Adobe - &acrobat.reader;</application>. In tutti gli altri casi, le versioni - per FreeBSD e Linux funzioneranno esattamente alla stessa - maniera.</para> - </sect2> - - <sect2> - <title>Firefox</title> - - <indexterm> - <primary><application>Firefox</application></primary> - </indexterm> - - <para><application>Firefox</application> è il browser di nuova - generazione basato sul codice di <application>Mozilla</application>. - <application>Mozilla</application> è una suite completa di - applicazioni, inclusi un browser, un client di posta elettronica, un - client per chat e altro ancora. <application>Firefox</application> - è solo un browser, piccolo e veloce.</para> - - <para>Installa il package con:</para> - - <screen>&prompt.root; <userinput>pkg_add -r firefox</userinput></screen> - - <para>Inoltre puoi usare la collezione dei port se preferisci compilare - il codice sorgente:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/www/firefox</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - - <sect2> - <title>Konqueror</title> - - <indexterm> - <primary><application>Konqueror</application></primary> - </indexterm> - - <para><application>Konqueror</application> fa parte di - <application>KDE</application> ma è anche possibile usarlo senza - <application>KDE</application> installando - <filename role="package">x11/kdebase3</filename>. - <application>Konqueror</application> è molto più che - un browser, è anche un file manager e un lettore - multimediale.</para> - - <para>Inoltre <application>Konqueror</application> ha alcuni plugin, - disponibili in <filename - role="package">misc/konq-plugins</filename>.</para> - - <para><application>Konqueror</application> supporta - <application>&flash;</application> e un How To - è disponibile al link <ulink - url="http://freebsd.kde.org/howto.php"></ulink>.</para> - </sect2> - </sect1> - - <sect1 id="desktop-productivity"> - <title>Produttività</title> - - <para>Quando si parla di produttività, i nuovi utenti spesso cercano - un buon pacchetto office o un facile e completo editor di testi. - Non ci sono applicativi di default, mentre alcuni - <link linkend="x11-wm">ambienti desktop</link> come - <application>KDE</application> sono muniti di un pacchetto office. - FreeBSD dispone di tutto ciò di cui hai necessità - indipendentemente dal tuo ambiente desktop.</para> - - <para>Questa sezione riguarda le seguenti applicazioni:</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Nome dell'applicazione</entry> - - <entry>Livello di risorse necessarie</entry> - - <entry>Installazione dai port</entry> - - <entry>Principali dipendenze</entry> - </row> - </thead> - - <tbody> - <row> - <entry><application>KOffice</application></entry> - - <entry>leggero</entry> - - <entry>pesante</entry> - - <entry><application>KDE</application></entry> - </row> - - <row> - <entry><application>AbiWord</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry><application>Gtk+</application> o - <application>GNOME</application></entry> - </row> - - <row> - <entry><application>The Gimp</application></entry> - - <entry>leggero</entry> - - <entry>pesante</entry> - - <entry><application>Gtk+</application></entry> - </row> - - <row> - <entry><application>OpenOffice.org</application></entry> - - <entry>pesante</entry> - - <entry>molto pesante</entry> - - <entry><application>GCC 3.1</application>, - <application>&jdk; 1.3</application>, - <application>Mozilla</application></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <sect2> - <title>KOffice</title> - - <indexterm> - <primary><application>KOffice</application></primary> - </indexterm> - <indexterm> - <primary>suite per ufficio</primary> - <secondary><application>KOffice</application></secondary> - </indexterm> - - <para>La comunità KDE distribuisce il suo ambiente desktop - insieme a un pacchetto office che può essere usato all'esterno - dell'ambiente <application>KDE</application>. Questo include le 4 - principali componenti che sono presenti nelle altre principale suite di - office. - <application>KWord</application> è l'editor di testi, - <application>KSpread</application> è il foglio di calcolo - elettronico, <application>KPresenter</application> gestisce - presentazioni a slide e <application>Kontour</application> ti permette - di disegnare documenti grafici.</para> - - <para>Prima di installare l'ultima release di - <application>KOffice</application>, assicurati di avere una - versione aggiornata di <application>KDE</application>.</para> - - <para>Per installare <application>KOffice</application> come - pacchetto, inserisci il seguente comando:</para> - - <screen>&prompt.root; <userinput>pkg_add -r koffice</userinput></screen> - - <para>se il pacchetto non è disponibile puoi usare la collezione - dei ports. Per esempio, per installare - <application>KOffice</application> per - <application>KDE3</application>, fai:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/editors/koffice-kde3</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - - <sect2> - <title>AbiWord</title> - - <indexterm> - <primary><application>AbiWord</application></primary> - </indexterm> - - <para><application>AbiWord</application> è un editor di testi - gratuito simile in aspetto e non solo a <application>µsoft; - Word</application>. - È adatto per la digitazione di documenti, lettere, reports, - appunti e così via. È molto veloce, contiene molte - funzioni, ed è molto facile da usare.</para> - - <para><application>AbiWord</application> può importare ed esportare - file di molti tipi, compreso alcuni formati proprietari come - Microsoft <filename>.doc</filename>.</para> - - <para><application>AbiWord</application> è disponibile come - package. Puoi installarlo digitando:</para> - - <screen>&prompt.root; <userinput>pkg_add -r AbiWord2</userinput></screen> - - <para>Se il pacchetto non è disponibile puoi recuperarlo dalla - collezione dei port. La collezione dei port dovrebbe essere molto - più aggiornata. Puoi fare come segue:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/editors/AbiWord2</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - - <sect2> - <title>The GIMP</title> - - <indexterm> - <primary><application>The GIMP</application></primary> - </indexterm> - - <para>Per il disegno o il ritocco delle immagini, - <application>The GIMP</application> è un programa di - manipolazione immagini molto sofisticato. - Può essere usato come un semplice - programma di disegno o come un programma di fotoritocco professionale. - Supporta un grande numero di plug-in, funzioni e un'interfaccia di - scripting. - <application>The GIMP</application> può leggere e scrivere - una enorme quantità di formati di file. - Supporto di interfacce per scanner o tavolette.</para> - - <para>Puoi installare il pacchetto inserendo il seguente - comando:</para> - - <screen>&prompt.root; <userinput>pkg_add -r gimp</userinput></screen> - - <para>Se il tuo sito FTP non ha il pacchetto, puoi usare - la collezione dei ports. La directory - <ulink url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink> - della collezione dei ports contiene anche - <application>The Gimp Manual</application>. - È riportato qui di seguito come installarli:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gimp1</userinput> -&prompt.root; <userinput>make install clean</userinput> -&prompt.root; <userinput>cd /usr/ports/graphics/gimp-manual-pdf</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <note> - <para>La directory<ulink - url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink> - della collezione dei ports contiene la versione development - di <application>The GIMP</application> in - <filename role="package">graphics/gimp-devel</filename>. - Le versioni in formato HTML e &postscript; di - <application>The Gimp Manual</application> sono in - <filename role="package">graphics/gimp-manual-html</filename> e - <filename role="package">graphics/gimp-manual-ps</filename>.</para> - </note> - </sect2> - - <sect2> - <title>OpenOffice.org</title> - - <indexterm> - <primary><application>OpenOffice.org</application></primary> - </indexterm> - <indexterm> - <primary>suite per ufficio</primary> - <secondary><application>OpenOffice.org</application></secondary> - </indexterm> - - <para><application>OpenOffice.org</application> unisce tutte - le applicazioni necessarie in un completo pacchetto office di - produttività personale: un editor di testi, un foglio di calcolo, - un software per le presentazioni e uno di disegno. La sua interfaccia - utente è molto simile alle altre suiti di office, può - inoltre importare ed esportare file in diversi popolari formati. - È disponibile in un gran numero di differenti lingue comprendenti - interfaccia, correttore ortografico, e dizionario.</para> - - <para>L'editor di testi di - <application>OpenOffice.org</application> usa come formato di file - nativo il formato XML per incrementare la portabilità e la - flessibilità. Il foglio di calcolo elettronico incorpora un - linguaggio per le macro che può essere interfacciato con - un database esterno. - <application>OpenOffice.org</application> è stabile e - e gira nativamente sotto &windows;, &solaris;, Linux, FreeBSD, e - &macos; X. Altre informazioni riguardo - <application>OpenOffice.org</application> possono essere trovate sul - <ulink url="http://www.openoffice.org/">sito web di OpenOffice</ulink>. - Per informazioni specifiche su FreeBSD, e per scaricare direttamente i - package usa il sito web del <ulink - url="http://projects.imp.ch/openoffice/">FreeBSD OpenOffice Porting - Team</ulink>.</para> - - <para>Per installare <application>OpenOffice.org</application>, - do:</para> - - <screen>&prompt.root; <userinput>pkg_add -r openoffice</userinput></screen> - - <para>Una volta installato il pacchetto, devi avviare il programma di - setup e scegliere una <option>standard workstation - installation</option>. - Eseguire questo comando come utente che userà OpenOffice.org - <application>OpenOffice.org</application>:</para> - - <screen>&prompt.user; <userinput>openoffice-setup</userinput></screen> - - <para>Se il pacchetto <application>OpenOffice.org</application> - non è disponibile hai ancora la possibilità di compilare il - port. Come sempre, devi tenere presente che necessiterai di molto spazio - nel tuo hard disk e di molto tempo per la compilazione.</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <para>Una volta installato il pacchetto, devi avviare il programma di - setup di <application>OpenOffice.org</application> e scegliere - <option>standard workstation installation </option> con:</para> - - <screen>&prompt.user; <userinput>cd /usr/ports/editors/openoffice</userinput> -&prompt.user; <userinput>make install-user</userinput></screen> - - <para>Se vuoi usare una versione in una lingua differente qui di seguito - sono presenti i ports disponibili:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1*"> - <colspec colwidth="2*"> - - <thead> - <row> - <entry>Lingua</entry> - - <entry>Port</entry> - </row> - </thead> - - <tbody> - <row> - <entry>Arabo</entry> - - <entry><filename - role="package">editors/openoffice-ar</filename></entry> - </row> - - <row> - <entry>Coreano</entry> - - <entry><filename - role="package">korean/openoffice</filename></entry> - </row> - - <row> - <entry>Danese</entry> - - <entry><filename - role="package">editors/openoffice-dk</filename></entry> - </row> - - <row> - <entry>Francese</entry> - - <entry><filename - role="package">french/openoffice</filename></entry> - </row> - - <row> - <entry>Giapponese</entry> - - <entry><filename - role="package">japanese/openoffice</filename></entry> - </row> - - <row> - <entry>Greco</entry> - - <entry><filename - role="package">editors/openoffice-gr</filename></entry> - </row> - - <row> - <entry>Italiano</entry> - - <entry><filename - role="package">editors/openoffice-it</filename></entry> - </row> - - <row> - <entry>Olandese</entry> - - <entry><filename - role="package">editors/openoffice-nl</filename></entry> - </row> - - <row> - <entry>Polacco</entry> - - <entry><filename - role="package">polish/openoffice</filename></entry> - </row> - - <row> - <entry>Portoghese</entry> - - <entry><filename - role="package">portuguese/openoffice</filename></entry> - </row> - - <row> - <entry>Russo</entry> - - <entry><filename - role="package">russian/openoffice</filename></entry> - </row> - - <row> - <entry>Spagnolo</entry> - - <entry><filename - role="package">editors/openoffice-es</filename></entry> - </row> - - <row> - <entry>Svedese</entry> - - <entry><filename - role="package">editors/openoffice-se</filename></entry> - </row> - - <row> - <entry>Tedesco</entry> - - <entry><filename - role="package">german/openoffice</filename></entry> - </row> - - <row> - <entry>Turco</entry> - - <entry><filename - role="package">editors/openoffice-tr</filename></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - </sect1> - - <sect1 id="desktop-viewers"> - <title>Document viewers</title> - - <para>Alcuni nuovi formati di documenti hanno recentemente guadagnato - popolarità. I visualizzatori standard che richiedono potrebbero - non essere inclusi nel sistema base. Vedremo come installarli in questa - sezione.</para> - - <para>Questa sezione riguarda le seguenti applicazioni:</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Nome dell'applicazone</entry> - - <entry>Livello di risorse necessarie</entry> - - <entry>Installazione dai ports</entry> - - <entry>Maggiori dipendenze</entry> - </row> - </thead> - - <tbody> - <row> - <entry><application>&acrobat.reader;</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry>Supporto per la compatibilità per i binari - Linux</entry> - </row> - - <row> - <entry><application>gv</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry><application>Xaw3d</application></entry> - </row> - - <row> - <entry><application>Xpdf</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry><application>FreeType</application></entry> - </row> - - <row> - <entry><application>GQview</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry><application>Gtk+</application> o - <application>GNOME</application></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <sect2> - <title>&acrobat.reader;</title> - - <indexterm> - <primary><application>Acrobat Reader</application></primary> - </indexterm> - <indexterm> - <primary>PDF</primary> - <secondary>visualizzatore</secondary> - </indexterm> - - <para>Molti documenti sono ora distribuiti come documenti in PDF, - che stà per <quote>Portable Document Format</quote>. Uno - dei visualizzatori raccomandati per files di questo tipo è - <application>&acrobat.reader;</application>, rilasciato da Adobe - per Linux. Visto che FreeBSD può eseguire binari per Linux, - è disponibile anche per FreeBSD.</para> - - <para>Per installare il pacchetto <application>&acrobat.reader; - 5</application> fare:</para> - - <screen>&prompt.root; <userinput>pkg_add -r acroread5</userinput></screen> - - <para>Come sempre se il pacchetto non è disponibilie o se vuoi - l'ultima versione, anche puoi utilizzare la collezione dei - ports:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/print/acroread5</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <note> - <para><application>&acrobat.reader;</application> è - disponibile in molte versioni differenti. Al momento della scrittura - di questo documento, sono presenti: - <filename role="package">print/acroread</filename> (versione 3.0.2), - <filename role="package">print/acroread4</filename> (versione 4.0.5), - e <filename role="package">print/acroread5</filename> (versione - 5.0.6). - Potrebbero non essere disponibili tutti i pacchetti per la tua - versione di FreeBSD. La collezione dei port conterrà in ogni - caso l'ultima versione.</para> - </note> - </sect2> - - <sect2> - <title>gv</title> - - <indexterm> - <primary><application>gv</application></primary> - </indexterm> - <indexterm> - <primary>PDF</primary> - <secondary>visualizzatore</secondary> - </indexterm> - <indexterm> - <primary>PostScript</primary> - <secondary>visualizzatore</secondary> - </indexterm> - - <para><application>gv</application> è un visualizzatore per file - &postscript; e PDF. Era origibariamente basato su - <application>ghostview</application> ma ha un look più gradevole - grazie alle librerie <application>Xaw3d</application>. È - veloce e l'interfaccia è pulita. <application>gv</application> - ha molte funzioni come: orientamento, dimensione del foglio, scala, - o antialias. Molte possono essere esuguite sia dalla tastiera che dal - mouse.</para> - - <para>Per installare <application>gv</application> come un pacchetto, - fare:</para> - - <screen>&prompt.root; <userinput>pkg_add -r gv</userinput></screen> - - <para>Se non puoi ricevere il pacchetto puoi utilizzare la collezione - dei ports:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/print/gv</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - - <sect2> - <title>Xpdf</title> - - <indexterm> - <primary><application>Xpdf</application></primary> - </indexterm> - <indexterm> - <primary>PDF</primary> - <secondary>visualizzatore</secondary> - </indexterm> - - <para>Se vuoi un piccolo visualizzatore di PDF per FreeBSD, - <application>Xpdf</application> è un leggero ed - efficente visualizzatore. Ha bisogno di veramente poche risorse ed - è molto stabile. Usa i font standard di X e non ha bisogno di - <application>&motif;</application> o di altri toolkit di X.</para> - - <para>Per installare il pacchetto <application>Xpdf</application> - inserire questo comando:</para> - - <screen>&prompt.root; <userinput>pkg_add -r xpdf</userinput></screen> - - <para>Se il pacchetto non è disponibile o preferisci usare - la collezione dei ports fai:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/graphics/xpdf</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <para>Una volta completata l'installazione, puoi avviare - <application>Xpdf</application> e puoi usare il tasto destro del mouse - per visualizzare il menù.</para> - </sect2> - - <sect2> - <title>GQview</title> - - <indexterm> - <primary><application>GQview</application></primary> - </indexterm> - - <para><application>GQview</application> è un manager di immagini. - Puoi visualizzare un file con un solo click, avviare un editor esterno, - visualizzare l'anteprima e molto altro. Consente inoltre - di visualizzare l'anteprima delle immagini come diapositive. Puoi - gestire le tue collezioni di immagini e trovare facilmente i duplicati. - <application>GQview</application> può lavorare in modalità - full-screen e ha il supporto internazionale.</para> - - <para>Se vuoi installare il pacchetto - <application>GQview</application>fai:</para> - - <screen>&prompt.root; <userinput>pkg_add -r gqview</userinput></screen> - - <para>Se il pacchetto non è disponibile o preferisci usare la - collezione di port fai:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gqview</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - </sect1> - - <sect1 id="desktop-finance"> - <title>Bilancio</title> - - <para>Se per qualsiasi ragione vorresti gestire il tuo bilancio - personale sul tuo desktop FreeBSD, ci sono alcune applicazioni potenti e - facili da usare pronti per essere installati. Alcuni di questi sono - compatibili con i formati di file più utilizzati come ad esempio - i documenti di <application><trademark - class="registered">Quicken</trademark></application> o - <application>Excel</application>.</para> - - <para>Questa sezione riguarda le seguenti applicazioni:</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Nome dell'applicazione</entry> - - <entry>Livello di risorse necessarie</entry> - - <entry>Installazione dai ports</entry> - - <entry>Maggiori dipendenze</entry> - </row> - </thead> - - <tbody> - <row> - <entry><application>GnuCash</application></entry> - - <entry>leggero</entry> - - <entry>pesante</entry> - - <entry><application>GNOME</application></entry> - </row> - - <row> - <entry><application>Gnumeric</application></entry> - - <entry>leggero</entry> - - <entry>pesante</entry> - - <entry><application>GNOME</application></entry> - </row> - - <row> - <entry><application>Abacus</application></entry> - - <entry>leggero</entry> - - <entry>leggero</entry> - - <entry><application>Tcl/Tk</application></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <sect2> - <title>GnuCash</title> - - <indexterm> - <primary><application>GnuCash</application></primary> - </indexterm> - - <para><application>GnuCash</application> è prodotto dagli sforzi da - parte degli sviluppatori di <application>GNOME</application> per - mettere a disposizione degli utenti finali applicazioni facili da - usare e potenti. Con <application>GnuCash</application>, puoi - tenere traccie delle tue spese e dei tuoi guadagni, del conto - bancario, o della tua attività. Dispone di una interfaccia - intuitiva pur rimanendo molto professionale.</para> - - <para><application>GnuCash</application> Dispone di un ottimo - registro, un sistema di accounts gerarchico, molte combinazioni di - scelta rapida e tecniche di autocompletamento. Può dividere - una transazione singola in molte parti più dettagliate. - <application>GnuCash</application> può importare e unire - i file QIF di <application>Quicken</application>. Gestisce inoltre - diversi formati esteri di valuta e data.</para> - - <para>Per installare <application>GnuCash</application> nel tuo - sistema, fai:</para> - - <screen>&prompt.root; <userinput>pkg_add -r gnucash</userinput></screen> - - <para>Se il pacchetto non è disponibile, puoi usare la - collezione dei ports:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/finance/gnucash</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - - <sect2> - <title>Gnumeric</title> - - <indexterm> - <primary><application>Gnumeric</application></primary> - </indexterm> - <indexterm> - <primary>foglio di calcolo</primary> - <secondary><application>Gnumeric</application></secondary> - </indexterm> - - <para><application>Gnumeric</application> è un foglio di calcolo - elettronico, fa parte dell'ambiente desktop - <application>GNOME</application>. - Dispone di molti automatismi utili, <quote>aucompletamento</quote> - in base al formato della cella e un sistema di formattazione automatica - per molte operazioni. Può esportare i files in un gran numero di - formati popolari come quelli di <application>Excel</application>, - <application>Lotus 1-2-3</application>, o <application>Quattro - Pro</application>. - <application>Gnumeric</application> supporta l'utilizzo di grafici - attraverso il programma di grafica <filename - role="package">math/guppi</filename>. - Ha un gran numero di funzioni e permette l'utilizzo di celle formattate - come ad esempio nel formato data, valuta, numero, ora, e molti - altri.</para> - - <para>Per installare <application>Gnumeric</application> come un - un pacchetto, digitare:</para> - - <screen>&prompt.root; <userinput>pkg_add -r gnumeric</userinput></screen> - - <para>Se il pacchetto non risulta disponibile puoi usare la collezione - dei ports con:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - - <sect2> - <title>Abacus</title> - - <indexterm> - <primary><application>Abacus</application></primary> - </indexterm> - <indexterm> - <primary>foglio di calcolo</primary> - <secondary><application>Abacus</application></secondary> - </indexterm> - - <para><application>Abacus</application> è un foglio di calcolo - leggero e facile da usare. Include molte funzioni utili - in molti campi diversi come ad esempio in statistica, finanza, e - matematica. Può importare ed esportare i file in formato - <application>Excel</application>. <application>Abacus</application> - può esportare anche in formato &postscript;.</para> - - <para>Per installare <application>Abacus</application> dal pacchetto - digitare:</para> - - <screen>&prompt.root; <userinput>pkg_add -r abacus</userinput></screen> - - <para>Se il pacchetto non è disponibile puoi utilizzare la - collezione dei ports digitando:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/deskutils/abacus</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - </sect2> - </sect1> - - <sect1 id="desktop-summary"> - <title>Sommario</title> - - <para>Anche se FreeBSD è molto popolare tra gli ISP per le sue - performance e la sua stabilità, FreeBSD è completamente - pronto ad essere usato come desktop per l'utilizzo quotidiano. - Con diverse migliaia di applicazioni disponibili sotto forma di - <ulink url="http://www.FreeBSD.org/where.html">pacchetti</ulink> o - <ulink url="http://www.FreeBSD.org/ports/index.html">ports</ulink>, - puoi avere un desktop perfetto che soddisfi tutte le tue - necessità.</para> - - <para>Una volta completata l'installazione del tuo desktop, potresti - volere fare un passo in più con - <filename role="package">misc/instant-workstation</filename>. - Questo <quote>meta-port</quote> ti permette di creare un insieme tipico di - di ports per una workstation. Puoi personalizzarlo editando il file - <filename>/usr/ports/misc/instant-workstation/Makefile</filename>. - Segui la sintassi di default per aggiungere o rimuovere - ports, e poi utilizza la procedura indicata per creare l'insieme. - Così facendo sarai capace di creare un grosso pacchetto che - corrisponde al tuo desktop personale e di installarlo nelle altre - workstation!</para> - - <para>Qui di seguito un piccolo riassunto delle applicazioni trattate - in questo capitolo:</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Nome dell'applicazione</entry> - - <entry>Nome del pacchetto</entry> - - <entry>Nome del ports</entry> - </row> - </thead> - - <tbody> - <row> - <entry><application>Mozilla</application></entry> - - <entry><literal>mozilla</literal></entry> - - <entry><filename role="package">www/mozilla</filename></entry> - </row> - - <row> - <entry><application>&netscape;</application></entry> - - <entry><literal>linux-netscape7</literal></entry> - - <entry><filename - role="package">www/linux-netscape7</filename></entry> - </row> - - <row> - <entry><application>Opera</application></entry> - - <entry><literal>linux-opera</literal></entry> - - <entry><filename role="package">www/linux-opera</filename></entry> - </row> - - <row> - <entry><application>Firefox</application></entry> - - <entry><literal>firefox</literal></entry> - - <entry><filename role="package">www/firefox</filename></entry> - </row> - - <row> - <entry><application>KOffice</application></entry> - - <entry><literal>koffice-kde3</literal></entry> - - <entry><filename - role="package">editors/koffice-kde3</filename></entry> - </row> - - <row> - <entry><application>AbiWord</application></entry> - - <entry><literal>AbiWord-gnome</literal></entry> - - <entry><filename role="package">editors/AbiWord</filename></entry> - </row> - - <row> - <entry><application>The GIMP</application></entry> - - <entry><literal>gimp</literal></entry> - - <entry><filename role="package">graphics/gimp1</filename></entry> - </row> - - <row> - <entry><application>OpenOffice.org</application></entry> - - <entry><literal>openoffice</literal></entry> - - <entry><filename - role="package">editors/openoffice</filename></entry> - </row> - - <row> - <entry><application>&acrobat.reader;</application></entry> - - <entry><literal>acroread5</literal></entry> - - <entry><filename role="package">print/acroread5</filename></entry> - </row> - - <row> - <entry><application>gv</application></entry> - - <entry><literal>gv</literal></entry> - - <entry><filename role="package">print/gv</filename></entry> - </row> - - <row> - <entry><application>Xpdf</application></entry> - - <entry><literal>xpdf</literal></entry> - - <entry><filename role="package">graphics/xpdf</filename></entry> - </row> - - <row> - <entry><application>GQview</application></entry> - - <entry><literal>gqview</literal></entry> - - <entry><filename role="package">graphics/gqview</filename></entry> - </row> - - <row> - <entry><application>GnuCash</application></entry> - - <entry><literal>gnucash</literal></entry> - - <entry><filename role="package">finance/gnucash</filename></entry> - </row> - - <row> - <entry><application>Gnumeric</application></entry> - - <entry><literal>gnumeric</literal></entry> - - <entry><filename role="package">math/gnumeric</filename></entry> - </row> - - <row> - <entry><application>Abacus</application></entry> - - <entry><literal>abacus</literal></entry> - - <entry><filename role="package">deskutils/abacus</filename></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/disks/Makefile b/it_IT.ISO8859-15/books/handbook/disks/Makefile deleted file mode 100644 index e2e1d27c62..0000000000 --- a/it_IT.ISO8859-15/books/handbook/disks/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= disks/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/disks/chapter.sgml b/it_IT.ISO8859-15/books/handbook/disks/chapter.sgml deleted file mode 100644 index bc881c59ab..0000000000 --- a/it_IT.ISO8859-15/books/handbook/disks/chapter.sgml +++ /dev/null @@ -1,108 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="disks"> - <title>Archiviazione dei Dati</title> - - <sect1 id="disks-synopsis"> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="disks-naming"> - <title>Device Names</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="disks-adding"> - <title>Adding Disks</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="raid"> - <title>RAID</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="creating-cds"> - <title>Creating and Using Optical Media (CDs & DVDs)</title> - - <sect2 id="burncd"> - <title>burncd</title> - - <para>Traduzione in corso</para> - </sect2> - - <sect2 id="cdrecord"> - <title>cdrecord</title> - - <para>Traduzione in corso</para> - </sect2> - - <sect2 id="duplicating-audiocds"> - <title>Duplicating Audio CDs</title> - - <para>Traduzione in corso</para> - </sect2> - </sect1> - - <sect1 id="floppies"> - <title>Creating and Using Floppy Disks</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="backups-tapebackups"> - <title>Creating and Using Data Tapes</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="backups-floppybackups"> - <title>Backups to Floppies</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="backup-basics"> - <title>Backup Basics</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="disks-virtual"> - <title>Network, Memory, and File-Based File Systems</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="snapshots"> - <title>File System Snapshots</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="quotas"> - <title>File System Quotas</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/eresources/Makefile b/it_IT.ISO8859-15/books/handbook/eresources/Makefile deleted file mode 100644 index d9d20d6036..0000000000 --- a/it_IT.ISO8859-15/books/handbook/eresources/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= eresources/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml b/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml deleted file mode 100644 index b30d4303d6..0000000000 --- a/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml +++ /dev/null @@ -1,1760 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.148 ---> - -<appendix id="eresources"> - <title>Risorse su Internet</title> - - <para>Il rapido sviluppo di FreeBSD rende la carta stampata un mezzo non - pratico per poterne seguire l'evoluzione. Le risorse in rete sono il - migliore, se non l'unico, modo per tenersi informati sulle novità di - questo sistema. - Dal momento che FreeBSD è il prodotto del lavoro di volontari, la - comunità degli utenti generalmente si presta anche ad una funzione di - <quote>supporto tecnico</quote> di varia natura, con l'email e le news - USENET come il mezzo più efficace per entrare in contatto con - queste comunità.</para> - - <para>I più frequentati punti di ritrovo della comunità - FreeBSD sono esposti di seguito. Se aveste conoscenza di altre risorse - non menzionate in questa sede, vi preghiamo di darne informazione a - &a.doc; cosicchè possano essere incluse.</para> - - <sect1 id="eresources-mail"> - <title>Mailing Lists</title> - - <para>Anche se molti sviluppatori di FreeBSD leggono USENET, non può - esservi garanzia di ottenere risposta alle proprie domande in tempi brevi - (e in generale non può esservi garanzia di ottenere alcuna - risposta) semplicemente scrivendo ad uno dei mail-group di - <literal>comp.unix.bsd.freebsd.*</literal>. - Indirizzando i propri messaggi alla mailing list appropriata si - raggiungerà una audience più concentrata ed informata, - permettendo risposte più precise (o quanto meno più - sollecite).</para> - - <para>Gli argomenti delle varie liste sono elencati all'inizio del - documento. <emphasis>Si prega di leggere gli argomenti</emphasis> - prima di unirsi o scrivere ad una lista. La maggior parte dei - sottoscrittori di liste ricevono ogni giorno svariate centinaia di - messaggi, e mantenendo argomenti e regole di comportamento - cerchiamo di tenere alto il rapporto segnale/rumore della lista. Venir - meno a queste regole vorrebbe dire il fallimento della mailing list - come mezzo efficace di comunicazione per il progetto. - Vengono tenuti archivi per tutte le mailing list, e questi possono - essere esplorati usando il <ulink - url="&url.base;/search/index.html">FreeBSD World Wide Web - server</ulink>. L'archivio esplorabile per parole chiave - costituisce un mezzo eccellente per trovare risposte a domande poste di - frequente e dovrebbe essere consultato prima di spedire una - domanda.</para> - - <sect2 id="eresources-summary"> - <title>Sommario delle liste</title> - - <para><emphasis>Liste generiche:</emphasis> Le seguenti sono liste - generiche a cui tutti sono invitati (e incoraggiati) a - partecipare:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Lista</entry> - - <entry>Argomento</entry> - </row> - </thead> - - <tbody> - <row> - <entry>&a.cvsall.name;</entry> - - <entry>Cambiamenti apportati all'albero dei sorgenti di - FreeBSD</entry> - </row> - - <row> - <entry>&a.advocacy.name;</entry> - - <entry>Evangelismo FreeBSD</entry> - </row> - - <row> - <entry>&a.announce.name;</entry> - - <entry>Eventi importanti e annunci di progetti</entry> - </row> - - <row> - <entry>&a.arch.name;</entry> - - <entry>Discussioni sull'architettura ed il design</entry> - </row> - - <row> - <entry>&a.bugbusters.name;</entry> - - <entry>Discussioni incentrate sul mantenimento del database - dei report dei problemi di FreeBSD e progetti correlati</entry> - </row> - - <row> - <entry>&a.bugs.name;</entry> - - <entry>Report sui bug</entry> - </row> - - <row> - <entry>&a.chat.name;</entry> - - <entry>Argomenti non-tecnici di interesse della comunità - FreeBSD</entry> - </row> - - <row> - <entry>&a.config.name;</entry> - - <entry>Sviluppo del processo di installazione e configurazione di - FreeBSD</entry> - </row> - - <row> - <entry>&a.current.name;</entry> - - <entry>Discussioni sull'utilizzo di &os.current;</entry> - </row> - - <row> - <entry>&a.isp.name;</entry> - - <entry>Argomenti di interesse degli Internet Service Providers che - usano FreeBSD</entry> - </row> - - <row> - <entry>&a.jobs.name;</entry> - - <entry>Opportunità di lavoro e consulenza - relative a FreeBSD</entry> - </row> - - <row> - <entry>&a.newbies.name;</entry> - - <entry>Discussioni ed attività dei nuovi utenti - FreeBSD</entry> - </row> - - <row> - <entry>&a.policy.name;</entry> - - <entry>Le decisioni sulla politica da adottare del core degli - sviluppatori FreeBSD. Toni pacati e sola lettura</entry> - </row> - - <row> - <entry>&a.questions.name;</entry> - - <entry>Domande degli utenti e assistenza tecnica</entry> - </row> - - <row> - <entry>&a.security-notifications.name;</entry> - - <entry>Notifiche sulla sicurezza</entry> - </row> - - <row> - <entry>&a.stable.name;</entry> - - <entry>Discussioni sull'uso di &os.stable;</entry> - </row> - - <row> - <entry>&a.test.name;</entry> - - <entry>Dove spedire i tuoi messaggi di test, lasciando in pace - le altre liste</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Liste tecniche:</emphasis> le seguenti liste sono a - carattere tecnico. Dovreste leggere attentamente gli argomenti elencati - di seguito prima di unirvi o spedirvi mail, poichè ci sono - strette linee di condotta per il loro uso ed il loro contenuto.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Lista</entry> - - <entry>Argomento</entry> - </row> - </thead> - - <tbody> - <row> - <entry>&a.acpi.name;</entry> - - <entry>Sviluppo di ACPI e della gestione dell'energia</entry> - </row> - - <row> - <entry>&a.afs.name;</entry> - - <entry>Il porting di AFS su FreeBSD</entry> - </row> - - <row> - <entry>&a.aic7xxx.name;</entry> - - <entry>Sviluppare drivers per &adaptec; AIC 7xxx</entry> - </row> - - <row> - <entry>&a.alpha.name;</entry> - - <entry>Il porting di FreeBSD su Alpha</entry> - </row> - - <row> - <entry>&a.amd64.name;</entry> - - <entry>Il porting di FreeBSD sui sistemi AMD64</entry> - </row> - - <row> - <entry>&a.apache.name;</entry> - - <entry>Discussioni sui port relativi ad - <application>Apache</application></entry> - </row> - - <row> - <entry>&a.arm.name;</entry> - - <entry>Il porting di FreeBSD su processori &arm;</entry> - </row> - - <row> - <entry>&a.atm.name;</entry> - - <entry>Usare reti ATM con FreeBSD</entry> - </row> - - <row> - <entry>&a.audit.name;</entry> - - <entry>Il progetto di audit del codice sorgente</entry> - </row> - - <row> - <entry>&a.binup.name;</entry> - - <entry>Il design e lo sviluppo del sistema di aggiornamento dei - binari</entry> - </row> - - <row> - <entry>&a.cluster.name;</entry> - - <entry>Usare FreeBSD in cluster</entry> - </row> - - <row> - <entry>&a.cvsweb.name;</entry> - - <entry>Il mantenimento di CVSweb</entry> - </row> - - <row> - <entry>&a.database.name;</entry> - - <entry>Discussioni sull'uso e lo sviluppo di database sotto - FreeBSD</entry> - </row> - - <row> - <entry>&a.doc.name;</entry> - - <entry>Creare documenti su FreeBSD</entry> - </row> - - <row> - <entry>&a.emulation.name;</entry> - - <entry>L'emulazione di altri sistemi operativi come - Linux/DOS/&windows;</entry> - </row> - - <row> - <entry>&a.firewire.name;</entry> - - <entry>Discussioni tecniche sui FreeBSD &firewire; - (iLink, IEEE 1394)</entry> - </row> - - <row> - <entry>&a.fs.name;</entry> - - <entry>I file system</entry> - </row> - - <row> - <entry>&a.geom.name;</entry> - - <entry>Discussioni e implementazioni riguardanti GEOM</entry> - </row> - - <row> - <entry>&a.gnome.name;</entry> - - <entry>Il porting di <application>GNOME</application> - e delle applicazioni <application>GNOME</application></entry> - </row> - - <row> - <entry>&a.hackers.name;</entry> - - <entry>Discussioni tecniche generiche</entry> - </row> - - <row> - <entry>&a.hardware.name;</entry> - - <entry>Discussioni tecniche generiche sull'hardware e - FreeBSD</entry> - </row> - - <row> - <entry>&a.i18n.name;</entry> - - <entry>L'internazionalizzazione di FreeBSD</entry> - </row> - - <row> - <entry>&a.ia32.name;</entry> - - <entry>FreeBSD sulla piattaforma IA-32 (&intel; x86)</entry> - </row> - - <row> - <entry>&a.ia64.name;</entry> - - <entry>Il porting di FreeBSD ai futuri sistemi Intel IA64</entry> - </row> - - <row> - <entry>&a.ipfw.name;</entry> - - <entry>Discussioni tecniche sul redesign del codice del - firewall</entry> - </row> - - <row> - <entry>&a.isdn.name;</entry> - - <entry>Sviluppatori ISDN</entry> - </row> - - <row> - <entry>&a.java.name;</entry> - - <entry>Sviluppatori &java; e persone coinvolte nel port - delle &jdk; sotto FreeBSD</entry> - </row> - - <row> - <entry>&a.kde.name;</entry> - - <entry>Il porting di <application>KDE</application> e delle - applicazioni <application>KDE</application></entry> - </row> - - <row> - <entry>&a.lfs.name;</entry> - - <entry>Il porting di LFS sotto FreeBSD</entry> - </row> - - <row> - <entry>&a.libh.name;</entry> - - <entry>Il sistema di installazione e di gestione dei pacchetti - di seconda generazione</entry> - </row> - - <row> - <entry>&a.mips.name;</entry> - - <entry>Il porting di FreeBSD su &mips;</entry> - </row> - - <row> - <entry>&a.mobile.name;</entry> - - <entry>Discussioni sui portatili</entry> - </row> - - <row> - <entry>&a.mozilla.name;</entry> - - <entry>Il porting di <application>Mozilla</application> sotto - FreeBSD</entry> - </row> - - <row> - <entry>&a.multimedia.name;</entry> - - <entry>Applicazioni multimediali</entry> - </row> - - <row> - <entry>&a.newbus.name;</entry> - - <entry>Discussioni tecniche sull'architettura bus</entry> - </row> - - <row> - <entry>&a.net.name;</entry> - - <entry>Discussione sul networking e codice sorgente TCP/IP</entry> - </row> - - <row> - <entry>&a.openoffice.name;</entry> - - <entry>Il porting di <application>OpenOffice.org</application> e - <application>&staroffice;</application> su FreeBSD</entry> - </row> - - <row> - <entry>&a.performance.name;</entry> - - <entry>Questioni relative alla calibrazione delle - prestazioni per installazioni a ad alta performance - o carico elevato</entry> - </row> - - <row> - <entry>&a.perl.name;</entry> - <entry>Mantenimento di un numero di port relativi a - <application>perl</application></entry> - </row> - - <row> - <entry>&a.platforms.name;</entry> - - <entry>Riguardo al porting di FreeBSD su architetture - non Intel</entry> - </row> - - <row> - <entry>&a.ports.name;</entry> - - <entry>Discussione sulla collezione dei port</entry> - </row> - - <row> - <entry>&a.ports-bugs.name;</entry> - - <entry>Discussione sui bug/PR relativi ai port</entry> - </row> - - <row> - <entry>&a.ppc.name;</entry> - - <entry>Il porting di FreeBSD su &powerpc;</entry> - </row> - - <row> - <entry>&a.qa.name;</entry> - - <entry>Discussione su certificati di qualità, solitamente - sotto una release</entry> - </row> - - <row> - <entry>&a.realtime.name;</entry> - - <entry>Sviluppo di estensioni realtime su FreeBSD</entry> - </row> - - <row> - <entry>&a.scsi.name;</entry> - - <entry>Il sottosistema SCSI</entry> - </row> - - <row> - <entry>&a.security.name;</entry> - - <entry>Questioni relative alla sicurezza di FreeBSD</entry> - </row> - - <row> - <entry>&a.small.name;</entry> - - <entry>L'uso di FreeBSD in applicazioni embedded</entry> - </row> - - <row> - <entry>&a.smp.name;</entry> - - <entry>Discussioni di design per sistemi a multiprocessore - [a]simmetrico</entry> - </row> - - <row> - <entry>&a.sparc.name;</entry> - - <entry>Il porting di FreeBSD su architetture &sparc;</entry> - </row> - - <row> - <entry>&a.standards.name;</entry> - - <entry>La coerenza di FreeBSD agli standards C99 e &posix;</entry> - </row> - - <row> - <entry>&a.testing.name;</entry> - - <entry>Test di stabilità e performance di FreeBSD</entry> - </row> - - <row> - <entry>&a.threads.name;</entry> - - <entry>Threading in FreeBSD</entry> - </row> - - <row> - <entry>&a.tokenring.name;</entry> - - <entry>Supporto per il token-ring in FreeBSD</entry> - </row> - - <row> - <entry>&a.vuxml.name;</entry> - - <entry>Discussioni sull'infrastruttura VuXML</entry> - </row> - - <row> - <entry>&a.x11.name;</entry> - - <entry>Mantenimento e supporto di X11 su FreeBSD</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Liste limitate:</emphasis> Le seguenti liste sono adatte - ad un audience più specializzata (ed esigente) e probabilmente - non sono di interesse del pubblico generico. È inoltre buona - norma frequentare le liste tecniche prima di unirsi ad una di queste - liste così da comprendere l'etichetta di comunicazione - richiesta.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Lista</entry> - - <entry>Argomento</entry> - </row> - </thead> - - <tbody> - <row> - <entry>&a.hubs.name;</entry> - - <entry>Per coloro che gestiscono mirrors (supporto - infrastrutturale)</entry> - </row> - - <row> - <entry>&a.usergroups.name;</entry> - - <entry>Coordinamento dei gruppi utenti</entry> - </row> - - <row> - <entry>&a.vendors.name;</entry> - - <entry>Coordinamento dei venditori pre-release</entry> - </row> - - <row> - <entry>&a.www.name;</entry> - - <entry>Coloro che mantengono il sito <ulink - url="&url.base;/it/index.html">www.FreeBSD.org</ulink></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Liste digest:</emphasis> Tutte le liste sopracitate - sono anche consultabili come digest. Una volta iscritto a una lista, - puoi cambiare le tue opzioni digest nella sezione delle opzioni del tuo - account.</para> - - <para><emphasis>Liste CVS:</emphasis> Le liste seguenti sono per le - persone interessate a vedere i messaggi di log delle modifiche alle - varie aree dell'albero dei sorgenti. Sono liste a <emphasis>Sola - Lettura</emphasis> e non si dovrebbero inviare messaggi ad - esse.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Lista</entry> - - <entry>Area dei sorgenti</entry> - - <entry>Descrizione dell'area</entry> - </row> - </thead> - - <tbody> - <row> - <entry>&a.cvsall.name;</entry> - - <entry><filename>/usr/(CVSROOT|doc|ports|projects|src)</filename></entry> - - <entry>Tutte le modifiche in ogni parte dell'albero (unione di - tutte le altre liste di commit cvs)</entry> - </row> - - <row> - <entry>&a.cvs-doc.name;</entry> - - <entry><filename>/usr/(doc|www)</filename></entry> - - <entry>Tutte le modifiche all'albero doc e www</entry> - </row> - - <row> - <entry>&a.cvs-ports.name;</entry> - - <entry><filename>/usr/ports</filename></entry> - - <entry>Tutte le modifiche all'albero ports</entry> - </row> - - <row> - <entry>&a.cvs-projects.name;</entry> - - <entry><filename>/usr/projects</filename></entry> - - <entry>Tutte le modifiche all'albero projects</entry> - </row> - - <row> - <entry>&a.cvs-src.name;</entry> - - <entry><filename>/usr/src</filename></entry> - - <entry>Tutte le modifiche all'albero src</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="eresources-subscribe"> - <title>Come iscriversi</title> - - <para>Per iscriverti ad una lista, clicca sul nome della lista qui sopra - o vai su &a.mailman.lists.link; e clicca sulla lista a cui sei - interessato. La pagina delle liste dovrebbe contenere tutte le - informazioni necessarie all'iscrizione.</para> - - <para>Per mandare un messaggio ad una lista basta inviare - una mail a <<replaceable>listname</replaceable>@FreeBSD.org>. - Sarà poi redisribuita a tutti i membri della lista.</para> - - <para>Per disiscriverti da una lista, clicca sull'URL che trovi in fondo - a ogni email ricevuta dalla lista. È anche possibile inviare - un'email a - <freebsd-<replaceable>listname</replaceable>-unsubscribe@FreeBSD.org> - per disiscriverti.</para> - - <para>A costo di ripeterci, vorremmo che i membri della lista - tecnica tenessero la discussione su un tono tecnico. Se sei solo - interessato ad annunci importanti, allora è preferibile che - ti iscrivi alla &a.announce;, creata apposta per traffico non - frequente.</para> - </sect2> - - <sect2 id="eresources-charters"> - <title>Argomenti delle liste</title> - - <para><emphasis>Tutte</emphasis> le mailing list FreeBSD hanno alcune - regole base che tutti gli utenti devono seguire. La mancata aderenza - a queste regole comporterà due (2) avvisi scritti dal PostMaster - FreeBSD <email>postmaster@FreeBSD.org</email>, dopo dei quali, - ad una terza trasgressione, il membro sarà espulso da tutte - le mailing list di FreeBSD e gli sarà impedita qualsiasi futura - iscrizione. Siamo mortificati del fatto che queste - regole e misure siano necessarie, ma al giorno d'oggi Internet - è diventato, a quanto pare, un'ambiente alquanto disordinato, e - molti paiono scordarsi di quanto siano fragili alcuni suoi - meccanismi.</para> - - <para>Regole della strada:</para> - - <itemizedlist> - <listitem> - <para>L'argomento di ogni messaaggio dovrebbe aderire all'argomento - della lista a cui è inviato, ad esempio se la lista è - a carattere tecnico, i vostri messaggi dovrebbero contenere - discussioni tecniche. - Chiacchiericci continui ed irrilevanti vanno a discapito del valore - della lista per tutti i suoi membri e non saranno tollerati. - Per discussioni libere senza restrizioni sull'argomento, la &a.chat; - è liberamente fruibile e dovrebbe essere usata per - questo.</para> - </listitem> - - <listitem> - <para>Non bisognerebbe scrivere a più di due mailing list, - ed anche a due solo e soltanto se un motivo reale e concreto esiste. - Per molte liste, esiste già un grande traffico di messaggi - che si sovrappongono ed eccetto per i mix più esoterici (ad - esempio <quote>-stable & -scsi</quote>), non c'è alcun - motivo di scrivere a più di una lista alla volta. - Se un messaggio è inviato in modo tale che molte mailing list - appaiono nella linea <literal>Cc</literal>, allora la linea - <literal>Cc</literal> dovrebbe essere suddivisa prima di inviare - nuovi messaggi. <emphasis>Voi siete del tutto responsabili per - i vostri messaggi inviati in modo errato, non importa di chi sia - la causa.</emphasis></para> - </listitem> - - <listitem> - <para>Attacchi personali ed insulti (nel contesto di una discussione) - non sono permessi, e questa regola comprende membri e - sviluppatori. - Gravi violazioni della netiquette, come citare o inviare messaggi - altrui quando il permesso a farlo non c'era e non sarebbe giunto - sono altamente disapprovate ma non sanzionate direttamente. - <emphasis>Comunque</emphasis>, ci sono pochissimi casi in cui - questi messaggi sarebbero pertinenti all'argomento della lista, - quindi tali comportamenti probabilmente otterrebbero un avviso (o - un espulsione) del Postmaster, solo per quel motivo.</para> - </listitem> - - <listitem> - <para>Pubblicità di prodotti non-FreeBSD è altamente - proibita e comportertà un'espulsione immediata - se è chiaro che il trasgressore sta inviando - pubblicità spam.</para> - </listitem> - </itemizedlist> - - <para><emphasis>Argomenti delle singole liste:</emphasis></para> - - <variablelist> - <varlistentry> - <term>&a.acpi.name;</term> - - <listitem> - <para><emphasis>Sviluppo di ACPI e della gestione - dell'energia</emphasis></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.afs.name;</term> - - <listitem> - <para><emphasis>Andrew File System</emphasis></para> - - <para>Questa è la lista per le discussioni sul porting e - l'uso dell' AFS da CMU/Transarc.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.announce.name;</term> - - <listitem> - <para><emphasis>Eventi importanti/pietre miliari</emphasis></para> - - <para>Questa è la mailing list per le persone interessate - soltanto in annunci occasionali di eventi significativi - riguardanti FreeBSD. - Contiene annunci riguardo snapshots e altre release. Contiene - annunci su nuove potenzialità di FreeBSD. Può - contenere richieste di volontari etc. È una mailing list - dal poco traffico, strettamente regolata.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.arch.name;</term> - - <listitem> - <para><emphasis>Discussione sull'architettura e la - progettazione</emphasis></para> - - <para>Questa lista è per la discussione dell'architettura - FreeBSD. - I messaggi saranno mantenuti strettamente tecnici di natura. - Esempi di possibili argomenti:</para> - - <itemizedlist> - <listitem> - <para>Come modificare il processo di build per avere - molti build personalizzati in funzione allo stesso - tempo.</para> - </listitem> - - <listitem> - <para>Cosa deve essere modificato nel VFS per far funzionare i - layers Heimann.</para> - </listitem> - - <listitem> - <para>Come modificare l'interfaccia dei device driver - per poter usare gli stessi driver senza problemi su molti - buses e architetture.</para> - </listitem> - - <listitem> - <para>Come scrivere un driver di rete.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.audit.name;</term> - - <listitem> - <para><emphasis>Progetto di audit del sorgente</emphasis></para> - - <para>Questa è la mailing list per il progetto di audit del - codice FreeBSD. Anche se in origine era intesa per cambiamenti - relativi alla sicurezza, le sue caratteristiche sono state - estese per includere ogni cambiamento al codice.</para> - - <para>Questa lista è piena di discussioni di patch, e - probabilmente di non grandissimo interesse per l'utente medio - FreeBSD. Discussioni sulla sicurezza non relative ad una - particolare modifica del codice si tengono in FreeBSD-security. - Nel frattempo tutti gli svilupatori sono incoraggiati a spedire - le proprie patch a questa lista per correzioni, specialmente se - toccano parte del sistema dove un bug può influenzare - negativamente l'integrità del sistema.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.binup.name;</term> - - <listitem> - <para><emphasis>Aggiornamento dei binari FreeBSD</emphasis></para> - - <para>Questa lista esiste per fornire un terreno di discussione - per il sistema di aggiornamento dei binari, o - <application>binup</application>. - Sono consentite questioni di design, dettagli di implementazione, - patch, report di bug, report di status, richieste di feature, - log delle modifiche, e tutto ciò che riguardi - <application>binup</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.bugbusters.name;</term> - - <listitem> - <para><emphasis>Coordinamento dello sforzo di gestione dei Problem - Report</emphasis></para> - - <para>Lo scopo di questa lista è di servire come forum di - coordinamento e discussione per il Bugmeister, i suoi Bugbuster, - e ogni altra parte che abbia un genuino interesse nel database PR. - Questa lista non è per la discussione di bug specifici, - patch, o PR.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.bugs.name;</term> - - <listitem> - <para><emphasis>Report di bug</emphasis></para> - - <para>Questa è la lista per i report dei bug di FreeBSD. - Quando possibile, i bug dovrebbero essere indicati usando il - comando &man.send-pr.1; o tramite la sua <ulink - url="&url.base;/send-pr.html">interfaccia WEB</ulink>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.chat.name;</term> - - <listitem> - <para><emphasis>Argomenti non tecnici relativi alla comunità - FreeBSD</emphasis></para> - - <para>Questa lista contiene ciò che resta dalle altre liste - riguardo ad informazioni non tecniche, sociali. Include - discussioni sul fatto che Jordan sembri o meno un toon ferret, - se scrivere o meno in maiuscolo, chi sta bevendo troppo - caffè, dove spillano la migliore birra, chi spilla birra - in cantina, e così via. - Annunci occasionali di eventi importanti (party a venire, - celebrazioni di matrimoni, nascite, nuovi lavori etc.) possono - essere fatti alle liste non tecniche, ma i suddetti argomenti - dovrebbero essere diretti a questa lista.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.core.name;</term> - - <listitem> - <para><emphasis>Il core team di FreeBSD</emphasis></para> - - <para>Questa è una lista interna ad uso dei membri core. - Messaggi possono esservi spediti quando una seria questione - relativa a FreeBSD richiede un arbitrato da un alto - scrutinio.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.current.name;</term> - - <listitem> - <para><emphasis>Discussioni sull'uso di - &os.current;</emphasis></para> - - <para>Questa è la mailing list di discussione di - &os.current;. Contiene avvertimenti su nuove features in - arrivo in -CURRENT che toccheranno gli utenti, ed istruzioni su - passi che devono restare -CURRENT. Chiunque usi - <quote>CURRENT</quote> deve sottoscrivere questa lista. - È una mailing list tecnica per la quale ci si attende - materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.cvsweb.name;</term> - - <listitem> - <para><emphasis>Progetto CVSweb di FreeBSD</emphasis></para> - - <para>Discussioni tecniche sull'uso, sviluppo e mantenimento di - FreeBSD-CVSweb</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.doc.name;</term> - - <listitem> - <para><emphasis>Progetto di documentazione</emphasis></para> - - <para>Questa mailing list è per la discussione di argomenti - e progetti riguardanti la creazione della documentazione - FreeBSD. I membri di questa mailing list sono noti in genere come - <quote>The FreeBSD Documentation Project</quote>. È una - lista aperta, sentitevi liberi di unirla e contribuirvi.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.firewire.name;</term> - - <listitem> - <para><emphasis>&firewire; (iLink, IEEE 1394)</emphasis></para> - - <para>Questa è la mailing list per la discussione del - design e l'implementazione di un sottosistema &firewire; - (anche noto come IEEE 1394 o iLink) per FreeBSD. - Argomenti rilevanti includono nello specifico gli standards, i - bus devices, i loro protocolli, insiemi di adapter - boards/cards/chips, e l'architettura e implementazione del - codice per il loro pieno supporto.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.fs.name;</term> - - <listitem> - <para><emphasis>File system</emphasis></para> - - <para>Discussioni riguardanti i file system FreeBSD. Questa - è una lista dalle caratteristiche tecniche per la quale - ci si attende contenuto strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.geom.name;</term> - - <listitem> - <para><emphasis>GEOM</emphasis></para> - - <para>Discussioni riguardanti GEOM e relative implementazioni. - Questa è una mailing list tecnica per la quale ci si - attente contenuto strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.gnome.name;</term> - - <listitem> - <para><emphasis>GNOME</emphasis></para> - - <para>Discussioni riguardanti The <application>Gnome</application> - Desktop Environment per sistemi FreeBSD. Questa è una - mailing list tecnica per la quale ci si attende materiale - strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.ipfw.name;</term> - - <listitem> - <para><emphasis>Firewall IP</emphasis></para> - - <para>Questo è il forum di discussione riguardante il - redesign del codice IP firewall di FreeBSD. Questa è una - mailing list tecnica per la quale ci si attende materiale - strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.ia64.name;</term> - - <listitem> - <para><emphasis>Il porting di FreeBSD su IA64</emphasis></para> - - <para>Questa è una mailing list tecnica per individui - impegnati attivamente nel porting di FreeBSD alla piattaforma - IA-64 dall'Intel, nel sollevare problemi e nel proporre - soluzioni. Individui interessati nel seguire le discussioni - tecniche sono comunque benvenuti.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.isdn.name;</term> - - <listitem> - <para><emphasis>Sistema di comunicazione ISDN</emphasis></para> - - <para>Questa è la mailing list per le persone che discutono - lo sviluppo del supporto ISDN per FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.java.name;</term> - - <listitem> - <para><emphasis>Sviluppo &java;</emphasis></para> - - <para>Questa è la mailing list per le persone impegnate - nello sviluppo di applicazioni &java; significative per FreeBSD - ed il porting ed il mantenimento delle &jdk;.</para> - </listitem> - </varlistentry> - - <varlistentry id="eresources-charters-jobs"> - <term>&a.jobs.name;</term> - - <listitem> - <para><emphasis>Cercasi e offresi opportunità di - lavoro</emphasis></para> - - <para>Questo è un forum dove inviare avvisi di impiego e - curriculum vitae relativi specificatamente a &os;, ad esempio se - stai cercando un impiego relativo a &os; o hai un posto di lavoro - da pubblicizzare che coinvolge &os; allora questo è il - posto giusto. Questa <emphasis>non</emphasis> è una - mailing list sui problemi di occupazione in generale visto che - forum appropriati esistono già da altre parti.</para> - - <para>Nota che questa lista, come le altre mailing list di - FreeBSD.org, è distribuita in tutto il mondo. Di - conseguenza, devi essere chiaro sul luogo e sulle - possibiltà di telelavoro o assistenza nel cambiare - abitazione, se disponibili.</para> - - <para>Le email dovrebbero usare solo formati aperti — - preferibilmente testo semplice, ma molti lettori accettano anche - Portable Document Format (<acronym>PDF</acronym>), HTML, e alcuni - altri. Formati chiusi come µsoft; Word - (<filename>.doc</filename>) saranno respinti dal server delle - mailing list.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.kde.name;</term> - - <listitem> - <para><emphasis>KDE</emphasis></para> - - <para>Discussioni concernenti <application>KDE</application> su - sistemi FreeBSD. - È una mailing list a carattere tecnico per la quale ci si - attende materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.hackers.name;</term> - - <listitem> - <para><emphasis>Discussioni tecniche</emphasis></para> - - <para>Questo è un forum per discussioni tecniche relative a - FreeBSD. Questa è la mailing list tecnica principale. - È per individui che lavorano attivamente a FreeBSD per - sollevare problemi o discutere soluzioni alternative. Individui - interessati nel seguire le discussioni tecniche sono comunque - benvenuti. È una mailing list tecnica per la quale ci si - attende contenuto strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.hardware.name;</term> - - <listitem> - <para><emphasis>Discussione generale sull'hardware e - FreeBSD</emphasis></para> - - <para>Discussione generica sui vari tipi di hardware che FreeBSD - supporta, vari problemi e suggerimenti riguardo a cosa convenga - acquistare e cosa evitare.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.hubs.name;</term> - - <listitem> - <para><emphasis>Siti mirror</emphasis></para> - - <para>Annunci e discussioni per persone che mantengono siti mirror - FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.isp.name;</term> - - <listitem> - <para><emphasis>Questioni riguardanti gli Internet Service - Provider</emphasis></para> - - <para>Questa mailing list è per la discussione di argomenti - riguardanti gli Internet Service Provider (ISP) che usano - FreeBSD. È una mailing list tecnica per a quale ci si - attende materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.newbies.name;</term> - - <listitem> - <para><emphasis>Discussioni sulle attività dei nuovi - adepti</emphasis></para> - - <para>Copriamo ogni attività riguardante i nuovi utenti che - non sia coperta altrove, inclusi: tecniche di apprendimento e - soluzione dei problemi indipendenti, la ricerca e l'uso di risorse - in rete e la richiesta di aiuto ad altri utenti, come usare - mailing list e quali liste usare, chat generiche, gli errori, i - pregi, la condivisione di idee, storie, supporto morale (ma non - tecnico), e prendere parte attiva nella comunità FreeBSD. - Prendiamo i nostri problemi e le richieste di supporto a - freebsd-questions, e usiamo freebsd-newbies per incontrare altra - gente che sia impegnata nelle stesse attività in quanto - nuovo utente.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.openoffice.name;</term> - - <listitem> - <para><emphasis>OpenOffice.org</emphasis></para> - - <para>Questione concernenti il porting ed il mantenimento di - <application>OpenOffice.org</application> e - <application>&staroffice;</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.performance.name;</term> - - <listitem> - <para><emphasis>Discussioni riguardo la calibrazione o la - velocizzazione di FreeBSD</emphasis></para> - - <para>Questa mailing list esiste per procurare ad hackers, - amministratori di sistema, e/o parti interessate un luogo - dove discutere argomenti legati alla performance di FreeBSD. - Argomenti accettabili includono installazioni di FreeBSD ad - alto carico, con problemi di performance o che stanno spingendo - ai limiti delle sue possibilità FreeBSD. Le parti - interessate che sono disposte a lavorare per un miglioramento - delle prestazioni di FreeBSD sono altamente incoraggiate - a sottoscrivere questa lista. Questa è una lista - estremamente tecnica, idealmente adatta per utenti FreeBSD - esperti, hackers o amministratori intenzionati a mantenere - FreeBSD veloce, robusto e scalabile. Questa lista non è - una lista domanda-e-risposta che sostituisce l'uso della - documentazione, quanto piuttosto un luogo dove apportare i propri - contributi o porre domande che non hanno avuto risposta altrove - riguardo a tematiche di prestazione.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.platforms.name;</term> - - <listitem> - <para><emphasis>Il porting sulle piattaforme non - Intel</emphasis></para> - - <para>Questione concernenti FreeBSD fra le varie piattaforme, - discussioni generiche e proposte per ports ad architetture non - Intel. - È una maliling list tecnica per la quale ci si attende - materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.policy.name;</term> - - <listitem> - <para><emphasis>Le decisioni della politica del Core - Team</emphasis></para> - - <para>Questa è una mailing list a scarso traffico, di sola - lettura, per le decisioni politiche del Core Team.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.ports.name;</term> - - <listitem> - <para><emphasis>Discussioni sui - <quote>port</quote></emphasis></para> - - <para>Discussioni riguardanti la collezione dei <quote>port</quote> - di FreeBSD (<filename>/usr/ports</filename>), l'infrastruttura dei - port, e sforzi generali per la coordinazione dei port. - È una mailing list a carattere tecnico per la quale ci si - attende materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.ports-bugs.name;</term> - - <listitem> - <para><emphasis>Discussione dei bug dei - <quote>port</quote></emphasis></para> - - <para>Discussioni concernenti report di problemi sulla - <quote>collezione dei port</quote> di FreeBSD - (<filename>/usr/ports</filename>), proposte di nuovi port, o - modifiche ai port. - È una mailing list a carattere tecnico per la quale ci si - attende materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.questions.name;</term> - - <listitem> - <para><emphasis>Domande degli utenti</emphasis></para> - - <para>Questa è una mailing list per domande riguardanti - FreeBSD. Non dovreste porre domande del tipo - <quote>how to</quote> alle liste tecniche a meno che stiate - considerando le questioni come molto tecniche.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.scsi.name;</term> - - <listitem> - <para><emphasis>Sottosistema SCSI</emphasis></para> - - <para>Questa è la mailing list per le persone impegnate nel - sottosistema SCSI di FreeBSD. È una mailing list tecnica - per la quale ci si attende materiale strettamente - tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.security.name;</term> - - <listitem> - <para><emphasis>Questioni di sicurezza</emphasis></para> - - <para>Argomenti relativi alla sicurezza dei sistemi FreeBSD (DES, - Kerberos, buchi di sicurezza noti e fixes, etc.). Questa - è una mailing list tecnica per la quale ci si attende - materiale strettamente tecnico. Notate che questa non è - una lista domanda e risposta, ma che i contributi (SIA domande - SIA risposte) alle FAQ sono benvenute.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.security-notifications.name;</term> - - <listitem> - <para><emphasis>Notifiche riguardanti la sicurezza</emphasis></para> - - <para>Notifiche riguardanti problemi di sicurezza di FreeBSD e fix. - Non è una lista di discussione. La relativa lista di - discussione è FreeBSD-security.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.small.name;</term> - - <listitem> - <para><emphasis>Utilizzo di FreeBSD in applicazioni - embedded</emphasis></para> - - <para>Questa lista discute argomenti relativi ad installazioni di - FreeBSD su macchine dalle risorse estremamente limitate e sistemi - embedded.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.stable.name;</term> - - <listitem> - <para><emphasis>Discussioni riguardo l'uso di - &os.stable;</emphasis></para> - - <para>Questa è la mailing list degli utenti di - &os.stable;. Include avvertimenti su nuove caratteristiche - in arrivo nella -STABLE che toccheranno gli utenti, e istruzioni - sui passi da compiere per tenere aggiornata la -STABLE. Chiunque - usi la <quote>STABLE</quote> dovrebbe sottoscrivere questa lista. - È una lista di carattere tecnico per la quale ci si - attende materiale strettamente tecnico.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.standards.name;</term> - - <listitem> - <para><emphasis>Rispetto degli standards C99 & - POSIX</emphasis></para> - - <para>Questo è un forum di discussioni tecniche relative al - rispetto degli standards C99 e POSIX da parte di FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.usergroups.name;</term> - - <listitem> - <para><emphasis>Lista di coordinamento dei gruppi - utenti</emphasis></para> - - <para>Questa è la mailing list per i coordinatori di ogni - Gruppo Utenti locale, in cui discutere questioni fra di loro e - un membro designato del Core Team. Questa mailing list dovrebbe - essere limitata a discussioni su meeting e coordinamento - di progetti che riguardano molti Gruppi Utenti.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>&a.vendors.name;</term> - - <listitem> - <para><emphasis>I venditori</emphasis></para> - - <para>Discussioni di coordinamento fra il FreeBSD Project e - venditori di software e hardware per FreeBSD.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2 id="eresources-mailfiltering"> - <title>Filtraggio sulle Mailing List</title> - - <para>Le mailing list di &os; sono filtrate in molti modi per evitare la - distribuzione di spam, virus, e altre email non volute. Le azioni di - filtraggio descritte in questa sezione non includono tutte quelle usate - per proteggere le mailing list.</para> - - <para>Solo certi tipi di allegati sono ammessi sulle mailing list. Tutti - gli allegati con un tipo di contenuto MIME non presente nella lista - seguente saranno eliminati prima che l'email sia distribuita sulla - mailing list.</para> - - <itemizedlist> - <listitem> - <para>application/octet-stream</para> - </listitem> - - <listitem> - <para>application/pdf</para> - </listitem> - - <listitem> - <para>application/pgp-signature</para> - </listitem> - - <listitem> - <para>application/x-pkcs7-signature</para> - </listitem> - - <listitem> - <para>message/rfc822</para> - </listitem> - - <listitem> - <para>multipart/alternative</para> - </listitem> - - <listitem> - <para>multipart/related</para> - </listitem> - - <listitem> - <para>multipart/signed</para> - </listitem> - - <listitem> - <para>text/html</para> - </listitem> - - <listitem> - <para>text/plain</para> - </listitem> - - <listitem> - <para>text/x-diff</para> - </listitem> - - <listitem> - <para>text/x-patch</para> - </listitem> - </itemizedlist> - - <note> - <para>Alcune mailing list potrebbero ammettere allegati di altri tipi - di contenuto MIME, ma la lista qui sopra dovrebbe essere corretta per - la maggior parte delle mailing list.</para> - </note> - - <para>Se un'email contiene sia una versione HTML che una versione testo, - quella HTML verrà rimossa. Se un'email contiene solo una - versione HTML, sarà convertita in semplice testo.</para> - </sect2> - </sect1> - - <sect1 id="eresources-news"> - <title>Newsgroup Usenet</title> - - <para>Oltre ai due newsgroup specificamente designati per FreeBSD, ve ne - sono molti altri in cui FreeBSD è discusso o che sono comunque - rilevanti per gli utenti FreeBSD. Sono disponibili degli <ulink - url="http://minnie.tuhs.org/BSD-info/bsdnews_search.html">archivi - interrogabili attraverso parole chiave</ulink> su questi newsgroup per - gentile concessione di Warren Toomey - <email>wkt@cs.adfa.edu.au</email>.</para> - - <sect2> - <title>Newsgroup specifici BSD</title> - - <itemizedlist> - <listitem> - <para><ulink - url="news:comp.unix.bsd.freebsd.announce">comp.unix.bsd.freebsd.announce</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd</ulink> - (Tedesco)</para> - </listitem> - - <listitem> - <para><ulink - url="news:fr.comp.os.bsd">fr.comp.os.bsd</ulink> (Francese)</para> - </listitem> - - <listitem> - <para><ulink - url="news:it.comp.os.freebsd">it.comp.os.freebsd</ulink> - (Italiano)</para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Altri newsgroup &unix; di interesse</title> - - <itemizedlist> - <listitem> - <para><ulink url="news:comp.unix">comp.unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.questions">comp.unix.questions</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.admin">comp.unix.admin</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.programmer">comp.unix.programmer</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.shell">comp.unix.shell</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.user-friendly">comp.unix.user-friendly</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.security.unix">comp.security.unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.sources.unix">comp.sources.unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.advocacy">comp.unix.advocacy</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.misc">comp.unix.misc</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.bugs.4bsd.ucb-fixes">comp.bugs.4bsd.ucb-fixes</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.unix.bsd">comp.unix.bsd</ulink></para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>X Windows System</title> - - <itemizedlist> - <listitem> - <para><ulink - url="news:comp.windows.x.i386unix">comp.windows.x.i386unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.windows.x">comp.windows.x</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.windows.x.apps">comp.windows.x.apps</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.windows.x.announce">comp.windows.x.announce</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.windows.x.intrinsics">comp.windows.x.intrinsics</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.windows.x.motif">comp.windows.x.motif</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.windows.x.pex">comp.windows.x.pex</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="news:comp.emulators.ms-windows.wine">comp.emulators.ms-windows.wine</ulink></para> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="eresources-web"> - <title>Server World Wide Web</title> - - &chap.eresources.www.inc; - </sect1> - - <sect1 id="eresources-email"> - <title>Indirizzi Email</title> - - <para>I seguenti Gruppi Utenti forniscono indirizzi email per i propri - membri. Gli amministratori di lista si riservano il diritto di revocare - l'indirizzo assegnato se in alcun modo se ne fa cattivo uso.</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Dominio</entry> - - <entry>Offerta</entry> - - <entry>Gruppo utente</entry> - - <entry>Amministratore</entry> - </row> - </thead> - - <tbody> - <row> - <entry>ukug.uk.FreeBSD.org</entry> - - <entry>Solo forwarding</entry> - - <entry><email>freebsd-users@uk.FreeBSD.org</email></entry> - - <entry>Lee Johnston - <email>lee@uk.FreeBSD.org</email></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> - - <sect1 id="eresources-shell"> - <title>Shell Accounts</title> - - <para>I seguenti Gruppi utenti forniscono account di shell a persone che - supportano attivamente il progetto FreeBSD. Gli amministratori elencati - si riservano il diritto di cancellare l'account se viene in alcun modo - usato male.</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Host</entry> - - <entry>Accesso</entry> - - <entry>Offerta</entry> - - <entry>Amministratore</entry> - </row> - </thead> - - <tbody> - <row> - <entry>storm.uk.FreeBSD.org</entry> - - <entry>Solo SSH</entry> - - <entry>CVS a sola lettura, spazio web personale, email</entry> - - <entry>&a.brian;</entry> - </row> - - <row> - <entry>dogma.freebsd-uk.eu.org</entry> - - <entry>Telnet/FTP/SSH</entry> - - <entry>Email, spazio Web, FTP anonimo</entry> - - <entry>Lee Johnston <email>lee@uk.FreeBSD.org</email></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> -</appendix> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../appendix.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "appendix") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/install/Makefile b/it_IT.ISO8859-15/books/handbook/install/Makefile deleted file mode 100644 index 0e21ad9d0f..0000000000 --- a/it_IT.ISO8859-15/books/handbook/install/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= install/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/install/chapter.sgml b/it_IT.ISO8859-15/books/handbook/install/chapter.sgml deleted file mode 100644 index 402d335394..0000000000 --- a/it_IT.ISO8859-15/books/handbook/install/chapter.sgml +++ /dev/null @@ -1,103 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="install"> - <title>Installazione di FreeBSD</title> - - <sect1> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-pre"> - <title>Pre-installation Tasks</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-start"> - <title>Starting the Installation</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="using-sysinstall"> - <title>Introducing Sysinstall</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-steps"> - <title>Allocating Disk Space</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1> - <title>Choosing What To Install</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-media"> - <title>Choosing Your Installation Media</title> - - <para>Traduzione in corso</para> - - <sect2 id="x-server"> - <title>Configure X Server</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-final-warning"> - <title>Committing to the Installation</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-post"> - <title>Post-installation</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1> - <title>Supported Hardware</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-trouble"> - <title>Troubleshooting</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-advanced"> - <title>Advanced Installation Guide</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="install-diff-media"> - <title>Preparing Your Own Installation Media</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/introduction/Makefile b/it_IT.ISO8859-15/books/handbook/introduction/Makefile deleted file mode 100644 index 053016daea..0000000000 --- a/it_IT.ISO8859-15/books/handbook/introduction/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= introduction/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml b/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml deleted file mode 100644 index 8d87051bcc..0000000000 --- a/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml +++ /dev/null @@ -1,1014 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.102 ---> - -<chapter id="introduction"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Jim</firstname> - - <surname>Mock</surname> - - <contrib>Ristrutturato, riorganizzato, e in parte riscritto - da </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Introduzione</title> - - <sect1 id="introduction-synopsis"> - <title>Sinossi</title> - - <para>Grazie per il tuo interesse per FreeBSD! Il seguente capitolo - tratta vari aspetti del FreeBSD Project, come la sua storia, - gli obiettivi, il modello di sviluppo e così via.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come si relazione FreeBSD rispetto agli altri sistemi operativi - per computer.</para> - </listitem> - - <listitem> - <para>La storia del FreeBSD Project.</para> - </listitem> - - <listitem> - <para>Gli obiettivi del FreeBSD Project.</para> - </listitem> - - <listitem> - <para>Le basi del modello di sviluppo open source di FreeBSD.</para> - </listitem> - - <listitem> - <para>E naturalmente: da dove deriva il nome - <quote>FreeBSD</quote>.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="nutshell"> - <title>Benvenuto in FreeBSD!</title> - - <indexterm><primary>4.4BSD-Lite</primary></indexterm> - - <para>FreeBSD è un sistema operativo basato su 4.4BSD-Lite per - computer Intel (x86 e &itanium;), DEC <trademark>Alpha</trademark>, e Sun - &ultrasparc;. Port verso altre architetture sono stati avviati. - Puoi anche leggere <link linkend="history">la storia di FreeBSD</link>, - o la <link linkend="relnotes">release corrente</link>. Se sei - interessato a contribuire in qualche modo al progetto (codice, - hardware, banconote non segnate), leggi l'articolo <ulink - url="&url.articles.contributing.en;/index.html">Contributing - to FreeBSD</ulink>.</para> - - <sect2 id="os-overview"> - <title>Cosa può fare FreeBSD?</title> - - <para>FreeBSD ha molte caratteristiche degne di nota. Alcune di queste - sono:</para> - - <itemizedlist> - <indexterm><primary>multitasking preemptive</primary></indexterm> - - <listitem> - <para><emphasis>Multitasking preemptive</emphasis> con - adattamento dinamico della priorità per assicurare una - condivisione regolare ed equa del computer ad applicazioni - e utenti, persino sotto i carichi più pesanti.</para> - </listitem> - - <indexterm><primary>facilities multiutente</primary></indexterm> - - <listitem> - <para><emphasis>Facilities multiutente</emphasis> che permettono a - molte persone di usare un sistema FreeBSD contemporaneamente per - cose diverse. Questo significa, per esempio, che le periferiche di - sistema come stampanti e unità a nastro sono correttamente - condivise tra tutti gli utenti sul sistema o sulla rete e che - possono essere posti limiti individuali ad utenti o gruppi di utenti - sulla risorsa, proteggendo le risorse di sistema critiche dall'uso - eccessivo.</para> - </listitem> - - <indexterm><primary>networking TCP/IP</primary></indexterm> - - <listitem> - <para>Un solido <emphasis>sistema di rete TCP/IP</emphasis> con - supporto a standard industriali quali SLIP, PPP, NFS, DHCP - e NIS. Questo significa che la tua macchina FreeBSD può - interoperare facilmente con altri sistemi ed anche agire come - server aziendale, fornendo funzioni vitali come NFS (accesso remoto - ai file) e servizi e-mail oppure mettere la tua organizzazione - su Internet con servizi WWW, FTP, routing e firewall - (sicurezza).</para> - </listitem> - - <indexterm><primary>protezione della memoria</primary></indexterm> - - <listitem> - <para>La <emphasis>protezione della memoria</emphasis> assicura che - le applicazioni (o gli utenti) non possano interferire l'una con - l'altra. - Una applicazione che andrà in crash non influirà - sulle altre in alcun modo.</para> - </listitem> - - <listitem> - <para>FreeBSD è un sistema operativo a <emphasis>32 - bit</emphasis> (<emphasis>64 bit</emphasis> su Alpha &itanium;, - AMD64, e &ultrasparc;) ed è stato progettato come tale sin - dall'inizio.</para> - </listitem> - - <indexterm> - <primary>X Window System</primary> - <seealso>XFree86</seealso> - </indexterm> - - <listitem> - <para>Lo standard industriale <emphasis>X Window System</emphasis> - (X11R6) fornisce una interfaccia grafica utente (GUI) al costo - di una comune scheda VGA ed un monitor e viene fornito con i - sorgenti.</para> - </listitem> - - <indexterm> - <primary>compatibilità binaria</primary> - <secondary>Linux</secondary> - </indexterm> - <indexterm> - <primary>compatibilità binaria</primary> - <secondary>SCO</secondary> - </indexterm> - <indexterm> - <primary>compatibilità binaria</primary> - <secondary>SVR4</secondary> - </indexterm> - <indexterm> - <primary>compatibilità binaria</primary> - <secondary>BSD/OS</secondary> - </indexterm> - <indexterm> - <primary>compatibilità binaria</primary> - <secondary>NetBSD</secondary> - </indexterm> - - <listitem> - <para><emphasis>Compatibilità binaria</emphasis> con molti - programmi sviluppati per Linux, SCO, SVR4, BSDI e NetBSD.</para> - </listitem> - - <listitem> - <para>Nella collezione di <emphasis>port</emphasis> e - <emphasis>package</emphasis> per FreeBSD sono disponibili - migliaia di applicazioni <emphasis>pronte a partire</emphasis>. - Perché cercare sulla rete quando puoi trovare qui tutto - quello che ti serve?</para> - </listitem> - - <listitem> - <para>Su Internet sono disponibili migliaia di applicazioni - aggiuntive e <emphasis>facili da portare</emphasis>. - FreeBSD è compatibile a livello di codice sorgente con - la maggior parte dei sistemi &unix; commerciali e così la - maggior parte delle applicazioni richiedono poche modifiche per - essere compilate, se non nessuna.</para> - </listitem> - - <indexterm><primary>memoria virtuale</primary></indexterm> - - <listitem> - <para>La <emphasis>memoria virtuale</emphasis> paginata - su richiesta e il progetto con <quote>VM/buffer cache</quote> - integrati soddisfa efficientemente le applicazioni con grandi - appetiti di memoria mantenendo ancora la risposta interattiva per - altri utenti.</para> - </listitem> - - <indexterm> - <primary>Symmetric Multi-Processing (SMP)</primary> - </indexterm> - - <listitem> - <para>Il supporto <emphasis>SMP</emphasis> per macchine con - CPU multiple.</para> - </listitem> - - <indexterm> - <primary>compilatori</primary> - <secondary>C</secondary> - </indexterm> - <indexterm> - <primary>compilatori</primary> - <secondary>C++</secondary> - </indexterm> - <indexterm> - <primary>compilatori</primary> - <secondary>FORTRAN</secondary> - </indexterm> - - <listitem> - <para>una dotazione completa di strumenti di sviluppo per - <emphasis>C</emphasis>, <emphasis>C++</emphasis>, - <emphasis>Fortran</emphasis>, e <emphasis>Perl</emphasis>. - Sono inoltre disponibili molti linguaggi aggiuntivi per - ricerca avanzata e sviluppo nella collezione di port e - package.</para> - </listitem> - - <indexterm><primary>codice sorgente</primary></indexterm> - - <listitem> - <para>Avere il <emphasis>codice sorgente</emphasis> dell'intero - sistema significa avere un alto grado di controllo sull'ambiente. - Perché essere vincolati ad una soluzione proprietaria alla - mercé del tuo fornitore quando puoi avere un sistema - veramente aperto?</para> - </listitem> - - <listitem> - <para>Estesa <emphasis>documentazione online</emphasis>.</para> - </listitem> - - <listitem> - <para><emphasis>E molto altro!</emphasis></para> - </listitem> - </itemizedlist> - - <indexterm><primary>4.4BSD-Lite</primary></indexterm> - <indexterm> - <primary>Computer Systems Research Group (CSRG)</primary> - </indexterm> - <indexterm><primary>U.C. Berkeley</primary></indexterm> - - <para>FreeBSD è basato sulla release 4.4BSD-Lite del Computer - Systems Research Group (CSRG) dell'Università della California di - Berkeley, e porta avanti l'inconfondibile tradizione di sviluppo - dei sistemi BSD. In aggiunta all'ottimo lavoro fornito dal CSRG, il - FreeBSD Project ha speso molte centinaia di ore nella fine regolazione - del sistema per le massime prestazioni e affidabilità nelle - situazioni di carico che si possono trovare nella vita reale. - Mentre molti giganti commerciali hanno difficoltà nel campo - dei sistemi operativi per PC con queste caratteristiche, prestazioni e - affidabilità, FreeBSD le può offrire - <emphasis>ora</emphasis>!</para> - - <para>Le applicazioni nelle quali FreeBSD può essere impiegato - sono veramente limitate solo dalla tua immaginazione. Dallo sviluppo - software all'automazione in fabbrica, dal controllo dell'inventario alla - correzione dell'azimut delle antenne remote dei satelliti; se può - essere fatto con un prodotto &unix; commerciale allora è - più che probabile che puoi farlo anche con FreeBSD! - FreeBSD beneficia significativamente anche da letteralmente migliaia di - applicazioni di alta qualità sviluppate da centri di ricerca e - università di tutto il mondo, spesso disponibili a poco prezzo o - gratuite. - Sono anche disponibili applicazioni commerciali e compaiono - in numero maggiore ogni giorno.</para> - - <para>Poiché il codice sorgente dello stesso FreeBSD è - normalmente disponibile, il sistema può anche essere - personalizzato ad un livello inimmaginabile per applicazioni o progetti - particolari, e in modi non generalmente possibili con i sistemi - operativi della maggior parte dei produttori commerciali. Ecco solo - alcuni esempi di alcune delle applicazioni nelle quali attualmente la - gente sta usando FreeBSD:</para> - - <itemizedlist> - <listitem> - <para><emphasis>Servizi Internet:</emphasis> Il robusto sistema di - rete TCP/IP di FreeBSD lo rende una piattaforma ideale per una - varietà di servizi Internet quali:</para> - - <itemizedlist> - <indexterm><primary>server FTP</primary></indexterm> - - <listitem> - <para>server FTP</para> - </listitem> - - <indexterm><primary>server web</primary></indexterm> - - <listitem> - <para>server World Wide Web (standard o sicuri [SSL])</para> - </listitem> - - <indexterm><primary>firewall</primary></indexterm> - <indexterm><primary>mascheramento dell'IP</primary></indexterm> - - <listitem> - <para>Firewall e gateway NAT (<quote>mascheramento - dell'IP</quote>).</para> - </listitem> - - <indexterm><primary>posta elettronica</primary></indexterm> - - <listitem> - <para>server di Posta Elettronica</para> - </listitem> - - <indexterm><primary>USENET</primary></indexterm> - - <listitem> - <para>USENET News o Bulletin Board Systems</para> - </listitem> - - <listitem> - <para>E altro...</para> - </listitem> - </itemizedlist> - - <para>Con FreeBSD, puoi facilmente partire in piccolo con - un PC a buon mercato della classe 386 e aggiornare poi - ad un quadriprocessore Xeon con dischi RAID se la tua - azienda cresce.</para> - </listitem> - - <listitem> - <para><emphasis>Insegnamento:</emphasis> Sei uno studente di - informatica o legato al campo dell'ingegneria? Non c'è - miglior modo di imparare i sistemi operativi, l'architettura - dei computer e il networking che l'esperienza pratica e in - profondità che FreeBSD può fornire. - Il numero di pacchetti di CAD, di progettazione grafica e matematica - disponibili gratuitamente lo rendono anche estremamente - utile per coloro il cui interesse principale nei computer - è vedere <emphasis>altro</emphasis> lavoro svolto!</para> - </listitem> - - <listitem> - <para><emphasis>Ricerca:</emphasis> Con il codice sorgente - disponibile per l'intero sistema, FreeBSD è una - eccellente piattaforma per la ricerca nei sistemi operativi - come pure per altre branche dell'informatica. La natura di - libera circolazione di FreeBSD rende anche possibile a - gruppi distanti di collaborare sulle idee o condividere lo - sviluppo senza aver da preoccuparsi di accordi di licenza - speciali o limitazioni su quello che può essere - discusso in un forum pubblico.</para> - </listitem> - - - <indexterm><primary>router</primary></indexterm> - <indexterm><primary>server DNS</primary></indexterm> - - <listitem> - <para><emphasis>Networking:</emphasis> Ti serve un nuovo router? - Un server dei nomi (DNS)? Un firewall per tenere la gente fuori - dalla tua rete interna? FreeBSD può facilmente tramutare - quel 386 inutilizzato o quel PC 486 che giace nell'angolo in un - router avanzato con sofisticate capacità di filtraggio dei - pacchetti.</para> - </listitem> - - <indexterm> - <primary>Sistema X Window</primary> - <secondary>XFree86</secondary> - </indexterm> - <indexterm> - <primary>Sistema X Window</primary> - <secondary>Accelerated-X</secondary> - </indexterm> - - <listitem> - <para><emphasis>Stazione di lavoro con X Window:</emphasis> FreeBSD - è un'ottima scelta come soluzione per un terminale X - economico, sia usando il server &xfree86; liberamente disponibile o - uno degli eccellenti server commerciali forniti da <ulink - url="http://www.xig.com">Xi Graphics</ulink>. - Diversamente da un terminale X, FreeBSD permette a molte - applicazioni di girare localmente se desiderato, sollevando - così il carico da un server centrale. FreeBSD può - anche partire <quote>senza disco</quote>, rendendo le stazioni - individuali persino più economiche e facili da - amministrare.</para> - </listitem> - - <indexterm><primary>GNU Compiler Collection</primary></indexterm> - - <listitem> - <para><emphasis>Sviluppo Software:</emphasis> Di base FreeBSD arriva - con un pieno complemento di strumenti di sviluppo incluso il - rinnovato compilatore GNU C/C++ e il debugger.</para> - </listitem> - </itemizedlist> - - <para>FreeBSD è disponibile sia in forma sorgente che binaria - su CDROM, DVD e via FTP anonimo. Guarda l'<xref linkend="mirrors"> per - maggiori informazioni su come ottenere FreeBSD.</para> - </sect2> - - <sect2> - <title>Chi Usa FreeBSD?</title> - - <indexterm> - <primary>utenti</primary> - <secondary>Grandi siti dove gira FreeBSD</secondary> - </indexterm> - - <para>FreeBSD è usato per far funzionare alcuni dei più - grossi siti su Internet, inclusi:</para> - - <itemizedlist> - <indexterm><primary>Yahoo!</primary></indexterm> - - <listitem> - <para><ulink url="http://www.yahoo.com/">Yahoo!</ulink></para> - </listitem> - - <indexterm><primary>Apache</primary></indexterm> - - <listitem> - <para><ulink url="http://www.apache.org/">Apache</ulink></para> - </listitem> - - <indexterm><primary>Blue Mountain Arts</primary></indexterm> - - <listitem> - <para><ulink url="http://www.bluemountain.com/">Blue Mountain - Arts</ulink></para> - </listitem> - - <indexterm><primary>Pair Networks</primary></indexterm> - - <listitem> - <para><ulink url="http://www.pair.com/">Pair - Networks</ulink></para> - </listitem> - - <indexterm><primary>Sony Japan</primary></indexterm> - - <listitem> - <para><ulink url="http://www.sony.co.jp/">Sony - Japan</ulink></para> - </listitem> - - <indexterm><primary>Netcraft</primary></indexterm> - - <listitem> - <para><ulink url="http://www.netcraft.com/">Netcraft</ulink></para> - </listitem> - - <indexterm><primary>Weathernews</primary></indexterm> - - <listitem> - <para><ulink url="http://www.wni.com/">Weathernews</ulink></para> - </listitem> - - <indexterm><primary>Supervalu</primary></indexterm> - - <listitem> - <para><ulink url="http://www.supervalu.com/">Supervalu</ulink></para> - </listitem> - - <indexterm><primary>TELEHOUSE America</primary></indexterm> - - <listitem> - <para><ulink url="http://www.telehouse.com/">TELEHOUSE - America</ulink></para> - </listitem> - - <indexterm><primary>Sophos Anti-Virus</primary></indexterm> - - <listitem> - <para><ulink url="http://www.sophos.com/">Sophos - Anti-Virus</ulink></para> - </listitem> - - <indexterm><primary>JMA Wired</primary></indexterm> - - <listitem> - <para><ulink url="http://www.jmawired.com/">JMA Wired</ulink></para> - </listitem> - </itemizedlist> - - <para>e molti altri.</para> - </sect2> - </sect1> - - <sect1 id="history"> - <title>Informazioni sul FreeBSD Project</title> - - <para>La sezione seguente fornisce alcune informazioni relative al - progetto, includendo una breve storia, gli obiettivi, e - il modello di sviluppo.</para> - - <sect2 id="intro-history"> - <sect2info role="firstperson"> - <authorgroup> - <author> - <firstname>Jordan</firstname> - - <surname>Hubbard</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Breve storia di FreeBSD</title> - - <indexterm><primary>386BSD Patchkit</primary></indexterm> - <indexterm><primary>Hubbard, Jordan</primary></indexterm> - <indexterm><primary>Williams, Nate</primary></indexterm> - <indexterm><primary>Grimes, Rod</primary></indexterm> - <indexterm> - <primary>FreeBSD Project</primary> - <secondary>storia</secondary> - </indexterm> - - <para>Il FreeBSD Project ebbe la sua genesi nella prima parte del 1993, - come una sorta di crescita oltremisura del <quote>Patchkit Non Ufficiale - di 386BSD</quote> dagli ultimi tre coordinatori del patchkit: Nate - Williams, Rod Grimes e me stesso.</para> - - <indexterm><primary>386BSD</primary></indexterm> - - <para>Il nostro obiettivo originario era di produrre uno snapshot - intermedio di 386BSD allo scopo di risolvere una serie di problemi - che il meccanismo del patchkit non era semplicemente in grado di - risolvere. - Alcuni di voi potranno ricordare che il primo titolo funzionante per il - progetto fu <quote>386BSD 0.5</quote> o <quote>386BSD Interim</quote> in - riferimento a quel fatto.</para> - - <indexterm><primary>Jolitz, Bill</primary></indexterm> - - <para>386BSD era il sistema operativo di Bill Jolitz, che era arrivato a - questo punto soffrendo piuttosto pesantemente di quasi un anno - di disinteresse. Visto che il patchkit si gonfiava sempre più - scomodamente con il passare dei giorni, fummo d'accordo - all'unanimità che doveva essere fatto qualcosa e - decidemmo di provare ad assistere Bill fornendo questo snapshot - ad interim <quote>ripulito</quote>. Questi piani - ebbero un brusco arresto quando Bill Jolitz improvvisamente decise - di ritirare la sua approvazione al progetto senza nessuna chiara - indicazione di cosa invece doveva essere fatto.</para> - - <indexterm><primary>Greenman, David</primary></indexterm> - <indexterm><primary>Walnut Creek CDROM</primary></indexterm> - - <para>Non ci volle molto per decidere che l'obiettivo rimaneva - utile, persino senza il supporto di Bill, e così - adottammo il nome <quote>FreeBSD</quote>, coniato da David Greenman. - I nostri obiettivi iniziali furono decisi dopo esserci consultati - con gli utenti dell'epoca del sistema e, una volta che divenne chiaro - che il progetto era sulla strada giusta e forse stava persino diventando - una realtà, contattai la Walnut Creek CDROM con un occhio verso - il miglioramento dei canali distributivi di FreeBSD per quei molti - sfortunati che non avevano facile accesso a Internet. - La Walnut Creek CDROM non solo supportò l'idea di distribuire - FreeBSD su CD ma andò anche più lontano fornendo al - progetto una macchina per lavorarci su e una connessione ad Internet - veloce. Senza il grado di fiducia quasi senza precedenti della Walnut - Creek CDROM in quello che era, a quel tempo, un progetto completamente - sconosciuto, è abbastanza improbabile che FreeBSD sarebbe andato - così lontano, così velocemente, come è oggi.</para> - - <indexterm><primary>4.3BSD-Lite</primary></indexterm> - <indexterm><primary>Net/2</primary></indexterm> - <indexterm><primary>U.C. Berkeley</primary></indexterm> - <indexterm><primary>386BSD</primary></indexterm> - <indexterm><primary>Free Software Foundation</primary></indexterm> - - <para>La prima distribuzione su CDROM (e largamente disponibile sulla - rete) fu FreeBSD 1.0, rilasciata nel dicembre del 1993. Questa era - basata su un nastro della 4.3BSD-Lite (<quote>Net/2</quote>) della - U.C. Berkeley, con molti componenti forniti anche da 386BSD e dalla Free - Software Foundation. Fu un successo abbastanza ragionevole per una - prima offerta, e lo seguimmo dal grande successo di FreeBSD release - 1.1 nel maggio del 1994.</para> - - <indexterm><primary>Novell</primary></indexterm> - <indexterm><primary>U.C. Berkeley</primary></indexterm> - <indexterm><primary>Net/2</primary></indexterm> - <indexterm><primary>AT&T</primary></indexterm> - - <para>Circa in questo periodo si formarono all'orizzonte alcune nuvole - temporalesche piuttosto inaspettate allorché Novell e - U.C. Berkeley risolsero la loro lunga causa civile sullo stato legale - del nastro di Berkeley Net/2. Una condizione di quell'accordo era la - concessione di U.C. Berkeley che vaste parti di Net/2 erano codice - <quote>ingombrante</quote> e di proprietà di Novell, che lo aveva - infine acquistato da AT&T qualche tempo addietro. - Quello che Berkeley ottenne in cambio fu la - <quote>benedizione</quote> di Novell che la release 4.4BSD-Lite, quando - fu finalmente rilasciata, fosse dichiarata non ingombrante e che tutti - gli utenti Net/2 esistenti fossero fortemente incoraggiati a cambiare. - Questo incluse FreeBSD, e al progetto fu dato tempo fino alla fine di - luglio 1994 per fermare la spedizione del proprio prodotto basato su - Net/2. Sotto i termini di quell'accordo, fu permesso al progetto - un ultimo rilascio prima della scadenza, e quella release fu - FreeBSD 1.1.5.1<para> - - <para>FreeBSD allora si accinse nell'arduo compito di letteralmente - reinventare se stesso da un insieme di bit di 4.4BSD-Lite - completamente nuovo e piuttosto incompleto. Le release - <quote>Lite</quote> erano light (leggere) in parte perché - il CSRG di Berkeley aveva rimosso grandi sezioni di codice richiesto - per costruire effettivamente un sistema funzionante in grado di partire - (dovuto a varie richieste legali) e in parte al fatto che il port per - Intel della 4.4 era altamente incompleto. Al progetto ci volle fino al - novembre del 1994 per fare questa transizione; a quel punto - rilasciò FreeBSD 2.0 sulla rete e su CDROM (nel tardo - dicembre). A dispetto del fatto di essere ancora più che un po' - ruvida ai bordi, la release fu un successo significativo e fu - seguita dalla release FreeBSD 2.0.5 più robusta e - semplice da installare nel giugno del 1995.</para> - - <para>Rilasciammo FreeBSD 2.1.5 nell'agosto del 1996, e parve essere - abbastanza popolare tra gli ISP e le comunità commerciali tanto - che si meritò un'altra release nel corso del ramo 2.1-STABLE. - Questa era FreeBSD 2.1.7.1, rilasciata nel febbraio 1997 e apoteosi - dello sviluppo principale sulla 2.1-STABLE. Attualmente in - modalità di manutenzione, su questo ramo (RELENG_2_1_0) verranno - sviluppati solo miglioramenti della sicurezza e correzioni degli - errori.</para> - - <para>FreeBSD 2.2 fu derivato dallo sviluppo della linea principale - (<quote>-CURRENT</quote>) nel novembre 1996 come ramo RELENG_2_2, - e la prima release completa (2.2.1) fu rilasciata nell'aprile 1997. - Furono rilasciate ulteriori release del ramo 2.2 nell'estate e - nell'autunno del '97, l'ultima delle quali (2.2.8) apparve nel - novembre 1998. La prima release 3.0 ufficiale apparve - nell'ottobre 1998 e segnò l'inizio della fine per il ramo - 2.2.</para> - - <para>L'albero si ramificò ancora il 20 gennaio 1999, dividendosi - nei rami 4.0-CURRENT e 3.X-STABLE. Dalla 3.X-STABLE, la 3.1 fu - rilasciata il 15 febbraio 1999, la 3.2 il 15 maggio 1999, la 3.3 il 16 - settembre 1999, la 3.4 il 20 dicembre 1999 e la 3.5 il 24 giugno 2000, - seguita pochi giorni dopo da un aggiornamento di punto inferiore alla - release 3.5.1 per incorporare alcune correzioni dell'ultimo minuto - a Kerberos sulla sicurezza. - Questa sarà l'ultima release del ramo 3.X.</para> - - <para>Ci fu un'altra ramificazione il 13 marzo 2000, che vide - l'apparizione del ramo 4.X-STABLE, ora considerato essere il - <quote>ramo -STABLE corrente</quote>. Ci sono state numerose release da - allora: la 4.0-RELEASE fu introdotta nel marzo 2000, e la più - recente &rel2.current;-RELEASE venne fuori nel &rel2.current.date;. - Ci saranno release aggiuntive lungo il ramo 4.X-STABLE (RELENG_4) per - tutto il 2003.</para> - - <para>La tanto attesa 5.0-RELEASE è stata annunciata il 19 gennaio - 2003. Il culmine di quasi tre anni di lavoro, questa release ha - iniziato FreeBSD nel percorso del supporto avanzato al multiprocessore e - ai thread nelle applicazioni e ha introdotto il supporto per le - piattaforme &ultrasparc; e <literal>ia64</literal>. - Questa release è stata seguita - dalla 5.1 nel giugno del 2003. A parte un certo numero di nuove - funzionalità, le release 5.X contengono anche parecchi sviluppi - maggiori sull'architettura di sistema sottostante. Insieme a questi - vantaggi, tuttavia, arriva un sistema che incorpora una quantità - impressionante di codice nuovo e non completamente testato. Per questa - ragione, le release 5.X sono considerate release con <quote>Nuove - Tecnologie</quote>, mentre quelle della serie 4.X come release di - <quote>Produzione</quote>. Col tempo, la 5.X sarà dichiarata - stabile e comincerà il lavoro sul prossimo ramo di sviluppo, - 6.0-CURRENT.</para> - - <para>Per ora, lo sviluppo dei progetti a lungo termine continua ad aver - luogo nell'albero 5.X-CURRENT, e release SNAPshot della 5.X su CDROM - (e, naturalmente, sulla rete) sono continuamente rese disponibili - sul <ulink url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/"> - server snapshot</ulink> mentre il lavoro procede.</para> - </sect2> - - <sect2 id="goals"> - <sect2info> - <authorgroup> - <author> - <firstname>Jordan</firstname> - - <surname>Hubbard</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Obiettivi del FreeBSD Project</title> - - <indexterm> - <primary>FreeBSD Project</primary> - <secondary>obiettivi</secondary> - </indexterm> - - <para>Gli obiettivi del FreeBSD Project sono di fornire software - che può essere usato per qualunque scopo senza vincoli. - Molti di noi hanno fatto un investimento significativo nel codice (e nel - progetto) e certamente non dovrebbero essere interessati ad un piccolo - compenso finanziario qua e là, ma non siamo sicuramente preparati - ad insistere su questo. Noi crediamo che la nostra prima e prioritaria - <quote>missione</quote> sia di fornire codice a tutti i partecipanti, - presenti e futuri, e per qualunque scopo, così che il codice - abbia un uso il più possibile ampio e fornisca i più - ampi benefici. Questo è, io credo, uno degli obiettivi - fondamentali del Software Libero (Free Software) e che noi supportiamo - entusiasticamente.</para> - - <indexterm> - <primary>GNU General Public Licence (GPL)</primary> - </indexterm> - <indexterm> - <primary>GNU Lesser General Public License (LGPL)</primary> - </indexterm> - <indexterm><primary>Copyright BSD</primary></indexterm> - - <para>Quel codice nel nostro albero dei sorgenti che cade sotto - la GNU General Public Licence (GPL) o la GNU Lesser General Public - License (LGPL) ha un po' più di vincoli, sebbene - almeno dal lato di rafforzare l'accesso piuttosto che l'opposto. - Date le complessità aggiuntive che possono - risultare dall'uso commerciale di software GPL noi preferiamo, - tuttavia, software rilasciato sotto il più rilassato copyright - BSD quando è una scelta ragionevole farlo.</para> - </sect2> - - <sect2 id="development"> - <sect2info> - <authorgroup> - <author> - <firstname>Satoshi</firstname> - - <surname>Asami</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Il Modello di Sviluppo di FreeBSD</title> - - <indexterm> - <primary>FreeBSD Project</primary> - <secondary>modello di sviluppo</secondary> - </indexterm> - - <para>Lo sviluppo di FreeBSD è un processo molto aperto - e flessibile, essendo costruito dal contributo di centinaia - di persone di tutto il mondo, come puoi vedere dalla nostra - <ulink url="&url.articles.contributors.en;/article.html">lista dei - collaboratori</ulink>. L'infrastruttura di sviluppo di FreeBSD - permette a queste centinaia di sviluppatori di collaborare su Internet. - Siamo costantemente alla ricerca di nuovi - sviluppatori e idee, e quelli interessati a essere coinvolti - maggiormente nel progetto devono semplicemente contattarci sulla - &a.hackers;. La &a.announce; è anche disponibile a quelli - che vogliono informare altri utenti FreeBSD delle principali aree - di lavoro.</para> - - <para>Cose utili da sapere sul FreeBSD Project e il suo processo di - sviluppo, sia lavorando in modo indipendente che in stretta - cooperazione:</para> - - <variablelist> - <varlistentry> - <term>Il repository CVS<anchor id="development-cvs-repository"></term> - - <indexterm> - <primary>CVS</primary> - <secondary>repository</secondary> - </indexterm> - <indexterm> - <primary>Concurrent Versions System</primary> - <see>CVS</see> - </indexterm> - - <listitem> - <para>L'albero centrale dei sorgenti FreeBSD è mantenuto - tramite <ulink url="http://www.cvshome.org/">CVS</ulink> - (Concurrent Versions System, ovvero Sistema di Versioni - Concorrenti), uno strumento di controllo dei codici sorgenti - liberamente disponibile che viene distribuito con FreeBSD. - Il principale <ulink - url="http://www.FreeBSD.org/cgi/cvsweb.cgi">repository - CVS</ulink> risiede su una macchina a Santa Clara CA, USA - da dove è replicato su numerose macchine speculari in - tutto il mondo. L'albero CVS, che contiene gli alberi <link - linkend="current">-CURRENT</link> e <link - linkend="stable">-STABLE</link>, - possono essere facilmente replicati anche sulla tua macchina. - Fai riferimento alla sezione <link - linkend="synching">Sincronizzazione dei Tuoi Sorgenti</link> per - maggiori informazioni su come fare.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>La lista dei committer<anchor - id="development-committers"></term> - - <indexterm><primary>committers</primary></indexterm> - - <listitem> - <para>I <firstterm>committer</firstterm> sono persone che hanno - permesso di <emphasis>scrivere</emphasis> nell'albero CVS, e sono - autorizzate ad apportare modifiche ai sorgenti di - FreeBSD (il termine <quote>committer</quote> viene dal comando - <command>commit</command> di &man.cvs.1;, che è usato per - portare i nuovi cambiamenti al repository CVS). Il modo migliore - di sottoporre modifiche alla revisione da parte della lista dei - committer è usare il comando &man.send-pr.1;. - Se qualcosa appare inceppato nel sistema, allora puoi anche - raggiungerli mandando un messaggio alla &a.committers;.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Il core team di FreeBSD<anchor id="development-core"></term> - - <indexterm><primary>core team</primary></indexterm> - - <listitem> - <para>Il <firstterm>core team di FreeBSD</firstterm> - dovrebbe essere equivalente al consiglio dirigente se - il FreeBSD Project fosse una azienda. Il compito principale - del core team è assicurarsi che il progetto, nella sua - interezza, sia in buona salute e sia diretto nella - giusta direzione. Una delle funzioni del core team è - invitare sviluppatori responsabili e dedicati a unirsi al nostro - gruppo di committer come altri ne escono. L'attuale core team - è stato eletto da un insieme di candidati committer nel - giugno 2004. - Le elezioni vengono tenute ogni 2 anni.</para> - - <para>Alcuni membri del core team hanno anche aree specifiche di - responsabilità, significando che sono impegnati ad - assicurare che grandi porzioni del sistema funzionino come - annunciato. Per una lista completa degli sviluppatori di FreeBSD - e le loro aree di responsabilità, guarda la <ulink - url="&url.articles.contributors.en;/article.html">Contributors - List</ulink></para> - - <note> - <para>Molti membri del core team sono volontari per quanto - riguarda lo sviluppo di FreeBSD e non beneficiano - finanziariamente dal progetto, così pure - l'<quote>impegno</quote> non dovrebbe essere frainteso come - <quote>supporto garantito</quote>. Allo stesso modo; l'analogia - con il <quote>consiglio direttivo</quote> non è - molto calzante, e può essere più corretto dire che - queste sono persone che hanno rinunciato alle loro vite in - favore di FreeBSD, contro il loro senso del giudizio!</para> - </note> - </listitem> - </varlistentry> - - <varlistentry> - <term>Collaboratori esterni</term> - - <indexterm><primary>collaboratori</primary></indexterm> - - <listitem> - <para>Non da ultimo, il più grande gruppo di sviluppatori - sono gli stessi utenti che ci forniscono feedback e correzioni di - bug quasi costantemente. Il modo principale di tenersi in - contatto con lo sviluppo non centralizzato di FreeBSD è - iscriversi alla &a.hackers; dove queste cose vengono discusse. - Guarda il <xref linkend="eresources"> per maggiori informazioni - sulle varie mailing list di FreeBSD.</para> - - <para><citetitle><ulink - url="&url.articles.contributors.en;/article.html">La - Lista dei Collaboratori di FreeBSD</ulink></citetitle> - è lunga e cresce continuamente, quindi perché non - entri a far parte di essa contribuendo e dando tu qualcosa a - FreeBSD?</para> - - <para>Fornire codice non è il solo modo di contribuire al - progetto, per una lista completa di cose che serve fare, fai - riferimento al <ulink url="&url.base;/it/index.html">sito web del - FreeBSD Project</ulink>.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>In conclusione, il nostro modello di sviluppo è organizzato - come un insieme sciolto di cerchi concentrici. Il modello centralizzato - è progettato per agevolare gli <emphasis>utenti</emphasis> di - FreeBSD, ai quali viene fornito un modo semplice per tenere traccia di - una base di codice centrale, non per tenere fuori potenziali - collaboratori! È nostro desiderio presentare un sistema operativo - stabile con un ampio insieme di <link linkend="ports">programmi - applicativi</link> coerenti che gli utenti possono facilmente - installare ed usare — questo modello funziona molto bene per - realizzare ciò.</para> - - <para>Tutto quello che chiediamo a quelli che vogliono unirsi a noi come - sviluppatori di FreeBSD è un po' della stessa dedizione che - hanno le attuali persone al suo continuo successo!</para> - </sect2> - - <sect2 id="relnotes"> - <title>La Release Corrente di FreeBSD</title> - - <indexterm><primary>NetBSD</primary></indexterm> - <indexterm><primary>OpenBSD</primary></indexterm> - <indexterm><primary>386BSD</primary></indexterm> - <indexterm><primary>Free Software Foundation</primary></indexterm> - <indexterm><primary>U.C. Berkeley</primary></indexterm> - <indexterm> - <primary>Computer Systems Research Group (CSRG)</primary> - </indexterm> - - <para>FreeBSD è liberamente disponibile, è basato tutto su - sorgenti 4.4BSD-Lite, è rilasciato per computer Intel &i386;, - &i486;, &pentium;, &pentium; Pro, &celeron;, &pentium; II, - &pentium; III, &pentium; 4 (o compatibili), &xeon;, DEC - <trademark>Alpha</trademark> e Sun &ultrasparc;. - È basato principalmente su software del gruppo CSRG della - U.C. Berkeley, con alcuni miglioramenti presi da NetBSD, OpenBSD, - 386BSD, e dalla Free Software Foundation.</para> - - <para>Dalla nostra release di FreeBSD 2.0 nel lontano '94, le - prestazioni, l'insieme di caratteristiche, e la stabilità di - FreeBSD sono migliorate notevolmente. - Il più grande cambiamento è - stato la riscrittura del sistema di memoria virtuale con una VM/file - buffer cache integrata che non solo incrementa le prestazioni, ma anche - riduce la richiesta di memoria di FreeBSD, rendendo una configurazione - con 5 MB un minimo accettabile. Altri miglioramenti includono il - completo supporto a client e server NIS, il supporto delle transazioni - TCP, la chiamata-su-richiesta di PPP, il supporto integrato del DHCP, un - sottosistema SCSI migliorato, il supporto ISDN, il supporto per ATM, - FDDI, per gli adattatori Fast e Gigabit Ethernet (1000 Mbit), un - supporto migliorato degli ultimi controller Adaptec, e molte migliaia - di correzioni di bug.</para> - - <para>In aggiunta alla distribuzione di base, FreeBSD offre una - collezione di software portato con migliaia di programmi - comunemente cercati. Alla data di stampa, ci sono oltre - &os.numports; port! La lista dei port comprende server http (WWW), - giochi, linguaggi, editor e quasi tutto quello che sta in mezzo. - L'intera collezione dei port richiede approssimativamente &ports.size; - di spazio, essendo tutti i port espressi come <quote>delta</quote> - dei loro sorgenti originari. Questo rende più facile per - noi aggiornare i port, e riduce di molto la domanda di spazio su - disco dalla vecchia collezione 1.0 dei port. Per compilare un port, - vai semplicemente nella directory che vuoi installare, digita - <command>make install</command> e lascia che il sistema faccia il - resto. La distribuzione originale completa per ogni port che compili - viene presa dinamicamente dal CDROM o da un sito FTP locale, così - hai bisogno solo lo spazio su disco sufficiente per compilare il - port che vuoi. Quasi ogni port viene fornito di un - <quote>package</quote> precompilato che può - essere installato con un semplice comando (<command>pkg_add</command>) - da coloro che non vogliono compilare i propri port dai sorgenti. - Maggiori informazioni sui package e sui port possono essere trovate - nel <xref linkend="ports">.</para> - - <para>Un numero di documenti aggiuntivi che puoi trovare molto utili nel - processo di installazione e di utilizzo di FreeBSD ora può essere - trovato anche nella directory <filename>/usr/share/doc</filename> su - ogni recente macchina FreeBSD. Puoi vedere i - manuali installati localmente con qualsiasi browser HTML usando i - seguenti URL:</para> - - <variablelist> - <varlistentry> - <term>Il Manuale di FreeBSD</term> - - <listitem> - <para><ulink type="html" - url="file://localhost/usr/share/doc/handbook/index.html"><filename>/usr/share/doc/handbook/index.html</filename></ulink></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Domande Comuni su FreeBSD</term> - - <listitem> - <para><ulink type="html" - url="file://localhost/usr/share/doc/faq/index.html"><filename>/usr/share/doc/faq/index.html</filename></ulink></para> - </listitem> - </varlistentry> - </variablelist> - - <para>Puoi vedere anche le copie originali (e aggiornate più - frequentemente) su <ulink - url="&url.base;/it/index.html">http://www.FreeBSD.org/</ulink>.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/kernelconfig/Makefile b/it_IT.ISO8859-15/books/handbook/kernelconfig/Makefile deleted file mode 100644 index 8b6e2f18e1..0000000000 --- a/it_IT.ISO8859-15/books/handbook/kernelconfig/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= kernelconfig/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/kernelconfig/chapter.sgml b/it_IT.ISO8859-15/books/handbook/kernelconfig/chapter.sgml deleted file mode 100644 index 98a3861ead..0000000000 --- a/it_IT.ISO8859-15/books/handbook/kernelconfig/chapter.sgml +++ /dev/null @@ -1,56 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="kernelconfig"> - <title>Configurazione del Kernel di FreeBSD</title> - - <sect1> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1> - <title>Why Build a Custom Kernel?</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="kernelconfig-building"> - <title>Building and Installing a Custom Kernel</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="kernelconfig-config"> - <title>The Configuration File</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="kernelconfig-nodes"> - <title>Making Device Nodes</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="kernelconfig-trouble"> - <title>If Something Goes Wrong</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/l10n/Makefile b/it_IT.ISO8859-15/books/handbook/l10n/Makefile deleted file mode 100644 index 22f0363511..0000000000 --- a/it_IT.ISO8859-15/books/handbook/l10n/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= l10n/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml b/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml deleted file mode 100644 index c2aa6cf160..0000000000 --- a/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml +++ /dev/null @@ -1,1066 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.100 ---> - -<chapter id="l10n"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Andrey A.</firstname> - - <surname>Chernov</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Michael C.</firstname> - - <surname>Wu</surname> - - <contrib>Revisione di </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Localizzazione - Uso e Impostazione dell'I18N/L10N</title> - - <sect1 id="l10n-synopsys"> - <title>Sinossi</title> - - <para>FreeBSD è un progetto di larga diffusione con utenti e - collaboratori in ogni parte del mondo. Questo capitolo affronta quegli - aspetti tipici di FreeBSD relativi all'internazionalizzazione e - localizzazione del sistema che permettono agli utenti non di lingua - inglese di operare in maniera più confortevole. Ci sono molti - aspetti da considerare dell'implementazione I18N sia a livello utente che - di sistema, perciò, ove necessario, si rinvierà il lettore - a fonti di informazione più specifiche.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come i vari linguaggi e nazioni sono codificati nei moderni - sistemi operativi.</para> - </listitem> - - <listitem> - <para>Come impostare la localizzazione per la tua shell di login.</para> - </listitem> - - <listitem> - <para>Come configurare la tua console per una lingua che non sia - l'inglese.</para> - </listitem> - - <listitem> - <para>Come usare concretamente X Window System con differenti - lingue.</para> - </listitem> - - <listitem> - <para>Dove reperire ulteriori informazioni su come scrivere applicazioni - I18N compatibili.</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - <itemizedlist> - <listitem> - <para>Sapere come installare applicazioni aggiuntive di terze parti - (<xref linkend="ports">).</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="l10n-basics"> - <title>Principi di Base</title> - - <sect2> - <title>Cosa significano le sigle I18N/L10N?</title> - - <indexterm><primary>internazionalizzazione</primary></indexterm> - <indexterm><primary>localizzazione</primary></indexterm> - - <para>Gli sviluppatori hanno abbreviato la parola - <quote>internationalization</quote> in I18N, contando il numero di - lettere che costituiscono la parola <quote>internationalization</quote>, - escludendo la prima e l'ultima. Lo stesso è stato fatto per - l'acronimo L10N, che deriva appunto da <quote>localization</quote>. - Combinando insieme i metodi, i protocolli e le applicazioni che - rispettano gli standard I18N/L10N si permette agli utenti di utilizzare - una qualsiasi lingua di propria scelta.</para> - - <para>Le applicazioni I18N sono realizzate mediante appositi kit, - disponibili tramite specifiche librerie. Questo permette agli - sviluppatori di scrivere in un normale file di testo i menù e i - messaggi da visualizzare nel programma e di tradurlo poi nelle varie - lingue. Si raccomandano vivamente i programmatori di seguire questa - convenzione.</para> - </sect2> - - <sect2> - <title>Perché Dovrei Usare I18N/L10N?</title> - - <para>I18N/L10N è usato ogni qualvolta desideri visualizzare, - immettere o processare dati in lingue diverse da quella inglese.</para> - </sect2> - - <sect2> - <title>Quali Lingue sono Disponibili nel Lavoro I18N?</title> - - <para>I18N e L10N non sono caratteristiche specifiche di FreeBSD. Al - momento, è possibile scegliere fra la maggior parte delle lingue - più diffuse nel mondo, tra le quali: cinese, tedesco, giapponese, - francese, russo, italiano e altre ancora.</para> - </sect2> - </sect1> - - <sect1 id="using-localization"> - <title>Come Utilizzare la Localizzazione</title> - - <para>Vista la sua importanza, I18N non è specifico del sistema - FreeBSD ed è una convenzione. Siete invitati ad aiutare - il progetto FreeBSD per sostenere questa convenzione.</para> - - <indexterm><primary>locale</primary></indexterm> - - <para>Le impostazioni per la localizzazione o nazionalizzazione sono basate - su tre termini principali: Codice Lingua, Codice Nazione e Codifica. I - nomi che contraddistinguono una localizzazione sono formati utilizzando - questi termini nel modo seguente:</para> - - <programlisting><replaceable>CodiceLingua</replaceable>_<replaceable>CodiceNazione</replaceable>.<replaceable>Codifica</replaceable></programlisting> - - <sect2> - <title>I Codici per la Lingua e la Nazione</title> - - <indexterm><primary>codici lingua</primary></indexterm> - <indexterm><primary>codici nazione</primary></indexterm> - - <para>Al fine di localizzare un sistema FreeBSD (o qualsiasi altro sistema - &unix; che gestisca I18N) in una specifica lingua, l'utente deve - innanzitutto conoscere i codici della nazione e della lingua desiderati - (i codici delle nazioni segnalano alle applicazioni quali convenzioni - adottare all'interno di un dato linguaggio). Inoltre, i browser web, i - server SMTP/POP, i server web, ecc. possono operare in base ad essi. - I seguenti sono esempi di codici lingua/nazione:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Codice Lingua/Nazione</entry> - - <entry>Descrizione</entry> - </row> - </thead> - - <tbody> - <row> - <entry>en_US</entry> - - <entry>inglese - Stati Uniti d'America</entry> - </row> - - <row> - <entry>ru_RU</entry> - - <entry>russo - Russia</entry> - </row> - - <row> - <entry>zh_TW</entry> - - <entry>cinese tradizionale - Taiwan</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2> - <title>Codifiche</title> - - <indexterm><primary>codifiche</primary></indexterm> - <indexterm><primary>ASCII</primary></indexterm> - - <para>Alcune lingue utilizzano codifiche non ASCII, cioè caratteri - a 8 bit, estesi o multibyte, vedere &man.multibyte.3; per maggiori - dettagli. Le applicazioni più vecchie, non riconoscendoli, li - interpretano come caratteri di controllo. Quelle più recenti - invece riconoscono di solito i caratteri a 8 bit. A seconda - dell'implementazione, è possibile che gli utenti debbano - ricompilare un'applicazione con il supporto ai caratteri estesi o - multibyte, o debbano configurare l'applicazione in modo corretto. Per - essere in grado di immettere e di elaborare caratteri estesi o - multibyte, la <ulink url="&url.base;/ports/index.html">FreeBSD Ports - Collection</ulink> fornisce vari programmi in differenti linguaggi. - Si faccia riferimento alla relativa documentazione I18N del port - di FreeBSD.</para> - - <para>Precisamente, l'utente deve consultare la documentazione propria - dell'applicazione per conoscere come configurarla correttamente o come - passare i giusti valori al configuratore/Makefile/compilatore.</para> - - <para>Alcune cose da tener presente sono:</para> - - <itemizedlist> - <listitem> - <para>Gli insiemi di caratteri rappresentabili dal tipo char del - linguaggio C, specifici della lingua (vedere &man.multibyte.3;), - cioè ISO-8859-1, ISO-8859-15, KOI8-R, CP437.</para> - </listitem> - - <listitem> - <para>Codifiche estese o multibyte, cioè EUC, Big5.</para> - </listitem> - </itemizedlist> - - <para>Puoi consultare l'elenco corrente degli insiemi di caratteri nel - <ulink - url="ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets">Registro - IANA</ulink>.</para> - - <note> - <para>Con le versioni 4.5 o successive di FreeBSD si utilizzino le - codifiche per la localizzazione compatibili con X11.</para> - </note> - </sect2> - - <sect2> - <title>Applicazioni I18N</title> - - <para>Nel sistema dei port e dei pacchetti precompilati di FreeBSD, le - applicazioni I18N sono facilmente riconoscibili, perché il loro - nome include la sigla <literal>I18N</literal>. Tuttavia, non sempre - queste potrebbero supportare la lingua desiderata.</para> - </sect2> - - <sect2 id="setting-locale"> - <title>Impostazione del Locale</title> - - <para>Di solito è sufficiente esportare il valore del nome del - locale posto nella variabile <envar>LANG</envar> all'interno della shell - di login. Questo può essere fatto utilizzando il file - dell'utente <filename>~/.login_conf</filename> oppure il file di - configurazione della shell di login dell'utente - (<filename>~/.profile</filename>, <filename>~/.bashrc</filename>, - <filename>~/.cshrc</filename>). Non c'è bisogno di impostare le - altre variabili del locale, come <envar>LC_CTYPE</envar>, - <envar>LC_CTIME</envar>. Per maggiori informazioni si faccia - riferimento alla documentazione di FreeBSD specifica per la data - lingua.</para> - - <para>Puoi settare le due variabili d'ambiente seguenti nei tuoi file di - configurazione:</para> - - <itemizedlist> - <indexterm><primary>POSIX</primary></indexterm> - - <listitem> - <para><envar>LANG</envar> per le funzioni appartenenti alla - famiglia &posix;, &man.setlocale.3;</para> - </listitem> - - <indexterm><primary>MIME</primary></indexterm> - - <listitem> - <para><envar>MM_CHARSET</envar> per l'insieme dei caratteri che - dovranno usare le applicazioni che supportano lo standard - MIME</para> - </listitem> - </itemizedlist> - - <para>Ciò va fatto per la configurazione della shell dell'utente, - di un'applicazione specifica e per quella di X11.</para> - - <sect3> - <title>Metodi di Localizzazione</title> - - <indexterm><primary>locale</primary></indexterm> - <indexterm><primary>classe di login</primary></indexterm> - - <para>Ci sono due metodi per impostare il locale, entrambi descritti qui - di seguito. Il primo (raccomandato) consiste nell'impostare le - variabili d'ambiente in una <link linkend="login-class">classe di - login</link>, mentre il secondo consiste nell'aggiungere i valori - delle variabili d'ambiente al <link linkend="startup-file">file - d'avvio</link> della shell di sistema.</para> - - <sect4 id="login-class"> - <title>Metodo delle Classi di Login</title> - - <para>Questo metodo fa sì che le variabili d'ambiente - necessarie per il nome del locale e per gli insiemi dei caratteri - MIME vengano inizializzate una volta sola per ogni possibile shell - di sistema invece di aggiungere specifici assegnamenti per ogni file - d'avvio di shell. Il <link linkend="usr-setup">Setup a Livello - Utente</link> può essere fatto dall'utente stesso e il - <link linkend="adm-setup">Setup a Livello Amministratore</link> - richiede i privilegi del superuser.</para> - - <sect5 id="usr-setup"> - <title>Setup a Livello Utente</title> - - <para>Ecco un breve esempio di un file - <filename>.login_conf</filename> posto nella directory home di un - utente che ha entrambe le variabili impostate alla codifica - Latin-1:</para> - - <programlisting>me:\ -:charset=ISO-8859-1:\ -:lang=de_DE.ISO8859-1:</programlisting> - - <indexterm> - <primary>cinese tradizionale</primary> - <secondary>codifica BIG-5</secondary> - </indexterm> - - <para>Ecco invece un esempio di un file - <filename>.login_conf</filename> che imposta le variabili per il - cinese tradizionale con codifica BIG-5. Si noti che sono state - impostate molte variabili perchè alcuni programmi non - rispettano come dovrebbero le variabili di localizzazione per il - cinese, giapponese e il coreano.</para> - - <programlisting>#Gli utenti che non vogliono usare l'unità monetaria o i formati temporali -#di Taiwan possono modificare manualmente ogni variabile -me:\ - :lang=zh_TW.Big5:\ - :lc_all=zh_TW.Big:\ - :lc_collate=zh_TW.Big5:\ - :lc_ctype=zh_TW.Big5:\ - :lc_messages=zh_TW.Big5:\ - :lc_monetary=zh_TW.Big5:\ - :lc_numeric=zh_TW.Big5:\ - :lc_time=zh_TW.Big5:\ - :charset=big5:\ - :xmodifiers="@im=xcin": #Setta il XIM Input Server</programlisting> - - <para>Vedere il paragrafo <link linkend="adm-setup">Setup a Livello - Amministratore</link> e &man.login.conf.5; per maggiori - dettagli.</para> - </sect5> - - <sect5 id="adm-setup"> - <title>Setup a Livello Amministratore</title> - - <para>Controlla che la classe di login dell'utente in - <filename>/etc/login.conf</filename> selezioni la lingua corretta. - Assicurati che queste impostazioni appaiano in - <filename>/etc/login.conf</filename>:</para> - - <programlisting><replaceable>nome_lingua</replaceable>:<replaceable>titolo_account</replaceable>:\ -:charset=<replaceable>MIME_charset</replaceable>:\ -:lang=<replaceable>nome_locale</replaceable>:\ -:tc=default:</programlisting> - - <para>Ritornando quindi all'esempio di prima che utilizzava Latin-1, - si dovrebbe avere una cosa simile a questa:</para> - - <programlisting>tedesco:Account Utenti Tedeschi:\ -:charset=ISO-8859-1:\ -:lang=de_DE.ISO8859-1:\ -:tc=default:</programlisting> - - <bridgehead renderas="sect4">Modifica delle Classi di Login con - &man.vipw.8;</bridgehead> - - <indexterm><primary><command>vipw</command></primary></indexterm> - - <para>Usa <command>vipw</command> per aggiungere nuovi utenti, e - crea qualcosa di simile a quanto segue:</para> - - <programlisting>utente:password:1111:11:<replaceable>lingua</replaceable>:0:0:Nome Utente:/home/user:/bin/sh</programlisting> - - <bridgehead renderas=sect4>Modifica delle Classi di Login con - &man.adduser.8;</bridgehead> - - <indexterm><primary><command>adduser</command></primary></indexterm> - <indexterm><primary>classe di login</primary></indexterm> - - <para>Usa <command>adduser</command> per aggiungere nuovi utenti, in - questo modo:</para> - - <itemizedlist> - <listitem> - <para>Imposta <literal>defaultclass = - <replaceable>lingua</replaceable></literal> in - <filename>/etc/adduser.conf</filename>. Tieni presente che - in questo modo dovrai inserire una classe - <literal>default</literal> per tutti gli utenti di altre - lingue.</para> - </listitem> - - <listitem> - <para>In alternativa si può specificare la lingua - desiderata ogni volta che appare il prompt - <screen><prompt>Enter login class: default []: </prompt></screen> - durante l'esecuzione di &man.adduser.8;</para> - </listitem> - - <listitem> - <para>Un'altra alternativa è utilizzare il comando nel - modo seguente per ogni utente di una diversa lingua che si - desidera aggiungere:</para> - - <screen>&prompt.root; <userinput>adduser -class <replaceable>lingua</replaceable></userinput></screen> - </listitem> - </itemizedlist> - - <bridgehead renderas="sect4">Cambiare le Classi di Login con &man.pw.8;</bridgehead> - - <indexterm><primary><command>pw</command></primary></indexterm> - - <para>Se utilizzi il comando &man.pw.8; per aggiungere nuovi utenti, - invocalo in questo modo:</para> - - <screen>&prompt.root; <userinput>pw useradd <replaceable>nome_utente</replaceable> -L <replaceable>lingua</replaceable></userinput></screen> - </sect5> - </sect4> - - <sect4 id="startup-file"> - <title>Metodo del File di Avvio della Shell</title> - - <note> - <para>Questo metodo è sconsigliato perché richiede una - inizializzazione diversa per ogni possibile shell. Usa invece il - <link linkend="login-class">Metodo delle Classi di - Login</link>.</para> - </note> - - <indexterm><primary>MIME</primary></indexterm> - <indexterm><primary>locale</primary></indexterm> - - <para>Per aggiungere il nome del locale e l'insieme dei caratteri per - lo standard MIME, bisogna semplicemente settare le due variabili - d'ambiente mostrate di seguito nei file d'avvio della shell - <filename>/etc/profile</filename> e/o - <filename>/etc/csh.login</filename>. Nell'esempio che segue viene - utilizzata la lingua tedesca:</para> - - <para>In <filename>/etc/profile</filename>:</para> - - <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar> -<envar>MM_CHARSET=ISO8859-1; export MM_CHARSET</envar></programlisting> - - <para>Oppure in <filename>/etc/csh.login</filename>:</para> - - <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar> -<envar>setenv MM_CHARSET ISO8859-1</envar></programlisting> - - <para>Lo stesso risultato si ottiene aggiungendo i precedenti comandi - al file <filename>/usr/share/skel/dot.profile</filename> (per i - comandi usati in <filename>/etc/profile</filename>), oppure al file - <filename>/usr/share/skel/dot.login</filename> (per quelli in - <filename>/etc/csh.login</filename>).</para> - - <para>Per l'ambiente X11:</para> - - <para>Nel file <filename>$HOME/.xinitrc</filename>:</para> - - <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting> - - <para>Oppure:</para> - - <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting> - - <para>a seconda della shell utilizzata (vedi sopra).</para> - </sect4> - </sect3> - </sect2> - - <sect2 id="setting-console"> - <title>Settaggio della Console</title> - - <para>Per tutti gli insiemi di caratteri che sono rappresentabili con il - tipo char in C, imposta i font della console adatti alla lingua - prescelta in <filename>/etc/rc.conf</filename>:</para> - - <programlisting>font8x16=<replaceable>nome_font</replaceable> -font8x14=<replaceable>nome_font</replaceable> -font8x8=<replaceable>nome_font</replaceable></programlisting> - - <para><replaceable>nome_font</replaceable> è il nome di uno dei - file di font presenti nella directory - <filename>/usr/share/syscons/fonts</filename>, privato del suffisso - <filename>.fnt</filename>.</para> - - <indexterm> - <primary><application>sysinstall</application></primary> - </indexterm> - <indexterm><primary>keymap</primary></indexterm> - <indexterm><primary>screenmap</primary></indexterm> - - <para>Assicurati anche di impostare la giusta mappatura della tastiera - e del video per il proprio set di caratteri usando - <filename>/stand/sysinstall</filename>. Una volta all'interno di - <application>sysinstall</application>, seleziona - <guimenuitem>Configure</guimenuitem>, quindi - <guimenuitem>Console</guimenuitem>. In alternativa, aggiungi le - seguenti righe in <filename>/etc/rc.conf</filename>:</para> - - <programlisting>scrnmap=<replaceable>nome_screenmap</replaceable> -keymap=<replaceable>nome_keymap</replaceable> -keychange="<replaceable>numero_tasto_funzione sequenza</replaceable>"</programlisting> - - <para><replaceable>nome_screenmap</replaceable> viene preso dalla - directory <filename>/usr/share/syscons/scrnmaps</filename>, privato del - suffisso <filename>.scm</filename>. Una <emphasis>screenmap</emphasis> - assieme ad una corrispondente mappa dei font è solitamente - necessaria nel caso la scheda grafica non gestisca i font via software, - ma li abbia codificati internamente; la screenmap serve appunto a - rimappare tali font interni nel font prescelto.</para> - - <para>Se hai abilitato il demone <application>moused</application> - inserendo la seguente riga in <filename>/etc/rc.conf</filename>:</para> - - <programlisting>moused_enable="YES"</programlisting> - - <para>allora leggi quanto riportato nel prossimo paragrafo sul cursore - del mouse.</para> - - <indexterm> - <primary><application>moused</application></primary> - </indexterm> - - <para>Di default il cursore del mouse del driver &man.syscons.4; occupa - l'intervallo da 0xd0 a 0xd3 nel set di caratteri in uso. Se la tua - lingua utilizza tali caratteri, devi spostare l'intervallo occupato dal - cursore. Per far questo con le versioni anteriori alla 5.0 di FreeBSD, - inserisci la seguente riga nel tuo file di configurazione del - kernel:</para> - - <programlisting>options SC_MOUSE_CHAR=0x03</programlisting> - - <para>Per le versioni 4.4 e successive aggiungi la seguente riga al file - <filename>/etc/rc.conf</filename>:</para> - - <programlisting>mousechar_start=3</programlisting> - - <para><replaceable>nome_keymap</replaceable> deve invece corrispondere a - uno dei file presenti nella directory - <filename>/usr/share/syscons/keymaps</filename>, privato del suffisso - <filename>.kbd</filename>. Se sei indeciso su quale - <emphasis>keymap</emphasis> scegliere, puoi usare il comando - &man.kbdmap.1; per testare le varie mappature senza dover riavviare il - sistema.</para> - - <para>La variabile <literal>keychange</literal> è di solito - richiesta per programmare i tasti funzione in relazione al tipo di - terminale in uso, poiché le sequenze generate da un tasto - funzione non possono essere definite in una mappa di tasti.</para> - - <para>Assicurati inoltre di impostare il corretto tipo di terminale in - <filename>/etc/ttys</filename> per tutte le voci del tipo - <literal>ttyv*</literal>. Attualmente, le corrispondenze predefinite - sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Insieme di Caratteri</entry> - - <entry>Tipo di Terminale</entry> - </row> - </thead> - - <tbody> - <row> - <entry>ISO-8859-1 o ISO-8859-15</entry> - - <entry><literal>cons25l1</literal></entry> - </row> - - <row> - <entry>ISO-8859-2</entry> - - <entry><literal>cons25l2</literal></entry> - </row> - - <row> - <entry>ISO-8859-7</entry> - - <entry><literal>cons25l7</literal></entry> - </row> - - <row> - <entry>KOI8-R</entry> - - <entry><literal>cons25r</literal></entry> - </row> - - <row> - <entry>KOI8-U</entry> - - <entry><literal>cons25u</literal></entry> - </row> - - <row> - <entry>CP437 (di default per VGA)</entry> - - <entry><literal>cons25</literal></entry> - </row> - - <row> - <entry>US-ASCII</entry> - - <entry><literal>cons25w</literal></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Per i linguaggi che usano caratteri estesi o multibyte, è - bene servirsi del corretto port di FreeBSD nella directory - <filename>/usr/ports/<replaceable>linguaggio</replaceable></filename>. - Poichè alcuni port che si presentano come console sono - riconosciuti dal sistema come terminali seriali virtuali (vtty), devi - riservare abbastanza vtty sia per X11 che per la console pseudo-seriale. - Ecco una lista parziale di applicazioni con cui si possono utilizzare - altri linguaggi in console:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Linguaggio</entry> - - <entry>Ubicazione</entry> - </row> - </thead> - - <tbody> - <row> - <entry>cinese tradizionale (BIG-5)</entry> - - <entry><filename - role="package">/usr/ports/chinese/big5con</filename></entry> - </row> - - <row> - <entry>giapponese</entry> - - <entry><filename - role="package">/usr/ports/japanese/ja-kon2-*</filename> oppure - <filename - role="package">/usr/ports/japanese/Mule_Wnn</filename></entry> - </row> - - <row> - <entry>coreano</entry> - - <entry><filename - role="package">/usr/ports/korean/ko-han</filename></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2> - <title>Impostazione di X11</title> - - <para>Sebbene X11 non faccia parte del progetto FreeBSD, vengono qui - fornite alcune informazioni per gli utenti di FreeBSD. Per maggiori - dettagli, si faccia riferimento al sito web <ulink - url="http://www.xfree86.org/">&xfree86;</ulink> o a quello del Server - X11 utilizzato.</para> - - <para>Nel file <filename>~/.Xresources</filename>, puoi mettere a punto le - impostazioni per I18N specifiche di un'applicazione (ad esempio, i font, - i menu, ecc.).</para> - - <sect3> - <title>Visualizzazione dei Font</title> - - <indexterm><primary>server font True Type per X11</primary></indexterm> - - <para>Installa il server &truetype; Common di X11 (<filename - role="package">x11-servers/XttXF86srv-common</filename>) e i - corrispondenti font &truetype; propri della lingua prescelta. - L'impostazione del corretto locale dovrebbe permetterti di - visualizzare tale lingua nei vari menu, ecc.</para> - </sect3> - - <sect3> - <title>Immissione di Caratteri Non Inglesi</title> - - <indexterm><primary>X11 Input Method (XIM)</primary></indexterm> - - <para>Il protocollo X11 Input Method (XIM) è un nuovo standard - per tutti i client X11. Tutte le applicazioni X11 dovrebbero essere - scritte come client XIM che ricevono l'input dai server XIM. Vi sono - parecchi server XIM disponibili per le differenti lingue.</para> - </sect3> - </sect2> - - <sect2> - <title>Configurazione della Stampante</title> - - <para>Alcuni set di caratteri del tipo char del C sono solitamente - codificati a livello hardware all'interno delle stampanti stesse. - Gli insiemi di caratteri estesi o multibyte richiedono invece una - speciale configurazione e si raccomanda l'utilizzo di - <application>apsfilter</application>. Puoi anche convertire documenti - nei formati &postscript; o PDF utilizzando convertitori specifici per - una data lingua.</para> - </sect2> - - <sect2> - <title>Il Kernel e i File System</title> - - <para>Il file system di FreeBSD FFS (Fast File System) è - completamente a 8-bit, perciò può essere utilizzato con - qualsiasi insieme di caratteri del tipo char del C (vedere - &man.multibyte.3;), ma non vi è un nome particolare di un insieme - di caratteri memorizzato nel file system; cioè, il file system - è a 8 bit senza alcuna codifica interna e ignora un'eventuale - codifica. Ufficialmente, FFS non supporta ancora alcuna forma degli - insiemi di caratteri estesi o multibyte. Tuttavia, esistono per alcuni - di questi delle patch indipendenti per il FFS che abilitano tale - supporto. Sono solo soluzioni temporanee, non portabili ed si è - deciso di non includerle nell'albero dei sorgenti. Si faccia - riferimento ai rispettivi siti web della lingua desiderata per - ulteriori informazioni e per i file di patch.</para> - - <indexterm><primary>DOS</primary></indexterm> - <indexterm><primary>Unicode</primary></indexterm> - - <para>Il supporto per il file system di &ms-dos; in FreeBSD offre la - possibilità di configurare la modalità di conversione tra - gli insiemi di caratteri &ms-dos;, Unicode e quelli scelti per il - file system di FreeBSD. Consultare &man.mount.msdos.8; per i - dettagli.</para> - </sect2> - </sect1> - - <sect1 id="l10n-compiling"> - <title>Compilazione dei Programmi con Supporto I18N</title> - - <para>Molti dei port di FreeBSD includono il supporto I18N. Alcuni di essi - sono contrassegnati dal suffisso -I18N nel loro nome. Questi e molti - altri programmi hanno il supporto per I18N già incluso e non - necessitano perciò di speciali considerazioni.</para> - - <indexterm><primary><application>MySQL</application></primary></indexterm> - - <para>Tuttavia, alcune applicazioni come ad esempio - <application>MySQL</application> richiedono che venga specificato nel - <filename>Makefile</filename> l'insieme dei caratteri che si - utilizzeranno. Questa operazione viene fatta o modificando direttamente - il suddetto file oppure passando un opportuno valore al programma - <command>configure</command> nella directory dei sorgenti.</para> - </sect1> - - <sect1 id="lang-setup"> - <title>Localizzazione di FreeBSD con Lingue Particolari</title> - - <sect2 id="ru-localize"> - <sect2info> - <authorgroup> - <author> - <firstname>Andrey A.</firstname> - - <surname>Chernov</surname> - - <contrib>Contributo originale di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Lingua Russa (Codifica KOI8-R)</title> - - <indexterm> - <primary>localizzazione</primary> - <secondary>russo</secondary> - </indexterm> - - <para>Per maggiori informazioni sulla codifica KOI8-R, si veda - la <ulink url="http://koi.pp.ru/">fonte di riferimento per - il KOI8-R (Russian Net Character Set)</ulink>.</para> - - <sect3> - <title>Impostazione del Locale</title> - - <para>Metti le seguenti righe nel tuo file - <filename>~/.login_conf</filename>:</para> - - <programlisting>me:My Account:\ -:charset=KOI8-R:\ -:lang=ru_RU.KOI8-R:</programlisting> - - <para>Si veda quanto esposto precedentemente in questo capitolo per - degli esempi di impostazione del <link - linkend="setting-locale">locale</link>.</para> - </sect3> - - <sect3> - <title>Configurazione della Console</title> - - <itemizedlist> - <listitem> - <para>Per le versioni di FreeBSD precedenti la 5.0 aggiungi la - seguente opzione nel tuo file di configurazione del kernel:</para> - - <programlisting>options SC_MOUSE_CHAR=0x03</programlisting> - - <para>Per le versioni 4.4 e seguenti inserisci la seguente riga - nel file <filename>/etc/rc.conf</filename>:</para> - - <programlisting>mousechar_start=3</programlisting> - </listitem> - - <listitem> - <para>Utilizza le seguenti impostazioni nel file - <filename>/etc/rc.conf</filename>:</para> - - <programlisting>keymap="ru.koi8-r" -scrnmap="koi8-r2cp866" -font8x16="cp866b-8x16" -font8x14="cp866-8x14" -font8x8="cp866-8x8"</programlisting> - </listitem> - - <listitem> - <para>Per ogni voce <literal>ttyv*</literal> nel file - <filename>/etc/ttys</filename>, usa <literal>cons25r</literal> - come tipo di terminale.</para> - </listitem> - </itemizedlist> - - <para>Si veda quanto esposto in precedenza in questo capitolo per degli - esempi su come impostare la <link - linkend="setting-console">console</link>.</para> - </sect3> - - <sect3> - <title>Configurazione della Stampante</title> - - <indexterm><primary>stampanti</primary></indexterm> - - <para>Dal momento che la maggior parte delle stampanti con caratteri - russi hanno a livello hardware la codifica codepage CP866, è - necessario utilizzare uno speciale filtro di conversione da KOI8-R a - CP866. Tale filtro viene installato di default come - <filename>/usr/libexec/lpr/ru/koi2alt</filename>. La voce per una - stampante russa dovrebbe apparire perciò così in - <filename>/etc/printcap</filename>:</para> - - <programlisting>lp|Russian local line printer:\ -:sh:of=/usr/libexec/lpr/ru/koi2alt:\ -:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting> - - <para>Si veda &man.printcap.5; per una spiegazione dettagliata - del significato dei vari campi.</para> - </sect3> - - <sect3> - <title>Nomi di File Russo e File System &ms-dos;</title> - - <para>La seguente voce d'esempio di &man.fstab.5; abilita il supporto - per i nomi di file in russo su file system &ms-dos;:</para> - - <programlisting>/dev/ad0s2 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0</programlisting> - - <para>L'opzione <option>-L</option> seleziona il nome locale usato, e - <option>-W</option> imposta la tabella di coversione dei caratteri. - Per usare l'opzione <option>-W</option>, assicurati di montare - <filename>/usr</filename> prima della partizione &ms-dos; - perché le tabelle di conversione sono posizionate in - <filename>/usr/libdata/msdosfs</filename>. Per maggiori informazioni, - guarda la pagina man di &man.mount.msdos.8;.</para> - </sect3> - - <sect3> - <title>Configurazione di X11</title> - - <orderedlist> - <listitem> - <para>Segui innanzitutto la configurazione del <link - linkend="setting-locale">locale in console</link> come descritto - in precedenza.</para> - - <note> - <para><anchor id="russian-note">Il locale russo KOI8-R potrebbe - non funzionare con le vecchie versioni di - <application>&xfree86;</application> (precedenti alla 3.3). - <application>&xfree86; 4.X</application> è ora la - versione di default del sistema X Window in FreeBSD. - Perciò non dovrebbe costituire più un - problema a meno che non stai usando una versione piuttosto - vecchia di FreeBSD.</para> - </note> - </listitem> - - <listitem> - <para>Vai nella directory <filename - role="package">/usr/ports/russian/X.language</filename> e dai il - seguente comando:</para> - - <screen>&prompt.root; <userinput>make install</userinput></screen> - - <para>Questo port installa l'ultima versione disponibile dei font - KOI8-R. <application>&xfree86; 3.3</application> possiede - già alcuni font KOI8-R, ma questi sono meglio - dimensionati.</para> - - <para>Controlla la sezione <literal>"Files"</literal> nel tuo file - <filename>/etc/XF86Config</filename>. Le seguenti righe devono - essere aggiunte <emphasis>prima</emphasis> di qualsiasi altra voce - <literal>FontPath</literal>:</para> - - <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" -FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" -FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting> - - <para>Se utilizzi una modalità video ad alta risoluzione, - scambia le righe 75 dpi e 100 dpi.</para> - </listitem> - - <listitem> - <para>Per attivare la tastiera russa, aggiungi alla sezione - <literal>"Keyboard"</literal> del tuo file - <filename>XF86Config</filename> queste cose.</para> - - <para>Per &xfree86; v3.X:</para> - - <programlisting>XkbLayout "ru" -XkbOptions "grp:caps_toggle"</programlisting> - - <para>Per &xfree86; v4.X:</para> - - <programlisting>Option "XkbLayout" "ru" -Option "XkbOptions" "grp:caps_toggle"</programlisting> - - <para>Verifica inoltre che la riga <literal>XkbDisable</literal> - sia commentata.</para> - - <para>Il tasto per passare dalla codifica russa (RUS) a quella dei - caratteri latini (LAT) è <keycap>CapsLock</keycap>. La - normale funzione del tasto <keycap>CapsLock</keycap> è - ancora disponibile mediante la combinazione di tasti <keycombo - action="simul"> - <keycap>Shift</keycap> - <keycap>CapsLock</keycap> - </keycombo> (solamente in modalità LAT).</para> - - <para>Se hai i tasti <quote>&windows;</quote> sulla tua tastiera, e - noti che alcuni tasti non alfabetici sono mappati non - correttamente in modalità RUS, aggiungi in - <filename>XF86Config</filename> la seguente riga.</para> - - <para>Per &xfree86; v3.X:</para> - - <programlisting>XkbVariant "winkeys"</programlisting> - - <para>Per &xfree86; v4.X:</para> - - <programlisting>Option "XkbVariant" "winkeys"</programlisting> - - <note> - <para>La tastiera russa XKB potrebbe non funzionare con le vecchie - versioni di <application>&xfree86;</application>; vedere la - <link linkend="russian-note">nota precedente</link> per - ulteriori informazioni a riguardo. La tastiera russa XKB - potrebbe anche presentare delle anomalie anche con applicazioni - che non abbiamo il supporto per la localizzazione. Queste - applicazioni dovrebbero come minimo effettuare all'avvio una - chiamata alla funzione <literal>XtSetLanguageProc (NULL, NULL, - NULL);</literal>. Vedere <ulink - url="http://koi8.pp.ru/xwin.html">KOI8-R per X Window</ulink> - per più informazioni su come localizzare - un'applicazione.</para> - </note> - </listitem> - </orderedlist> - </sect3> - </sect2> - - <sect2> - <title>Localizzazione del Cinese Tradizionale per Taiwan</title> - - <indexterm> - <primary>localizzazione</primary> - <secondary>cinese tradizionale</secondary> - </indexterm> - - <para>Il FreeBSD-Taiwan Project fornisce un Chinese HOWTO - per FreeBSD all'indirizzo <ulink - url="http://freebsd.sinica.edu.tw/~statue/freebsd/zh-tut/"></ulink> - per l'utilizzo di gran parte delle applicazioni in cinese. - L'attuale autore del <literal>FreeBSD Chinese HOWTO</literal> - è Shen Chuan-Hsing - <email>statue@freebsd.sinica.edu.tw</email>.</para> - - <para>Chuan-Hsing Shen <email>statue@freebsd.sinica.edu.tw</email> ha - creato la <ulink url="http://netlab.cse.yzu.edu.tw/~statue/cfc/">Chinese - FreeBSD Collection (CFC)</ulink> utilizzando <literal>zh-l10n-tut</literal> del - FreeBSD-Taiwan Project. I pacchetti e i file di script sono disponibili - all'url <ulink - url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/"></ulink>.</para> - </sect2> - - <sect2> - <title>Localizzazione della Lingua Tedesca (per Tutte le Lingue ISO - 8859-1)</title> - - <indexterm> - <primary>localizzazione</primary> - <secondary>tedesco</secondary> - </indexterm> - - <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> ha scritto un - tutorial su come utilizzare le lettere con l'<emphasis>umlaut</emphasis> - su una macchina FreeBSD. Il tutorial è scritto in tedesco e - disponibile all'indirizzo <ulink - url="http://www.de.FreeBSD.org/de/umlaute/"></ulink>.</para> - </sect2> - - <sect2> - <title>Localizzazione della Lingua Giapponese e Coreana</title> - - <indexterm> - <primary>localizzazione</primary> - <secondary>giapponese</secondary> - </indexterm> - <indexterm> - <primary>localizzazione</primary> - <secondary>coreano</secondary> - </indexterm> - - <para>Per il giapponese, vedere l'url <ulink - url="http://www.jp.FreeBSD.org/"></ulink>, per il coreano, l'url - <ulink url="http://www.kr.FreeBSD.org/"></ulink>.</para> - </sect2> - - <sect2> - <title>Documentazione Non Inglese per FreeBSD</title> - - <para>Alcuni volontari hanno tradotto parte della documentazione di - FreeBSD in altre lingue. Questo materiale è raggiungibile - seguendo i link segnalati sul <ulink - url="&url.base;/it/index.html">sito ufficiale di FreeBSD</ulink> - oppure sotto la directory <filename>/usr/share/doc</filename>.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/linuxemu/Makefile b/it_IT.ISO8859-15/books/handbook/linuxemu/Makefile deleted file mode 100644 index 23a200867e..0000000000 --- a/it_IT.ISO8859-15/books/handbook/linuxemu/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= linuxemu/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.sgml b/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.sgml deleted file mode 100644 index 6dfe7386d8..0000000000 --- a/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.sgml +++ /dev/null @@ -1,62 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="linuxemu"> - <title>Compatibilità con i Binari di Linux</title> - - <sect1> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="linuxemu-lbc-install"> - <title>Installation</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="linuxemu-mathematica"> - <title>Installing Mathematica</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="linuxemu-maple"> - <title>Installing Maple</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="linuxemu-oracle"> - <title>Installing Oracle</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="sapr3"> - <title>Installing SAP R/3</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1> - <title>Advanced Topics</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/mac/Makefile b/it_IT.ISO8859-15/books/handbook/mac/Makefile deleted file mode 100644 index 6f89f60b36..0000000000 --- a/it_IT.ISO8859-15/books/handbook/mac/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= mac/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/mac/chapter.sgml b/it_IT.ISO8859-15/books/handbook/mac/chapter.sgml deleted file mode 100644 index d89ed3e140..0000000000 --- a/it_IT.ISO8859-15/books/handbook/mac/chapter.sgml +++ /dev/null @@ -1,122 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="mac"> - <title>Mandatory Access Control</title> - - <sect1 id="mac-synopsis"> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-inline-glossary"> - <title>Key Terms in this Chapter</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-initial"> - <title>Explanation of MAC</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-understandlabel"> - <title>Understanding MAC Labels</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-modules"> - <title>Module Configuration</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-bsdextended"> - <title>The MAC bsdextended Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-ifoff"> - <title>The MAC ifoff Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-portacl"> - <title>The MAC portacl Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-labelingpolicies"> - <title>MAC Policies with Labeling Features</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-partition"> - <title>The MAC partition Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-mls"> - <title>The MAC Multi-Level Security Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-biba"> - <title>The MAC Biba Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-lomac"> - <title>The MAC LOMAC Module</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-implementing"> - <title>Implementing a Secure Environment with MAC</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="MAC-examplehttpd"> - <title>Another Example: Using MAC to Constrain A Web Server</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-examplesandbox"> - <title>An Example of a MAC Sandbox</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="mac-troubleshoot"> - <title>Troubleshooting the MAC Framework</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/mail/Makefile b/it_IT.ISO8859-15/books/handbook/mail/Makefile deleted file mode 100644 index f71563ad01..0000000000 --- a/it_IT.ISO8859-15/books/handbook/mail/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= mail/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml b/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml deleted file mode 100644 index 2aa55959ff..0000000000 --- a/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml +++ /dev/null @@ -1,2370 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.120 ---> - -<chapter id="mail"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Bill</firstname> - - <surname>Lloyd</surname> - - <contrib>Lavoro originale di </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Jim</firstname> - - <surname>Mock</surname> - - <contrib>Rielaborato da </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Posta Elettronica</title> - - <sect1 id="mail-synopsis"> - <title>Sinossi</title> - - <indexterm><primary>email</primary></indexterm> - <indexterm><primary>posta elettronica</primary></indexterm> - - <para>La <quote>Posta Elettronica</quote>, meglio conosciuta come email, - è una delle forme di comunicazione maggiormente utilizzate - tutt'oggi. Questo capitolo fornisce un'introduzione di base per - eseguire un server di posta su &os;, come pure un'introduzione per inviare - e ricevere la posta elettronica usando &os;; comunque, questo non è - un riferimento completo e infatti molte considerazioni importanti sono - omesse. Per coprire questo argomento in modo più completo, si - rimanda il lettore alla moltitudine di eccellenti libri elencati - nell'<xref linkend="bibliography">.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Quali componenti software vengono coinvolti nell'invio e - nella ricezione della posta elettronica.</para> - </listitem> - - <listitem> - <para>Dove sono collocati in FreeBSD i file di configurazione - fondamentali di <application>sendmail</application>.</para> - </listitem> - - <listitem> - <para>Le differenze tra casella di posta remota e locale.</para> - </listitem> - - <listitem> - <para>Come impedire agli spammer di usare illegalmente il tuo server di - posta come un relay.</para> - </listitem> - - <listitem> - <para>Come installare e configurare un mail transfer agent alternativo - sul tuo sistema, sostituendo - <application>sendmail</application>.</para> - </listitem> - - <listitem> - <para>Come risolvere i problemi più frequenti legati al - server di posta.</para> - </listitem> - - <listitem> - <para>Come usare SMTP con UCCP.</para> - </listitem> - - <listitem> - <para>Come configurare il sistema solo per inviare la posta.</para> - </listitem> - - <listitem> - <para>Come usare la posta con una connessione dialup.</para> - </listitem> - - <listitem> - <para>Come configurare l'Autenticazione SMTP per aumentare la - sicurezza.</para> - </listitem> - - <listitem> - <para>Come installare e usare un Mail User Agent (MUA), come - <application>mutt</application> per inviare e ricevere la - posta.</para> - </listitem> - - <listitem> - <para>Come scaricare la tua posta da un server remoto - <acronym>POP</acronym> o <acronym>IMAP</acronym>.</para> - </listitem> - - <listitem> - <para>Come applicare in modo automatico filtri e regole sulla posta - in entrata.</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - - <itemizedlist> - <listitem> - <para>Aver configurato correttamente la tua connessione di rete - (<xref linkend="advanced-networking">).</para> - </listitem> - - <listitem> - <para>Aver configurato correttamente le informazioni DNS - relative alla tua macchina server di posta - (<xref linkend="advanced-networking">).</para> - </listitem> - - <listitem> - <para>Sapere come installare software aggiuntivo di terze parti - (<xref linkend="ports">).</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="mail-using"> - <title>Utilizzo della Posta Elettronica</title> - - <indexterm><primary>POP</primary></indexterm> - <indexterm><primary>IMAP</primary></indexterm> - <indexterm><primary>DNS</primary></indexterm> - - <para>Ci sono cinque parti principali impegnate in uno scambio di email. - Queste sono: <link linkend="mail-mua">il programma client</link>, <link - linkend="mail-mta">quello server</link>, <link - linkend="mail-dns">il DNS</link>, <link linkend="mail-receive">una - casella di posta remota o locale</link>, e naturalmente <link - linkend="mail-host">la macchina server di posta</link>.</para> - - <sect2 id="mail-mua"> - <title>Il Programma Client</title> - - <para>Questo include programmi a riga di comando quali - <application>mutt</application>, <application>pine</application>, - <application>elm</application>, e <application>mail</application>, - e programmi con un'interfaccia grafica (<acronym>GUI</acronym>) quali - <application>balsa</application>, <application>xfmail</application> - per citarne alcuni, e qualcosa di più <quote>raffinato</quote> - simile a un browser WWW. Questi programmi semplicemente fanno passare - le transazioni email alla <link linkend="mail-host"><quote>macchina - server di posta</quote></link> locale, chiamando uno dei - <link linkend="mail-mta">programmi server</link> disponibili o - inoltrando queste transazioni via TCP.</para> - </sect2> - - <sect2 id="mail-mta"> - <title>Il Programma Server</title> - - <indexterm> - <primary>server di posta</primary> - <secondary><application>sendmail</application></secondary> - </indexterm> - <indexterm> - <primary>server di posta</primary> - <secondary><application>postfix</application></secondary> - </indexterm> - <indexterm> - <primary>server di posta</primary> - <secondary><application>qmail</application></secondary> - </indexterm> - <indexterm> - <primary>server di posta</primary> - <secondary><application>exim</application></secondary> - </indexterm> - - <para>&os; incorpora di default <application>sendmail</application>, - ma supporta anche altri programmi server di posta elettronica, alcuni - dei quali sono:</para> - - <itemizedlist> - <listitem> - <para><application>exim</application>;</para> - </listitem> - - <listitem> - <para><application>postfix</application>;</para> - </listitem> - - <listitem> - <para><application>qmail</application>.</para> - </listitem> - </itemizedlist> - - <para>Di solito il programma server svolge due funzioni—si occupa - di ricevere la posta in arrivo e di consegnare quella in partenza. - Questo programma <emphasis>non</emphasis> permette di prelevare la posta - usando protocolli come <acronym>POP</acronym> o <acronym>IMAP</acronym>, - ne tanto meno di <quote>collegarsi</quote> alle caselle di posta locali - <filename>mbox</filename> o di tipo Maildir. Per far questo hai - bisogno di un altro <link linkend="mail-receive">demone</link>.</para> - - <warning> - <para>Vecchie versioni di <application>sendmail</application> contengono - alcuni seri problemi di sicurezza che possono dare la - possibilità ad un attaccante di guadagnarsi un accesso locale - e/o remote sulla tua macchina. Assicurati di eseguire una versione - aggiornata per evitare questi problemi. In alternativa, installa - un altro <acronym>MTA</acronym> dalla <link linkend="ports">&os; - Ports Collection</link>.</para> - </warning> - </sect2> - - <sect2 id="mail-dns"> - <title>Email e DNS</title> - - <para>Il <acronym>DNS</acronym> (Domain Name System) e il suo demone - <command>named</command> giocano un ruolo fondamentale nella consegna - della posta. Per consegnare la posta dal tuo host a un altro, il - programma server cercherà l'host remoto nel DNS per determinare - la macchina server che riceverà la posta per il destinatario. - Lo stesso processo avviene quando un host remoto invia dei messaggi di - posta alla tua macchina server di posta.</para> - - <indexterm><primary>record MX</primary></indexterm> - - <para>Il <acronym>DNS</acronym> è responsabile della corrispondenza - tra nomi host ed indirizzi IP, e memorizza anche informazioni specifiche - per la consegna della posta, informazioni conosciute come record MX. - Il record MX (Mail eXchanger) specifica quale/i host dovranno ricevere - la posta per un particolare dominio. Se non hai un record MX per il tuo - nome host o per il tuo dominio, la posta sarà consegnata - direttamente al tuo host a condizione di avere un record A che mappa - il tuo nome host al tuo indirizzo IP.</para> - - <para>Puoi vedere i record MX per un dominio usando il comando - &man.host.1;, come mostrato nel seguente esempio:</para> - - <screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput> -FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> - </sect2> - - <sect2 id="mail-receive"> - <title>Ricezione della Posta</title> - - <indexterm> - <primary>email</primary> - <secondary>ricezione</secondary> - </indexterm> - - <para>La ricezione della posta per il tuo dominio viene gestita dalla - macchina server di posta. Questa raccoglierà la posta - indirizzata al tuo dominio e la salverà nel formato - <filename>mbox</filename> (metodo per la memorizzazione della posta di - default) o Maildir, a seconda delle tua configurazione. Una volta - memorizzata, la posta può essere sia letta in modo locale usando - applicazioni come &man.mail.1; o <application>mutt</application>, sia - prelevata in modo remoto usando protocolli come <acronym>POP</acronym> - e <acronym>IMAP</acronym>. Ciò significa che se vuoi solo - leggere la posta localmente, non hai bisogno di installare un server - <acronym>POP</acronym> o <acronym>IMAP</acronym>.</para> - - <sect3 id="pop-and-imap"> - <title>Accedere a caselle di posta remote usando <acronym>POP</acronym> - o <acronym>IMAP</acronym></title> - - <indexterm><primary>POP</primary></indexterm> - <indexterm><primary>IMAP</primary></indexterm> - - <para>Per accedere a caselle di posta in modo remoto, devi avere - l'accesso a un server <acronym>POP</acronym> o - <acronym>IMAP</acronym>. Questi protocolli permettono agli utenti - di collegarsi con facilità alle loro caselle di posta da - locazioni remote. Benchè sia <acronym>POP</acronym> che - <acronym>IMAP</acronym> permettono agli utenti di accedere alle - caselle di posta in modo remoto, <acronym>IMAP</acronym> offre - alcuni vantaggi, alcuni dei quali sono:</para> - - <itemizedlist> - <listitem> - <para><acronym>IMAP</acronym> può memorizzare e prelevare - i messaggi di posta su un server remoto.</para> - </listitem> - - <listitem> - <para><acronym>IMAP</acronym> supporta aggiornamenti - simultanei.</para> - </listitem> - - <listitem> - <para><acronym>IMAP</acronym> può essere estremamente utile - con connessioni lente poichè permette agli utenti di - prelevare la struttura dei messaggi senza scaricarli - completamente; può inoltre realizzare compiti come la - ricerca su un server al fine di minimizzare il trasferimento dei - dati tra client e server.</para> - </listitem> - </itemizedlist> - - <para>Per installare un server <acronym>POP</acronym> o - <acronym>IMAP</acronym>, devi seguire i seguenti passi:</para> - - <procedure> - <step> - <para>Scegli un server <acronym>IMAP</acronym> o - <acronym>POP</acronym> che meglio soddisfa le tue - necessità. I seguenti server <acronym>POP</acronym> e - <acronym>IMAP</acronym> sono ben noti e si prestano come degli - ottimi esempi:</para> - - <itemizedlist> - <listitem> - <para><application>qpopper</application>;</para> - </listitem> - - <listitem> - <para><application>teapop</application>;</para> - </listitem> - - <listitem> - <para><application>imap-uw</application>;</para> - </listitem> - - <listitem> - <para><application>courier-imap</application>;</para> - </listitem> - </itemizedlist> - </step> - - <step> - <para>Installa il demone <acronym>POP</acronym> o - <acronym>IMAP</acronym> di tua scelta dalla collezione dei - port.</para> - </step> - - <step> - <para>Se necessario, modifica il file - <filename>/etc/inetd.conf</filename> per avviare il server - <acronym>POP</acronym> o <acronym>IMAP</acronym>.</para> - </step> - </procedure> - - <warning> - <para>Nota che sia <acronym>POP</acronym> che <acronym>IMAP</acronym> - trasmettono informazioni, inclusi il nome utente e la password in - chiaro. Ciò significa che se vuoi mettere al sicuro la - trasmissione di informazioni su questi protocolli, potresti - considerare di effettuare tunnel di sessioni con &man.ssh.1;. - La creazione di tunnel di sessioni è descritta nella - <xref linkend="security-ssh-tunneling">.</para> - </warning> - </sect3> - - <sect3 id="local"> - <title>Accesso alle caselle di posta locali</title> - - <para>Si può accedere localmente alla casella di posta - utilizzando un <acronym>MUA</acronym> sul server nel quale risiede la - casella di posta. Questo può essere fatto usando applicazioni - come <application>mutt</application> o &man.mail.1;.</para> - </sect3> - </sect2> - - <sect2 id="mail-host"> - <title>La Macchina Server di Posta</title> - - <indexterm><primary>macchina server di posta</primary></indexterm> - - <para>La macchina server di posta è il nome del server - che è responsabile della consegna e del ricevimento della posta - per il tuo host, ed eventualmente per la tua rete.</para> - </sect2> - </sect1> - - <sect1 id="sendmail"> - <sect1info> - <authorgroup> - <author> - <firstname>Christopher</firstname> - - <surname>Shumway</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Configurazione di <application>sendmail</application></title> - - <indexterm> - <primary><application>sendmail</application></primary> - </indexterm> - - <para>&man.sendmail.8; è il Mail Transfer Agent (MTA) di default su - FreeBSD. Il compito di <application>sendmail</application> è di - accettare posta dai Mail User Agent (<acronym>MUA</acronym>), e - consegnarla al server di posta appropriato come definito nel suo file di - configurazione. Inoltre <application>sendmail</application> può - accettare connessioni via rete e consegnare i messaggi a caselle di posta - locali o ad un altro programma.</para> - - <para><application>sendmail</application> utilizza i seguenti file di - configurazione:</para> - - <indexterm> - <primary><filename>/etc/mail/access</filename></primary> - </indexterm> - <indexterm> - <primary><filename>/etc/mail/aliases</filename></primary> - </indexterm> - <indexterm> - <primary><filename>/etc/mail/local-host-names</filename></primary> - </indexterm> - <indexterm> - <primary><filename>/etc/mail/mailer.conf</filename></primary> - </indexterm> - <indexterm> - <primary><filename>/etc/mail/mailertable</filename></primary> - </indexterm> - <indexterm> - <primary><filename>/etc/mail/sendmail.cf</filename></primary> - </indexterm> - <indexterm> - <primary><filename>/etc/mail/virtusertable</filename></primary> - </indexterm> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>File</entry> - - <entry>Funzione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><filename>/etc/mail/access</filename></entry> - - <entry>File database di accesso di - <application>sendmail</application></entry> - </row> - - <row> - <entry><filename>/etc/mail/aliases</filename></entry> - - <entry>Alias delle caselle di posta</entry> - </row> - - <row> - <entry><filename>/etc/mail/local-host-names</filename></entry> - - <entry>Lista di host per i quali - <application>sendmail</application> accetta posta</entry> - </row> - - <row> - <entry><filename>/etc/mail/mailer.conf</filename></entry> - - <entry>File di configurazione del programma di posta</entry> - </row> - - <row> - <entry><filename>/etc/mail/mailertable</filename></entry> - - <entry>Tabella di consegna del programma di posta</entry> - </row> - - <row> - <entry><filename>/etc/mail/sendmail.cf</filename></entry> - - <entry>File di configurazione principale di - <application>sendmail</application></entry> - </row> - - <row> - <entry><filename>/etc/mail/virtusertable</filename></entry> - - <entry>Tabelle degli utenti e dei domini virtuali</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <sect2> - <title><filename>/etc/mail/access</filename></title> - - <para>Il database di accesso definisce quali host o indirizzi - IP hanno accesso al server di posta locale e quale tipo di accesso - hanno. Gli host possono essere catalogati come <option>OK</option>, - <option>REJECT</option>, <option>RELAY</option> o possono semplicemente - essere passati alla procedura di gestione degli errori di - <application>sendmail</application> con un preciso errore. Gli host - che sono definiti <option>OK</option>, che è il valore di - default, possono spedire posta a questo host sempre che la destinazione - finale della posta sia la macchina locale. Gli host che sono definiti - <option>REJECT</option> vengono rifiutati per qualsiasi connessione di - posta. Gli host che hanno l'opzione <option>RELAY</option> per i loro - nomi host possono utilizzare questo server per spedire posta verso - qualsiasi destinazione.</para> - - <example> - <title>Configurazione del Database di Accesso di - <application>sendmail</application></title> - - <programlisting>cyberspammer.com 550 Non accettiamo posta dagli spammer -FREE.STEALTH.MAILER@ 550 Non accettiamo posta dagli spammer -altra.sorgente.di.spam REJECT -okay.cyberspammer.com OK -128.32 RELAY</programlisting> - </example> - - <para>In questo esempio abbiamo cinque elementi. Gli host mittenti - che corrispondono a quelli posti sul lato sinistro della tabella sono - condizionati dall'azione posta sul lato destro della tabella. - I primi due esempi passano un codice di errore alla procedura di - <application>sendmail</application> che gestisce gli errori. Il - messaggio viene restituito all'host remoto quando viene trovata una - corrispondenza sul lato sinistro della tabella. Il terzo esempio - rifiuta la posta da un host specifico su Internet, - <hostid>altra.sorgente.di.spam</hostid>. Il quarto esempio accetta - connessioni di posta da un host, <hostid - role="fqdn">okay.cyberspammer.com</hostid>, che è più - preciso rispetto a <hostid role="domainname">cyberspammer.com</hostid> - della prima linea. Le corrispondenze più precise sovrascrivono - quelle meno precise. L'ultimo esempio permette il relay della posta - elettronica agli host che hanno un indirizzo IP che inizia con - <hostid>128.32</hostid>. Questi host possono spedire messaggi destinati - ad altri server di posta attraverso questo server.</para> - - <para>Quando modifichi questo file, devi eseguire <command>make</command> - in <filename>/etc/mail/</filename> per aggiornare il database.</para> - </sect2> - - <sect2> - <title><filename>/etc/mail/aliases</filename></title> - - <para>Il database degli alias contiene una lista di caselle di posta - virtuali che sono espanse in altri utenti, file, programmi o in altri - alias. Seguono alcuni esempi che possono essere usati in - <filename>/etc/mail/aliases</filename>:</para> - - <example> - <title>Alias di Posta</title> - - <programlisting>root: utentelocale -ftp-bugs: joe,eric,paul -bit.bucket: /dev/null -procmail: "|/usr/local/bin/procmail"</programlisting> - </example> - - <para>Il formato del file è semplice: il nome della casella di - posta che si trova a sinistra dei due punti viene espanso negli elementi - posti a destra dei due punti. Il primo esempio semplicemente espande la - casella di posta <username>root</username> nella casella di posta - <username>utentelocale</username>, che è di nuovo ricercata - nel database degli alias. Se non viene trovata, allora il messaggio - viene consegnato all'utente locale <username>utentelocale</username>. - L'esempio successivo mostra una mailing list. La posta indirizzata - alla casella di posta <username>ftp-bugs</username> viene espansa nelle - tre caselle di posta locali <username>joe</username>, - <username>eric</username>, e <username>paul</username>. Nota che una - casella di posta remota può essere specificata come - <literal>user@example.com</literal>. Il terzo esempio mostra come - scrivere la posta su un file, in questo caso - <filename>/dev/null</filename>. L'ultimo esempio mostra come mandare - la posta a un programma, in questo caso il messaggio di posta diventa - lo standard input di <filename>/usr/local/bin/procmail</filename> - tramite una pipe &unix;.</para> - - <para>Quando modifichi questo file, devi eseguire <command>make</command> - in <filename>/etc/mail/</filename> per aggiornare il database.</para> - </sect2> - - <sect2> - <title><filename>/etc/mail/local-host-names</filename></title> - - <para>Questo file è una lista di nomi host che &man.sendmail.8; - accetta come se fossero l'host locale. Metti i domini o gli host - per i quali <application>sendmail</application> deve ricevere posta. - Per esempio, se questo server di posta dovesse essere in grado di - accettare posta per il dominio - <hostid role="domainname">example.com</hostid> e per l'host - <hostid role="fqdn">mail.example.com</hostid>, il suo - <filename>local-host-names</filename> potrebbe assomigliare a - questo:</para> - - <programlisting>example.com -mail.example.com</programlisting> - - <para>Quando modifichi questo file, devi riavviare &man.sendmail.8; per - attivare i cambiamenti.</para> - </sect2> - - <sect2> - <title><filename>/etc/mail/sendmail.cf</filename></title> - - <para>Il file di configurazione principale di - <application>sendmail</application>, <filename>sendmail.cf</filename> - controlla l'intero comportamento di <application>sendmail</application>, - inclusa ogni cosa, dalla rielaborazione degli indirizzi e-mail alla - stampa del messaggio di rifiuto per i server di posta remoti. - Naturalmente, avendo svariati compiti, questo file di configurazione - è alquanto complesso e i suoi dettagli vanno oltre lo scopo di - questa sezione. Fortunatamente, questo file necessita raramente di - essere modificato per server di posta standard.</para> - - <para>Il file di configurazione principale di - <application>sendmail</application> può essere costruito - a partire da macro &man.m4.1; che definiscono le caratteristiche e il - comportamento di <application>sendmail</application>. Guarda - <filename>/usr/src/contrib/sendmail/cf/README</filename> per ulteriori - dettagli.</para> - - <para>Quando modifichi questo file, devi riavviare &man.sendmail.8; per - attivare i cambiamenti.</para> - </sect2> - - <sect2> - <title><filename>/etc/mail/virtusertable</filename></title> - - <para>Il file <filename>virtusertable</filename> mappa indirizzi di posta - relativi a domini e caselle di posta virtuali in caselle di posta reali. - Queste caselle di posta possono essere locali, remote, alias definiti in - <filename>/etc/mail/aliases</filename> o file.</para> - - <example> - <title>Esempio di Mappatura per la Posta di un Dominio Virtuale</title> - - <programlisting>root@example.com root -postmaster@example.com postmaster@noc.example.net -@example.com joe</programlisting> - </example> - - <para>Nell'esempio precedente, abbiamo una mappatura per il dominio - <hostid role="domainname">example.com</hostid>. Questo file viene - processato dall'alto verso il basso fermandosi alla prima corrispondenza - trovata. Il primo elemento mappa <literal>root@example.com</literal> - nella casella di posta locale <username>root</username>. Il secondo - elemento mappa <literal>postmaster@example.com</literal> nella casella - di posta <username>postmaster</username> sull'host <hostid - role="fqdn">noc.example.net</hostid>. Infine, se non sono state - trovate corrispondenze per <hostid role="fqdn">example.com</hostid> - fino a questo punto, verrà verificata l'ultima mappatura, che - corrisponde a tutti gli altri messaggi di posta indirizzati a qualche - utente di <hostid role="domainname">example.com</hostid>. - Questo verrà mappato nella casella di posta locale - <username>joe</username>.</para> - </sect2> - </sect1> - - <sect1 id="mail-changingmta"> - <sect1info> - <authorgroup> - <author> - <firstname>Andrew</firstname> - - <surname>Boothman</surname> - - <contrib>Scritto da </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Gregory</firstname> - - <surname>Neil Shapiro</surname> - - <contrib>Informazioni prese da e-mail scritte da </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Sostituzione del proprio Mail Transfer Agent</title> - - <indexterm> - <primary>email</primary> - <secondary>cambiare mta</secondary> - </indexterm> - - <para>Come già menzionato, l'MTA (Mail Transfer Agent, agente di - trasferimento della posta elettronica) installato di default su FreeBSD - è <application>sendmail</application>. Di conseguenza - <application>sendmail</application> è responsabile della tua posta - in partenza e di quella in arrivo.</para> - - <para>Comunque, per vari motivi, alcuni amministratori necessitano di - cambiare l'MTA dei loro sistemi. Questi motivi spaziano dal voler - semplicemente provare un altro MTA all'aver bisogno di una caratteristica - o di un pacchetto specifico ritrovabile in un altro MTA. Fortunatamente, - per qualsiasi motivo, FreeBSD semplifica il processo di - sostituzione.</para> - - <sect2> - <title>Installazione di un nuovo MTA</title> - - <para>Hai un'ampia scelta di MTA utilizzabili. Un buon punto di partenza - è la <link linkend="ports">FreeBSD Ports Collection</link> dove - puoi trovarne molti. Naturalmente sei libero di usare qualunque - MTA proveniente da qualche sito, a condizione che tu riesca ad eseguirlo - sotto FreeBSD.</para> - - <para>Inizia installando il tuo nuovo MTA. Una volta installato devi - valutare se realmente soddisfa le tue necessità, inoltre devi - avere la possibilità di configurare il tuo nuovo programma prima - che subentri a <application>sendmail</application>. Valutato questo, - devi essere sicuro che durante l'installazione del nuovo programma non - ci siano stati tentativi di sovrascrivere binari di sistema come - <filename>/usr/bin/sendmail</filename>. Altrimenti, il tuo nuovo - programma di posta è stato essenzialmente messo in - attività prima che tu l'abbia configurato.</para> - - <para>Per cortesia fai riferimento alla documentazione dell'MTA che hai - scelto per informazioni su come configurarlo.</para> - </sect2> - - <sect2> - <title>Disabilitazione di <application>sendmail</application></title> - - <para>La procedura usata per avviare <application>sendmail</application> - cambia significativamente tra la 4.5-RELEASE e la 4.6-RELEASE. - Di conseguenza, la procedura usata per disabilitarlo è - leggermente differente a seconda della versione di FreeBSD - utilizzata.</para> - - <sect3> - <title>FreeBSD 4.5-STABLE prima del 4/4/2002 e precedenti (inclusa - 4.5-RELEASE e precedenti)</title> - - <para>Metti:</para> - - <programlisting>sendmail_enable="NO"</programlisting> - - <para>in <filename>/etc/rc.conf</filename>. In questo modo si - disabiliterà il servizio di ricezione della posta - di <application>sendmail</application>, ma se - <filename>/etc/mail/mailer.conf</filename> (vedi sotto) non viene - modificato, <application>sendmail</application> verrà ancora - usato per spedire e-mail.</para> - </sect3> - - <sect3> - <title>FreeBSD 4.5-STABLE dopo il 4/4/2002 (inclusa 4.6-RELEASE e - successive)</title> - - <para>Per disabilitare completamente <application>sendmail</application> - devi mettere</para> - - <programlisting>sendmail_enable="NONE"</programlisting> - - <para>in <filename>/etc/rc.conf.</filename></para> - - <warning> - <para>Se disabiliti il servizio di consegna della posta di - <application>sendmail</application> in questo modo, è - importante che questo venga rimpiazzato con un altro sistema - di consegna della posta perfettamente funzionante. Se non lo farai, - le funzioni di sistema come &man.periodic.8; saranno incapaci di - inviare i loro risultati tramite e-mail come normalmente prevedono - di fare. Molte parti del tuo sistema potrebbero presupporre di - avere un sistema funzionante compatibile con - <application>sendmail</application>. Se le applicazioni continuano - a usare i binari di <application>sendmail</application> per tentare - di spedire e-mail dopo che tu l'hai disabilitato, la posta potrebbe - finire in una coda inattiva di <application>sendmail</application>, - senza che venga mai consegnata.</para> - </warning> - - <para>Se vuoi solamente disabilitare il servizio di ricezione della - posta di <application>sendmail</application>, devi mettere</para> - - <programlisting>sendmail_enable="NO"</programlisting> - - <para>in <filename>/etc/rc.conf</filename>. Molte informazioni sulle - opzioni di avvio di <application>sendmail</application> sono - disponibili nella pagina man di &man.rc.sendmail.8;.</para> - </sect3> - </sect2> - - <sect2> - <title>Esecuzione del nuovo MTA all'avvio</title> - - <para>Hai due possibili metodi per eseguire il tuo nuovo MTA all'avvio, - a seconda della versione di FreeBSD utilizzata.</para> - - <sect3> - <title>FreeBSD 4.5-STABLE prima del 11/4/2002 (inclusa 4.5-RELEASE e - precedenti)</title> - - <para>Posiziona uno script in - <filename>/usr/local/etc/rc.d/</filename> con estensione - <filename>.sh</filename> ed eseguibile da <username>root</username>. - Lo script deve accettare i parametri <literal>start</literal> e - <literal>stop</literal>. Nella fase di avvio di FreeBSD gli script - di sistema eseguiranno il comando</para> - - <programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting> - - <para>che puoi anche usare per avviare manualmente il - server. Nella fase di chiusura di FreeBSD, gli script di sistema - useranno l'opzione <literal>stop</literal>, eseguendo il - comando</para> - - <programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting> - - <para>che puoi anche usare per arrestare manualmente il - server mentre il sistema è in funzione.</para> - </sect3> - - <sect3> - <title>FreeBSD 4.5-STABLE dopo il 11/4/2002 (inclusa 4.6-RELEASE e - successive)</title> - - <para>Con le versioni recenti di FreeBSD, puoi usare il metodo - precedente oppure puoi mettere</para> - - <programlisting>mta_start_script="nomefile"</programlisting> - - <para>in <filename>/etc/rc.conf</filename>, dove - <replaceable>nomefile</replaceable> è il nome dello script - che vuoi eseguire all'avvio per avviare il tuo MTA.</para> - </sect3> - </sect2> - - <sect2> - <title>Sostituzione di <application>sendmail</application> come programma - di posta di default del sistema</title> - - <para><application>sendmail</application> è così - onnipresente come programma standard su sistemi &unix; che alcuni - programmi lo suppongono già installato e configurato. Per questa - ragione, molti degli altri MTA forniscono la loro compatibile - implementazione dell'interfaccia a riga di comando di - <application>sendmail</application>; questo agevola il loro utilizzo - come sostituti <quote>drop-in</quote> di - <application>sendmail</application>.</para> - - <para>Quindi, se usi un altro programma di posta, dovrai assicurarti - che i programmi che tentano di eseguire i binari standard di - <application>sendmail</application> come - <filename>/usr/bin/sendmail</filename> in realtà eseguano - il programma di posta da te scelto. Fortunatamente, FreeBSD fornisce - un meccanismo chiamato &man.mailwrapper.8; che fa questo lavoro per - te.</para> - - <para>Quando <application>sendmail</application> è operativo, - dovresti vedere in <filename>/etc/mail/mailer.conf</filename> qualcosa - di simile a questo:</para> - - <programlisting>sendmail /usr/libexec/sendmail/sendmail -send-mail /usr/libexec/sendmail/sendmail -mailq /usr/libexec/sendmail/sendmail -newaliases /usr/libexec/sendmail/sendmail -hoststat /usr/libexec/sendmail/sendmail -purgestat /usr/libexec/sendmail/sendmail</programlisting> - - <para>Questo significa che quando uno di questi comandi - (come <filename>sendmail</filename> stesso) viene eseguito, in - realtà il sistema invoca una copia di mailwrapper di nome - <filename>sendmail</filename>, la quale esamina - <filename>mailer.conf</filename> ed esegue - <filename>/usr/libexec/sendmail/sendmail</filename>. Questo meccanismo - facilita la sostituzione dei binari che sono realmente eseguiti quando - vengono invocate queste funzioni di default di - <filename>sendmail</filename>.</para> - - <para>Quindi se vuoi che - <filename>/usr/local/supermailer/bin/sendmail-compat</filename> sia - eseguito al posto di <application>sendmail</application>, devi - modificare <filename>/etc/mail/mailer.conf</filename> in questo - modo:</para> - - <programlisting>sendmail /usr/local/supermailer/bin/sendmail-compat -send-mail /usr/local/supermailer/bin/sendmail-compat -mailq /usr/local/supermailer/bin/mailq-compat -newaliases /usr/local/supermailer/bin/newaliases-compat -hoststat /usr/local/supermailer/bin/hoststat-compat -purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> - </sect2> - - <sect2> - <title>Conclusione</title> - - <para>Una volta che hai configurato ogni cosa a tuo piacimento, devi - terminare i processi di <application>sendmail</application> di cui non - hai più bisogno e avviare i processi appartenenti al tuo nuovo - programma, oppure puoi semplicemente riavviare il sistema. Riavviando - il sistema avrai la possibilità di verificare se il sistema sia - stato configurato correttamente per eseguire il tuo nuovo MTA in modo - automatico all'avvio.</para> - </sect2> - </sect1> - - <sect1 id="mail-trouble"> - <title>Risoluzione dei Problemi</title> - - <indexterm> - <primary>email</primary> - <secondary>risoluzione dei problemi</secondary> - </indexterm> - - <qandaset> - <qandaentry> - <question> - <para>Perché devo usare nomi di dominio completi (FQDN) per gli - host del mio dominio?</para> - </question> - - <answer> - <para>Probabilmente ti accorgerai che l'host è effettivamente - in un dominio differente; per esempio, se sei in <hostid - role="fqdn">foo.bar.edu</hostid> e desideri raggiungere un host - chiamato <hostid>mumble</hostid> appartenente al dominio <hostid - role="domainname">bar.edu</hostid>, dovrai riferirti a questo - tramite un nome di dominio completo, <hostid - role="fqdn">mumble.bar.edu</hostid>, invece del solo - <hostid>mumble</hostid>.</para> - - <indexterm><primary>BIND</primary></indexterm> - - <para>Tradizionalmente, questo era permesso dai resolver BIND di - BSD. Tuttavia la versione corrente di - <application>BIND</application> equipaggiata con FreeBSD non - prevede più l'abbreviazione di default per nomi di dominio - non completi all'infuori del dominio in cui sei. Quindi l'host - <hostid>mumble</hostid> sarà giudicato come <hostid - role="fqdn">mumble.foo.bar.edu</hostid>, oppure sarà - ricercato per il dominio radice.</para> - - <para>Questo differisce dal comportamento precedente, dove la ricerca - continuava attraverso <hostid - role="domainname">mumble.bar.edu</hostid>, e <hostid - role="domainname">mumble.edu</hostid>. Dai un'occhiata all'RFC - 1535 per i motivi per cui questa sia considerata una cattiva - pratica, o persino un buco di sicurezza.</para> - - <para>Come buona soluzione al problema, puoi mettere la linea: - <programlisting>search foo.bar.edu bar.edu</programlisting> - al posto della precedente: - <programlisting>domain foo.bar.edu</programlisting> - nel tuo <filename>/etc/resolv.conf</filename>. Comunque, assicurati - che l'ordine di ricerca non oltrepassi il - <quote>confine tra amministrazione locale e pubblica</quote>, come - definito nell'RFC 1535.</para> - </answer> - </qandaentry> - - <indexterm><primary>record MX</primary></indexterm> - - <qandaentry> - <question> - <para><application>sendmail</application> riporta l'errore - <errorname>mail loops back to myself</errorname></para> - </question> - - <answer> - <para>La risposta è contenuta nelle FAQ di - <application>sendmail</application> come segue:</para> - - <programlisting>Ottengo messaggi di errore, come questo: - -553 MX list for domain.net points back to relay.domain.net -554 <user@domain.net>... Local configuration error - -Come posso risolvere questo problema? - -Hai chiesto che la posta per il dominio (es., domain.net) sia inoltrata -a un host specifico (in questo caso, relay.domain.net) attraverso l'uso di -un record MX, ma la macchina di inoltro non si riconosce appartenente a -domain.net. Aggiungi domain.net in /etc/mail/local-host-names -[chiamato /etc/sendmail.cw nelle versioni precedenti alla 8.10] -(se stai usando FEATURE(use_cw_file)) oppure aggiungi <quote>Cw domain.net</quote> -in /etc/mail/sendmail.cf.</programlisting> - - <para>Le FAQ di <application>sendmail</application> possono essere - trovate su <ulink url="http://www.sendmail.org/faq/"></ulink> ed - è raccomandato leggerle se vuoi <quote>perfezionare</quote> - la tua configurazione di posta.</para> - </answer> - </qandaentry> - - <indexterm><primary>PPP</primary></indexterm> - - <qandaentry> - <question> - <para>Come posso eseguire un server di posta su un host connesso in - dial-up tramite PPP?</para> - </question> - - <answer> - <para>Vuoi collegare ad Internet una macchina FreeBSD posta sulla tua - LAN. La macchina FreeBSD sarà un gateway di posta per la - LAN. La connessione PPP non è molto indicata per questo - scopo.</para> - - <indexterm><primary>UUCP</primary></indexterm> - - <indexterm><primary>record MX</primary></indexterm> - - <para>Esistono almeno due modi per far questo. Un modo è - usare UUCP.</para> - - <para>L'altro è trovare un server Internet a tempo pieno - che fornisca un servizio MX secondario per il tuo dominio. - Per esempio, se il dominio della tua società è - <hostid role="domainname">example.com</hostid> e il tuo fornitore - di servizi Internet ha attivato <hostid - role="domainname">example.net</hostid> per fornire il servizio - MX secondario al tuo dominio, allora:</para> - - <programlisting>example.com. MX 10 example.com. - MX 20 example.net.</programlisting> - - <para>Solo un host deve essere specificato come ultimo - ricevente (aggiungi <literal>Cw example.com</literal> in - <filename>/etc/mail/sendmail.cf</filename> su <hostid - role="domainname">example.com</hostid>).</para> - - <para>Quando <command>sendmail</command> tenterà di consegnare - la posta proverà a connettersi alla tua connessione modem - (<hostid role="domainname">example.com</hostid>). Molto - probabilmente finirà in time out poiché non sei - online. In modo automatico <command>sendmail</command> - consegnerà la posta al server MX secondario, ad esempio il - tuo provider Internet (<hostid - role="domainname">example.net</hostid>). Il server MX secondario - tenterà periodicamente di collegarsi al tuo host per - consegnare la posta all'host MX primario (<hostid - role="domainname">example.com</hostid>).</para> - - <para>Come script di login potresti usare qualcosa di simile a - questo:</para> - - <programlisting>#!/bin/sh -# Mettimi in /usr/local/bin/pppmyisp -( sleep 60 ; /usr/sbin/sendmail -q ) & -/usr/sbin/ppp -direct pppmyisp</programlisting> - - <para>Se hai intenzione di creare uno script di login separato per - un utente potresti usare <command>sendmail -qRexample.com</command> - nello script precedente. Questo forzerà a processare - immediatamente tutta la posta per <hostid - role="domainname">example.com</hostid> situata nella tua - coda.</para> - - <para>Segue un'ulteriore sottigliezza della situazione:</para> - - <para>Messaggio rubato dalla &a.isp;.</para> - - <programlisting>> forniamo l'MX secondario per un cliente. Il cliente si connette -> automaticamente ai nostri servizi molte volte al giorno per ottenere la -> posta per il suo MX primario (non chiamiamo il suo server quando arriva -> posta per il suo dominio). Il nostro sendmail processa la posta in coda -> ogni 30 minuti. Attualmente il cliente sta 30 minuti online per assicurarsi -> che tutta la posta vada all'MX primario. -> -> Esiste un comando che permetta di configurare sendmail in modo tale da -> spedire tutta la posta in quel momento? Naturalmente l'utente non ha -> privilegi di root sulla nostra macchina. - -Nella sezione <quote>privacy flags</quote> di sendmail.cf, c'è una -definizione Opgoaway,restrictqrun - -Rimuovi restrictqrun per permettere a utenti non root di avviare l'elaborazione -della coda. Inoltre potresti risistemare gli MX. Noi siamo l'MX primario per i -nostri clienti come questo, e abbiamo definito: - -# Se siamo il miglior MX per un host, prova direttamente invece di generare -# errori di configurazione locale. -OwTrue - -In questo modo un server remoto consegnerà direttamente a te, senza -tentare di connettersi al cliente. Dopodiché tu spedisci al tuo cliente. -Funziona solamente con gli <quote>host</quote>, quindi hai bisogno che il tuo -cliente chiami la sua macchina di posta <quote>customer.com</quote> così come -<quote>nomehost.customer.com</quote> nel DNS. -Basta mettere un record A nel DNS per <quote>customer.com</quote>.</programlisting> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Perché continuo a ottenere l'errore <errorname>Relaying - Denied</errorname> quando spedisco posta da altri host?</para> - </question> - - <answer> - <para>Con l'installazione di default di FreeBSD, - <application>sendmail</application> viene configurato in modo tale - da permettere di spedire posta solamente dall'host sul quale - è in esecuzione. Per esempio, se c'è installato un - server <acronym>POP</acronym>, allora gli utenti saranno in grado di - controllare la posta da scuola, dal lavoro, o da altre postazioni - remote ma tuttavia non potranno inviare messaggi di posta - all'esterno da postazioni esterne. Tipicamente, pochi istanti dopo - il tentativo, verrà spedita una email da - <application>MAILER-DAEMON</application> con il messaggio di errore - <errorname>5.7 Relaying Denied</errorname>.</para> - - <para>Esistono diversi modi per aggirare questo problema. La - soluzione più semplice è mettere il proprio - indirizzo assegnato dall'ISP nel file che contiene i domini - a cui viene permesso di effettuare il relay, - <filename>/etc/mail/relay-domains</filename>. Un modo veloce - per far questo può essere:</para> - - <screen>&prompt.root; <userinput>echo "your.isp.example.com" > /etc/mail/relay-domains</userinput></screen> - - <para>Dopo aver creato o modificato questo file devi riavviare - <application>sendmail</application>. Questa soluzione è - ideale se sei un amministratore del server e non desideri - spedire posta localmente, o se vorresti usare un client/sistema - punta e clicca su un'altra macchina o perfino su un altro ISP. - Inoltre è molto utile se hai solo uno o due account - di posta configurati. Se ci sono molti indirizzi da aggiungere, - puoi semplicemente aprire questo file con il tuo editor di testo - preferito e aggiungere i domini, uno per riga:</para> - - <programlisting>your.isp.example.com -other.isp.example.net -users-isp.example.org -www.example.org</programlisting> - - <para>Ora l'invio della posta tramite il tuo sistema, da parte di - qualche host in lista (a condizione che l'utente abbia un account - sul tuo sistema), avrà successo. Questo è un buon - metodo per permettere agli utenti di spedire posta dal tuo sistema - in modo remoto senza dare la possibilità a qualcuno di - spedire SPAM tramite il tuo sistema.</para> - </answer> - </qandaentry> - </qandaset> - </sect1> - - <sect1 id="mail-advanced"> - <title>Argomenti Avanzati</title> - - <para>La seguente sezione tratta argomenti più complicati come - l'organizzazione e la configurazione della posta per tutto il tuo - dominio.</para> - - <sect2 id="mail-config"> - <title>Configurazione di Base</title> - - <indexterm> - <primary>email</primary> - <secondary>configurazione</secondary> - </indexterm> - - <para>Dalla macchina FreeBSD, dovresti essere in grado di spedire posta a - host esterni a condizione di aver sistemato - <filename>/etc/resolv.conf</filename> o di avere in esecuzione un - proprio server dei nomi. Se vuoi che la posta per il tuo host sia - consegnata all'MTA (es., <application>sendmail</application>) in - esecuzione sul tuo host FreeBSD, esistono due metodi per farlo:</para> - - <itemizedlist> - <listitem> - <para>Eseguire un proprio server dei nomi e avere un proprio dominio. - Per esempio, <hostid role="domainname">FreeBSD.org</hostid></para> - </listitem> - - <listitem> - <para>Ricevere la posta direttamente sul tuo host. Questo viene fatto - consegnando la posta direttamente al nome DNS corrente della tua - macchina. Per esempio, <hostid - role="fqdn">example.FreeBSD.org</hostid>.</para> - </listitem> - </itemizedlist> - - <indexterm><primary>SMTP</primary></indexterm> - - <para>Indipendentemente dal metodo scelto, affinché la posta - possa essere consegnata direttamente al tuo host, devi avere un - indirizzo IP statico permanente (non un indirizzo dinamico, come avviene - nella maggior parte delle configurazioni dial-up di PPP). Se sei - dietro a un firewall, devi abilitare il traffico SMTP in entrata. Se - vuoi ricevere la posta direttamente sul tuo host, devi verificare una di - queste due cose:</para> - - <itemizedlist> - <indexterm><primary>record MX</primary></indexterm> - - <listitem> - <para>Assicurati che il record MX (con il numero più basso) - relativo al tuo host nel tuo DNS punti all'indirizzo IP del tuo - host.</para> - </listitem> - - <listitem> - <para>Assicurati che non ci siano record MX nel tuo DNS per il tuo - host.</para> - </listitem> - </itemizedlist> - - <para>Entrambi questi due metodi ti permettono di ricevere posta - direttamente sul tuo host.</para> - - <para>Prova questi comandi:</para> - - <screen>&prompt.root; <userinput>hostname</userinput> -example.FreeBSD.org -&prompt.root; <userinput>host example.FreeBSD.org</userinput> -example.FreeBSD.org has address 204.216.27.XX</screen> - - <para>Se ottieni un risultato simile, l'invio diretto a - <email>yourlogin@example.FreeBSD.org</email> dovrebbe funzionare senza - problemi (assumendo che <application>sendmail</application> sia - correttamente in esecuzione su <hostid - role="fqdn">example.FreeBSD.org</hostid>).</para> - - <para>Se invece vedi qualcosa di simile a questo:</para> - - <screen>&prompt.root; <userinput>host example.FreeBSD.org</userinput> -example.FreeBSD.org has address 204.216.27.XX -example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen> - - <para>Tutta la posta spedita al tuo host (<hostid - role="fqdn">example.FreeBSD.org</hostid>) finirà per essere - raccolta su <hostid>hub</hostid> sotto lo stesso nome utente invece - di essere spedita direttamente al tuo host.</para> - - <para>L'informazione precedente viene gestita dal tuo server DNS. Il - record DNS che riporta l'informazione di instradamento della posta - è l'elemento <emphasis>M</emphasis>ail - e<emphasis>X</emphasis>change. Se non esistono record MX, la posta - sarà consegnata direttamente all'host attraverso il suo - indirizzo IP.</para> - - <para>L'elemento MX per <hostid role="fqdn">freefall.FreeBSD.org</hostid> - in passato assomigliava a questo:</para> - - <programlisting>freefall MX 30 mail.crl.net -freefall MX 40 agora.rdrop.com -freefall MX 10 freefall.FreeBSD.org -freefall MX 20 who.cdrom.com</programlisting> - - <para>Come puoi vedere, <hostid>freefall</hostid> aveva molti elementi MX. - Il numero MX più basso è l'host che, se disponibile, - riceve direttamente la posta; se per qualche ragione questo non è - accessibile, gli altri (qualche volta chiamati - <quote>MX di backup</quote>) accettano i messaggi temporaneamente, - e li passano all'host attivo con numero inferiore, fino all'host - con il numero più basso.</para> - - <para>I server MX alternativi dovrebbero avere connessioni Internet - indipendenti dalla propria al fine di risultare più utili. - Il tuo ISP o un tuo amico non dovrebbero avere problemi - a darti questo servizio.</para> - </sect2> - - <sect2 id="mail-domain"> - <title>Posta per il Tuo Dominio</title> - - <para>Per organizzare un server di posta hai bisogno che la posta inviata - alle stazioni di lavoro sia ricevuta direttamente sul server di posta. - Sostanzialmente, hai bisogno di <quote>richiedere</quote> che la posta - per i nomi host del tuo dominio (in questo caso <hostid - role="fqdn">*.FreeBSD.org</hostid>) sia deviata al server di posta in - modo tale che i tuoi utenti possono raccogliere la loro posta sul - server di posta principale.</para> - - <indexterm><primary>DNS</primary></indexterm> - - <para>Per rendere la vita più facile, dovrebbe esistere su - entrambe le macchine un account utente con lo stesso <emphasis>nome - utente</emphasis>. Usa &man.adduser.8; per farlo.</para> - - <para>La macchina server di posta che utilizzerai deve essere - designata come la macchina che scambia la posta per tutte le postazioni - sulla rete. Questo viene realizzato attraverso la configurazione del - DNS in modo simile a quanto segue:</para> - - <programlisting>example.FreeBSD.org A 204.216.27.XX ; Stazione di lavoro - MX 10 hub.FreeBSD.org ; Server di posta</programlisting> - - <para>In questo modo la posta per la stazione di lavoro sarà - reindirizzata al server di posta senza preoccuparsi dove punti il - record A. La posta viene inviata all'host MX.</para> - - <para>Non puoi effettuare queste modifiche da solo a meno che non hai in - esecuzione un tuo server DNS. Se non puoi eseguire un server DNS, - consulta il tuo ISP o chiunque ti fornisca il servizio DNS.</para> - - <para>Se stai facendo dell'hosting di posta elettronica virtuale, le - seguenti informazioni ti torneranno utili. In questo esempio, assumiamo - che hai un cliente con un proprio dominio, in questo caso <hostid - role="domainname">customer1.org</hostid>, e vuoi che tutta la posta - per <hostid role="domainname">customer1.org</hostid> sia spedita alla - tua macchina server di posta <hostid - role="fqdn">mail.myhost.com</hostid>. - L'elemento nel tuo DNS dovrebbe assomigliare a questo:</para> - - <programlisting>customer1.org MX 10 mail.myhost.com</programlisting> - - <para><emphasis>Non</emphasis> hai bisogno di un record A per <hostid - role="domainname">customer1.org</hostid> se vuoi solamente gestire - la posta per tale dominio</para> - - <note> - <para>Sii consapevole che un ping su <hostid - role="domainname">customer1.org</hostid> non funzionerà se - non esiste un record A per tale dominio.</para> - </note> - - <para>L'ultima cosa che devi fare è indicare a - <application>sendmail</application>, posto sulla tua macchina server, - per quali domini e/o host deve accettare posta. Esistono - differenti modi per farlo. I seguenti due funzionano entrambi:</para> - - <itemizedlist> - <listitem> - <para>Se usi <literal>FEATURE(use_cw_file)</literal> aggiungi gli host - al tuo file <filename>/etc/mail/local-host-names</filename>. Se usi - una versione di <application>sendmail</application> precedente - alla 8.10, il file da usare è - <filename>/etc/sendmail.cw</filename>.</para> - </listitem> - - <listitem> - <para>Se usi la versione di <application>sendmail</application> 8.10 - o superiore aggiungi la riga <literal>Cwyour.host.com</literal> al - tuo <filename>/etc/sendmail.cf</filename> o - <filename>/etc/mail/sendmail.cf</filename>.</para> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="SMTP-UUCP"> - <title>SMTP con UUCP</title> - - <para>La configurazione di <application>sendmail</application> di default - su FreeBSD è designata per siti che si collegano direttamente a - Internet. I siti che vogliono scambiarsi lo loro posta tramite - UUCP devono installare un altro file di configurazione di - <application>sendmail</application>.</para> - - <para>Editare a mano il file <filename>/etc/mail/sendmail.cf</filename> - è materia da esperti. La versione 8 di - <application>sendmail</application> genera file di configurazione tramite - la preelaborazione di &man.m4.1;, dove l'attuale configurazione avviene - su un livello di astrazione più alto. I file di configurazione - di &man.m4.1; possono essere trovati sotto - <filename>/usr/src/usr.sbin/sendmail/cf</filename>.</para> - - <para>Se non hai installato un completo albero dei sorgenti sul tuo sistema, - non importa, il materiale di configurazione di - <application>sendmail</application> è stato diviso in un separato - tarball di sorgenti. Assumendo che tu abbia il tuo CDROM dei sorgenti di - FreeBSD montato, esegui:</para> - - <screen>&prompt.root; <userinput>cd /cdrom/src</userinput> -&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail</userinput></screen> - - <para>Questo estrae solo alcune centinaia di kilobytes. Il file - <filename>README</filename> nella directory <filename>cf</filename> - può servire come introduzione di base alla configurazione - di &man.m4.1;.</para> - - <para>Il miglior modo per supportare la consegna UUCP è usare la - caratteristica <literal>mailertable</literal>. Questa crea un database - che <application>sendmail</application> può usare per prendere le - decisioni di instradamento.</para> - - <para>Prima di tutto, devi creare il tuo file <filename>.mc</filename>. - La directory <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename> - contiene alcuni esempi. Assumendo che tu abbia chiamato il tuo file - <filename>foo.mc</filename>, tutto quello che devi fare per convertirlo - in un valido <filename>sendmail.cf</filename> è:</para> - - <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput> -&prompt.root; <userinput>make foo.cf</userinput> -&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen> - - <para>Un tipico file <filename>.mc</filename> potrebbe assomigliare a - questo:</para> - - <programlisting>VERSIONID(`<replaceable>Il tuo numero di versione</replaceable>') OSTYPE(bsd4.4) - -FEATURE(accept_unresolvable_domains) -FEATURE(nocanonify) -FEATURE(mailertable, `hash -o /etc/mail/mailertable') - -define(`UUCP_RELAY', <replaceable>il.tuo.relay.uucp</replaceable>) -define(`UUCP_MAX_SIZE', 200000) -define(`confDONT_PROBE_INTERFACES') - -MAILER(local) -MAILER(smtp) -MAILER(uucp) - -Cw <replaceable>il.tuo.nome.host.alias</replaceable> -Cw <replaceable>iltuonodouucp.UUCP</replaceable></programlisting> - - <para>Le righe contenenti le caratteristiche - <literal>accept_unresolvable_domains</literal>, - <literal>nocanonify</literal>, and - <literal>confDONT_PROBE_INTERFACES</literal> impediscono l'uso del DNS - durante la consegna della posta. La clausola - <literal>UUCP_RELAY</literal> è necessaria per supportare la - consegna UUCP. Metti semplicemente un nome host di Internet che è - in grado di gestire indirizzi di pseudo-domini .UUCP; molto - probabilmente, metterai il relay del tuo ISP.</para> - - <para>Una volta fatto questo, hai bisogno del file - <filename>/etc/mail/mailertable</filename>. Se hai solo un collegamento - per l'esterno che viene usato per tutta la tua posta, la seguente riga - sarà sufficiente:</para> - - <programlisting># -# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable -. uucp-dom:<replaceable>il.tuo.relay.uucp</replaceable></programlisting> - - <para>Un esempio più complesso potrebbe essere simile a - questo:</para> - - <programlisting># -# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable -# -horus.interface-business.de uucp-dom:horus -.interface-business.de uucp-dom:if-bus -interface-business.de uucp-dom:if-bus -.heep.sax.de smtp8:%1 -horus.UUCP uucp-dom:horus -if-bus.UUCP uucp-dom:if-bus -. uucp-dom:</programlisting> - - <para>Le prime tre righe gestiscono dei casi speciali dove la posta - indirizzata a quel dominio non dovrebbe essere spedita tramite - l'instradamento di default, ma piuttosto tramite alcuni UUCP di confine - al fine di <quote>accorciare</quote> il percorso di consegna. La quarta - riga gestisce la posta per il dominio Ethernet locale la quale può - essere consegnata usando SMTP. Infine, gli UUCP di confine sono - menzionati con la notazione a pseudo-dominio .UUCP, per permettere a un - <literal><replaceable>uucp-diconfine - </replaceable>!<replaceable>destinatario</replaceable></literal> - di sovrascrivere le regole di default. L'ultima riga è sempre un - singolo punto, a cui corrisponde ogni altra cosa e che rappresenta la - consegna UUCP tramite l'UUCP di confine che viene usato come il tuo - gateway di posta universale verso il mondo. Tutti i nomi dei nodi dietro - alla parola <literal>uucp-dom:</literal> devono essere validi UUCP di - confine, come puoi verificare usando il comando - <literal>uuname</literal>.</para> - - <para>Si ricorda che questo file deve essere convertito in un file database - DBM prima di essere usato. La riga di comando che realizza ciò - è messa come un commento in cima al file - <filename>mailertable</filename>. - Devi sempre eseguire quel comando ogni volta che modifichi il file - <filename>mailertable</filename>.</para> - - <para>Ultimo suggerimento: se non sei sicuro che alcuni instradamenti di - posta potrebbero funzionare, ricordati l'opzione <option>-bt</option> - di <application>sendmail</application>. Questa avvia - <application>sendmail</application> in <emphasis>modalità test - indirizzo</emphasis>; digita semplicemente <literal>3,0</literal>, - seguito dall'indirizzo su cui vuoi verificare l'instradamento della posta. - L'ultima riga ti informa quale agente di posta interno è stato - utilizzato, quale host di destinazione questo agente contatterà, e - l'indirizzo (molto probabilmente tradotto). Lascia questa modalità - digitando <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>D</keycap> - </keycombo>.</para> - - <screen>&prompt.user; <userinput>sendmail -bt</userinput> -ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) -Enter <ruleset> <address> -<prompt>></prompt> <userinput>3,0 foo@example.com</userinput> -canonify input: foo @ example . com -... -parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo < @ example . com . > -<prompt>></prompt> <userinput>^D</userinput></screen> - </sect1> - - <sect1 id="outgoing-only"> - <sect1info> - <authorgroup> - <author> - <firstname>Bill</firstname> - - <surname>Moran</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Configurazione del Sistema di Posta solo per l'Invio</title> - - <para>Esistono molti casi in cui vorresti avere la possibilità di - inviare la posta attraverso un relay. Alcuni esempi sono:</para> - - <itemizedlist> - <listitem> - <para>Il tuo computer è una macchina desktop, tuttavia vorresti - essere in grado di usare programmi come &man.send-pr.1;. Per fare - ciò, dovresti usare il relay di posta del tuo ISP.</para> - </listitem> - - <listitem> - <para>Il computer è un server che non gestisce localmente la - posta, ma demanda la gestione di tutta la posta ad un relay - inoltrandola in modo opportuno.</para> - </listitem> - </itemizedlist> - - <para>La maggior parte degli <acronym>MTA</acronym> sono in grado di - soddisfare questa particolare richiesta. Sfortunatamente, configurare - in modo opportuno un <acronym>MTA</acronym> standard affinchè - permetta solo l'inoltro della posta può essere un compito molto - oneroso. Usare applicazioni come <application>sendmail</application> e - <application>postfix</application> per questo fine risulta spesso troppo - eccessivo.</para> - - <para>Inoltre, alcuni servizi di accesso a Internet prevedono nel contratto - l'impossibilità da parte del cliente di usare un <quote>server di - posta</quote>.</para> - - <para>Il modo più facile per colmare questa necessità è - installare il port <filename role="package">mail/ssmtp</filename>. - Esegui i seguenti comandi come <username>root</username>:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput> -&prompt.root; <userinput>make install replace clean</userinput></screen> - - <para>Una volta installato, il port <filename - role="package">mail/ssmtp</filename> può essere configurato con - quattro righe nel file - <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para> - - <programlisting>root=il_tuo_indirizzo_di_posta_reale -mailhub=mail.esempio.com -rewriteDomain=esempio.com -hostname=_HOSTNAME_</programlisting> - - <para>Assicurati di usare il tuo indirizzo di posta per la variabile - <username>root</username>. Inserisci il server di posta di inoltro del - tuo ISP al posto di <hostid role="fqdn">mail.esempio.com</hostid> (alcuni - ISP lo chiamano come il <quote>server di posta in uscita</quote> o il - <quote>server SMTP</quote>).</para> - - <para>Assicurati di disabilitare <application>sendmail</application> - settando <literal>sendmail_enable="NONE"</literal> in - <filename>/etc/rc.conf</filename>.</para> - - <para>Il port <filename role="package">mail/ssmtp</filename> ha altre - opzioni disponibili. Guarda il file di configurazione di esempio - <filename>/usr/local/etc/ssmtp</filename> e la pagina man di - <application>ssmtp</application> per alcuni esempi e maggiori - informazioni.</para> - - <para>Configurando <application>ssmtp</application> in questo modo - permetterai ai programmi sul tuo computer che necessitano di spedire posta - di funzionare correttamente, senza violare le politiche del tuo ISP e - senza permettere che il tuo computer sia utilizzato per l'inoltro di - spam.</para> - </sect1> - - <sect1 id="SMTP-dialup"> - <title>Uso della Posta con una Connessione Dialup</title> - - <para>Se hai un indirizzo IP statico, non hai bisogno di adattare nulla alla - configurazione di default. Imposta come nome host il nome Internet che - ti è stato assegnato e <application>sendmail</application> - farà il resto.</para> - - <para>Se hai un indirizzo IP assegnato in modo dinamico e usi una - connessione PPP dialup per Internet, allora probabilmente avrai una - casella di posta sul server di posta del tuo ISP. Assumiamo che il - dominio del tuo ISP sia <hostid role="domainname">example.net</hostid>, - che il tuo nome utente sia <username>user</username>, che hai chiamato - la tua macchina <hostid role="fqdn">bsd.home</hostid>, e che il tuo ISP - ti ha detto che puoi usare <hostid - role="fqdn">relay.example.net</hostid> come relay per la posta.</para> - - <para>Per ricevere la posta dalla tua casella, devi installare un agente - di ricupero. L'utility <application>fetchmail</application> è - una buona scelta poichè supporta diversi tipi di protocolli. - Questo programma è disponibile come package o dalla collezione dei - port (<filename role="package">mail/fetchmail</filename>). - Di solito, il tuo <acronym>ISP</acronym> fornirà - <acronym>POP</acronym>. Se stai usando <acronym>PPP</acronym> a livello - utente, puoi prelevare automaticamente la tua posta quando viene stabilita - una connessione a Internet mettendo la seguente riga in - <filename>/etc/ppp/ppp.linkup</filename>:</para> - - <programlisting>MYADDR: -!bg su user -c fetchmail</programlisting> - - <para>Se stai usando <application>sendmail</application> (come mostrato - sotto) per consegnare posta ad account non locali, probabilmente vorrai - che <application>sendmail</application> processi la tua coda di posta - non appena viene stabilita una connessione ad Internet. Per far questo, - metti il seguente comando dopo il comando <command>fetchmail</command> in - <filename>/etc/ppp/ppp.linkup</filename>.</para> - - <programlisting>!bg su user -c "sendmail -q"</programlisting> - - <para>Assumiamo che tu abbia un account per <username>user</username> su - <hostid role="fqdn">bsd.home</hostid>. Nella directory home di - <username>user</username> su <hostid role="fqdn">bsd.home</hostid>, crea - il file <filename>.fetchmailrc</filename> così composto:</para> - - <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting> - - <para>Questo file non dovrebbe essere leggibile da nessuno ad eccezione di - <username>user</username> poichè contiene la password - <literal>MySecret</literal>.</para> - - <para>Per spedire la posta con il corretto header <literal>from:</literal>, - devi indicare a <application>sendmail</application> di usare - <literal>user@example.net</literal> piuttosto che - <literal>user@bsd.home</literal>. Inoltre vorrai indicare a - <application>sendmail</application> di spedire tutta la posta tramite - <hostid role="fqdn">relay.example.net</hostid>, permettendo una veloce - trasmissione della posta.</para> - - <para>Il seguente file <filename>.mc</filename> dovrebbe essere - sufficiente:</para> - - <programlisting>VERSIONID(`bsd.home.mc version 1.0') -OSTYPE(bsd4.4)dnl -FEATURE(nouucp)dnl -MAILER(local)dnl -MAILER(smtp)dnl -Cwlocalhost -Cwbsd.home -MASQUERADE_AS(`example.net')dnl -FEATURE(allmasquerade)dnl -FEATURE(masquerade_envelope)dnl -FEATURE(nocanonify)dnl -FEATURE(nodns)dnl -define(`SMART_HOST', `relay.example.net') -Dmbsd.home -define(`confDOMAIN_NAME',`bsd.home')dnl -define(`confDELIVERY_MODE',`deferred')dnl</programlisting> - - <para>Fai riferimento alla precedente sezione per i dettagli su come - trasformare questo file <filename>.mc</filename> nel file - <filename>sendmail.cf</filename>. Inoltre, non dimenticarti di riavviare - <application>sendmail</application> dopo aver aggiornato il file - <filename>sendmail.cf</filename>.</para> - </sect1> - - <sect1 id="SMTP-Auth"> - <sect1info> - <authorgroup> - <author> - <firstname>James</firstname> - - <surname>Gorham</surname> - - <contrib>Scritto da </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Autenticazione SMTP</title> - - <para>Avere un'Autenticazione <acronym>SMTP</acronym> operativa sul tuo - server di posta porta numerosi benefici. L'Autenticazione - <acronym>SMTP</acronym> aggiunge un ulteriore strato di sicurezza a - <application>sendmail</application>, e ha il vantaggio di dare agli - utenti mobili che cambiano host la possibilità di usare lo stesso - server di posta senza avere la necessità di riconfigurare ogni - volta i settaggi dei loro programmi client di posta.</para> - - <procedure> - <step> - <para>Installa dai port <filename - role="package">security/cyrus-sasl</filename>. Puoi trovare questo - port in <filename role="package">security/cyrus-sasl</filename>. - In fase di compilazione <filename - role="package">security/cyrus-sasl</filename> permette di scegliere - molte opzioni e, per il nostro scopo, assicurati di selezionare - l'opzione <option>pwcheck</option>.</para> - </step> - - <step> - <para>Dopo aver installato <filename - role="package">security/cyrus-sasl</filename>, edita - <filename>/usr/local/lib/sasl/Sendmail.conf</filename> - (o crealo se non esiste) e aggiungi la seguente riga:</para> - - <programlisting>pwcheck_method: passwd</programlisting> - - <para>In questo modo si permetterà a - <application>sendmail</application> di autenticare gli utenti tramite - il proprio database <filename>passwd</filename> di FreeBSD. Questo - procedimento evita di creare un nuovo set di nomi utenti e password - per ogni utente che necessita di usare l'autenticazione - <acronym>SMTP</acronym>, mantenendo la password di login uguale alla - password di posta.</para> - </step> - - <step> - <para>Ora aggiungi le seguenti righe in - <filename>/etc/make.conf</filename>:</para> - - <programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL -SENDMAIL_LDFLAGS=-L/usr/local/lib -SENDMAIL_LDADD=-lsasl</programlisting> - - <para>Queste righe daranno, in fase di compilazione di - <application>sendmail</application>, le giuste opzioni di - configurazione per linkare a <filename - role="package">cyrus-sasl</filename>. Assicurati che <filename - role="package">cyrus-sasl</filename> sia installato prima di - ricompilare <application>sendmail</application>.</para> - </step> - - <step> - <para>Ricompila <application>sendmail</application> eseguendo i - seguenti comandi:</para> - - <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput> -&prompt.root; <userinput>make cleandir</userinput> -&prompt.root; <userinput>make obj</userinput> -&prompt.root; <userinput>make</userinput> -&prompt.root; <userinput>make install</userinput></screen> - - <para>Se <filename>/usr/src</filename> non ha subito enormi cambiamenti - e se le librerie condivise di cui si ha bisogno sono disponibili, la - compilazione di <application>sendmail</application> non dovrebbe - avere problemi.</para> - </step> - - <step> - <para>Dopo aver compilato e reinstallato - <application>sendmail</application>, edita il tuo file - <filename>/etc/mail/freebsd.mc</filename> (o qualunque altro file che - usi come file <filename>.mc</filename>. Molti amministratori - preferiscono usare, per unicità, l'output di &man.hostname.1; - come nome del file <filename>.mc</filename>). Aggiungi le seguenti - righe:</para> - - <programlisting>dnl set SASL options -TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl -define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl -define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl</programlisting> - - <para>Queste opzioni configurano i vari metodi che - <application>sendmail</application> ha a disposizione per autenticare - gli utenti. Se vuoi usare un metodo diverso da - <application>pwcheck</application>, guarda la documentazione inclusa - nel package.</para> - </step> - - <step> - <para>Per finire, esegui &man.make.1; in <filename>/etc/mail</filename>. - Questo eseguirà il tuo nuovo file <filename>.mc</filename> e - creerà un file <filename>.cf</filename> di nome - <filename>freebsd.cf</filename> (o con il nome che hai usato per il - file <filename>.mc</filename>). Quindi esegui il comando - <command>make install restart</command>, che copierà il file in - <filename>sendmail.cf</filename>, e riavvierà correttamente - <application>sendmail</application>. Per maggiori informazioni su - questa procedura, dovresti prendere come riferimento - <filename>/etc/mail/Makefile</filename>.</para> - </step> - </procedure> - - <para>Se tutto è andato per il verso giusto, dovresti essere in grado - di inviare un messaggio di prova dopo aver inserito le informazioni di - login nel programma client di posta. Per ulteriori indagini, setta il - <option>LogLevel</option> di <application>sendmail</application> a 13 e - guarda il file <filename>/var/log/maillog</filename> per eventuali - errori.</para> - - <para>Potresti voler aggiungere le seguenti righe in - <filename>/etc/rc.conf</filename> in modo che questo servizio sia - attivo dopo ogni avvio del sistema:</para> - - <programlisting>sasl_pwcheck_enable="YES" -sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting> - - <para>Questo assicurerà l'inizializzazione - dell'<acronym>SMTP_AUTH</acronym> all'avvio del sistema.</para> - - <para>Per ulteriori informazioni, guarda la pagina riguardante <ulink - url="http://www.sendmail.org/~ca/email/auth.html">l'autenticazione - <acronym>SMTP</acronym></ulink> di - <application>sendmail</application>.</para> - </sect1> - - <sect1 id="mail-agents"> - <sect1info> - <authorgroup> - <author> - <firstname>Marc</firstname> - - <surname>Silver</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Mail User Agent</title> - - <indexterm> - <primary>Mail User Agent</primary> - </indexterm> - - <para>Un Mail User Agent (<acronym>MUA</acronym>) è un'applicazione - che viene usata per inviare e ricevere la posta elettronica. Man mano - che la posta <quote>evolve</quote> e diventa più complessa, - gli <acronym>MUA</acronym> diventano sempre più potenti nel modo - in cui essi interagiscono con la posta elettronica; ciò fornisce - agli utenti maggiori funzionalità e flessibilità. - &os; supporta svariati mail user agent, che possono essere facilmente - installati usando la <link linkend="ports">FreeBSD Ports - Collection</link>. Gli utenti possono scegliere tra client di posta - con un'interfaccia grafica come <application>evolution</application> o - <application>balsa</application>, client basati sulla console come - <application>mutt</application>, <application>pine</application> - e <command>mail</command>, oppure interfacce web utilizzate da alcune - grandi organizzazioni.</para> - - <sect2 id="mail-command"> - <title>mail</title> - - <para>&man.mail.1; è il Mail User Agent (<acronym>MUA</acronym>) - di default su &os;. Si tratta di un <acronym>MUA</acronym> basato sulla - console che offre tutte le funzionalità di base richieste per - inviare e ricevere messaggi di posta testuali, anche se è - limitato nelle capacità di gestione degli allegati, e può - solo supportare caselle di posta locali.</para> - - <para>Sebbene <command>mail</command> non supporta in modo nativo - interazioni con server <acronym>POP</acronym> o <acronym>IMAP</acronym>, - queste caselle di posta possono essere scaricate nel file - <filename>mbox</filename> locale usando un'applicazione come - <application>fetchmail</application>, che verrà discussa - più tardi in questo capitolo (<xref - linkend="mail-fetchmail">).</para> - - <para>Al fine di inviare o ricevere la posta, invoca semplicemente il - comando <command>mail</command> come nel seguente esempio:</para> - - <screen>&prompt.user; <userinput>mail</userinput></screen> - - <para>I contenuti delle caselle di posta degli utenti in - <filename role="directory">/var/mail</filename> sono letti - automaticamente dall'utility <command>mail</command>. Se la casella - di posta è vuota, l'utility esce con un messaggio che indica che - non è stato trovato nessun messaggio di posta. Una volta che - la casella di posta è stata letta, viene avviata l'interfaccia - dell'applicazione, e vengono visualizzati una lista di messaggi. - I messaggi sono numerati in modo automatico, come nel seguente - esempio:</para> - - <screen>Mail version 8.1 6/6/93. Type ? for help. -"/var/mail/marcs": 3 messages 3 new ->N 1 root@localhost Mon Mar 8 14:05 14/510 "test" - N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" - N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen> - - <para>I messaggi possono ora essere letti usando il comando - <keycap>t</keycap> di <command>mail</command>, seguito dal numero - del messaggio che si vuole visualizzare. In questo esempio, leggeremo - il primo messaggio di posta:</para> - - <screen>& <userinput>t 1</userinput> -Message 1: -From root@localhost Mon Mar 8 14:05:52 2004 -X-Original-To: marcs@localhost -Delivered-To: marcs@localhost -To: marcs@localhost -Subject: test -Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST) -From: root@localhost (Charlie Root) - -Questo è un messaggio di prova, per favore rispondi se lo ricevi.</screen> - - <para>Come puoi vedere nell'esempio precedente, il tasto - <keycap>t</keycap> visualizza il messaggio completo di tutte le sue - intestazioni (header). Per visualizzare ancora la lista dei messaggi, - puoi usare il tasto <keycap>h</keycap>.</para> - - <para>Se il messaggio di posta richiede una replica, puoi usare - <command>mail</command> per rispondere, usando il tasto - <keycap>R</keycap> o <keycap>r</keycap> di <command>mail</command>. - Il tasto <keycap>R</keycap> dice a <command>mail</command> di rispondere - solamente al mittente del messaggio, mentre <keycap>r</keycap> replica - non solo al mittente, ma anche agli altri eventuali destinatari del - messaggio originario. Puoi anche impartire quei comandi con un - suffisso relativo al numero di messaggio per il quale intendi - rispondere. Fatto ciò, inserisci la tua risposta, segnalando la - fine del messaggio con un singolo punto (<keycap>.</keycap>) su una - nuova linea. Ecco un esempio:</para> - - <screen>& <userinput>R 1</userinput> -To: root@localhost -Subject: Re: test - -<userinput>Thank you, I did get your email. -.</userinput> -EOT</screen> - - <para>Per inviare un nuovo messaggio, puoi usare il tasto - <keycap>m</keycap>, seguito dall'indirizzo di posta elettronica del - destinatario. Puoi specificare più destinatari separando ogni - indirizzo da una virgola (<keycap>,</keycap>). Quindi si inserisce - il soggetto del messaggio (il subject), seguito dal contenuto del - messaggio stesso. La fine del messaggio deve essere specificata da un - singolo punto (<keycap>.</keycap>) su una nuova linea.</para> - - <screen>& <userinput>mail root@localhost</userinput> -Subject: <userinput>Ho imparato ad usare mail - -Ora posso inviare e ricevere posta usando mail ... :) -.</userinput> -EOT</screen> - - <para>Anche se in <command>mail</command>, il comando <keycap>?</keycap> - può essere usato per invocare l'help in linea, la pagina man - &man.mail.1; dovrebbe essere consultata per ottenere maggiori - informazioni.</para> - - <note> - <para>Come menzionato in precedenza, il comando &man.mail.1; non - è stato originariamente progettato per gestire gli allegati, e - quindi il supporto per essi è proprio misero. Nuovi - <acronym>MUA</acronym> come <application>mutt</application> gestiscono - gli allegati in un modo più intelligente. Tuttavia se desideri - comunque usare il comando <command>mail</command>, dovresti - considerare l'uso del port <filename - role="package">converters/mpack</filename>.</para> - </note> - </sect2> - - <sect2 id="mutt-command"> - <title>mutt</title> - - <para><application>mutt</application> è un Mail User Agent leggero - ma molto potente, con caratteristiche eccellenti, alcune delle - quali sono:</para> - - <itemizedlist> - <listitem> - <para>Abilità nella gestione di thread di messaggi;</para> - </listitem> - - <listitem> - <para>Supporto PGP per la firma digitale e per criptare i messaggi di - posta;</para> - </listitem> - - <listitem> - <para>Supporto al MIME;</para> - </listitem> - - <listitem> - <para>Supporto del formato Maildir;</para> - </listitem> - - <listitem> - <para>Altamente personalizzabile.</para> - </listitem> - </itemizedlist> - - <para>Tutte queste caratteristiche fanno di - <application>mutt</application> uno dei maggiori user agent avanzati - oggi disponibili. Guarda <ulink url="http://www.mutt.org"></ulink> per - maggiori informazioni su <application>mutt</application>.</para> - - <para>La versione stabile di <application>mutt</application> può - essere installata usando il port <filename - role="package">mail/mutt</filename>, mentre la versione corrente - di sviluppo può essere installata tramite il port <filename - role="package">mail/mutt-devel</filename>. Una volta che il port - è stato installato, <application>mutt</application> può - essere avviato usando il seguente comando:</para> - - <screen>&prompt.user; <userinput>mutt</userinput></screen> - - <para><application>mutt</application> in modo automatico legge il - contenuto della casella di posta dell'utente in <filename - role="directory">/var/mail/</filename> e ne visualizza il contenuto. - Se non ci sono messaggi nella casella di posta dell'utente, allora - <application>mutt</application> si mette in attesa di comandi da parte - dell'utente. L'esempio qui sotto mostra <application>mutt</application> - che visualizza una lista di messaggi:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/mutt1" format="PNG"> - </imageobject> - </mediaobject> - - <para>Per leggere un messaggio, selezionalo usando i tasti cursore, e - premi il tasto <keycap>Invio</keycap>. Segue un esempio di come - <application>mutt</application> visualizza un messaggio:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/mutt2" format="PNG"> - </imageobject> - </mediaobject> - - <para>Come con il comando &man.mail.1;, <application>mutt</application> - permette agli utenti di rispondere al solo mittente del messaggio come - pure a tutti i suoi destinatari. Per rispondere solo al mittente - del messaggio, usa il tasto <keycap>r</keycap>. Per inviare una - risposta di gruppo, che invierà la risposta sia al mittente - originario sia a tutti i destinatari del messaggio, usa il tasto - <keycap>g</keycap>.</para> - - <note> - <para><application>mutt</application> si serve del comando &man.vi.1; - come editor per la creazione o risposta dei messaggi di posta - elettronica. Il tipo di editor può essere personalizzato - dall'utente creando o editando il proprio file di configurazione - <filename>.muttrc</filename> nella propria directory home e settando - in modo opportuno la variabile <literal>editor</literal>.</para> - </note> - - <para>Per comporre un nuovo messaggio, premi il tasto <keycap>m</keycap>. - Dopo aver digitato un valido soggetto, <application>mutt</application> - avvierà &man.vi.1; con il quale comporre il corpo del messaggio. - Fatto ciò, salvando e uscendo da <command>vi</command>, - <application>mutt</application> visualizzarà una schermata - riassuntiva del messaggio che sta per essere consegnato. Per inviare il - messaggio, premi il tasto <keycap>y</keycap>. Segue un esempio di una - schermata riassuntiva di un messaggio:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/mutt3" format="PNG"> - </imageobject> - </mediaobject> - - <para><application>mutt</application> contiene un ottimo help in linea, - che può essere accessibile nella maggior parte dei menù - digitando il tasto <keycap>?</keycap>. Inoltre, in alcuni casi, nella - parte superiore delle finestra vengono elencati i tasti funzioni - principali.</para> - </sect2> - - <sect2 id="pine-command"> - <title>pine</title> - - <para><application>pine</application> è rivolto agli utenti novizi, - tuttavia include alcune caratteristiche avanzate.</para> - - <warning> - <para>Il software <application>pine</application> ha avuto svariate - vulnerabilità remote scoperte in passato, che permettevano ad - attaccanti remoti di eseguire del codice arbitrario come se fossero - degli utenti locali del sistema, tramite l'invio di un messaggio di - posta preparato ad doc. Tutti questi <emphasis>noti</emphasis> - problemi sono stati rattoppati, ma il codice di - <application>pine</application> è stato scritto in un modo - insicuro e il Servizio di Sicurezza di &os; crede che probabilmente - esistono altre vulnerabilità non ancora scoperte o divulgate. - Installa <application>pine</application> a tuo rischio e - pericolo.</para> - </warning> - - <para>L'attuale versione di <application>pine</application> può - essere installata usando il port <filename - role="package">mail/pine4</filename>. Una volta che il port è - stato installato, <application>pine</application> può essere - avviato con il comando seguente:</para> - - <screen>&prompt.user; <userinput>pine</userinput></screen> - - <para>La prima volta che <application>pine</application> viene avviato - viene visualizza una pagina di presentazione con una breve introduzione, - e un sollecito del team di sviluppo di <application>pine</application> - ad inviare un messaggio anonimo che permette di constatare quanti sono - gli utenti che usano la loro applicazione. Per inviare questo messaggio - anonimo, premi <keycap>Invio</keycap>, oppure premi il tasto - <keycap>E</keycap> per uscire dalla presentazione senza inviare il - messaggio anonimo. Ecco un esempio della pagina di - presentazione:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/pine1" format="PNG"> - </imageobject> - </mediaobject> - - <para>All'utente viene quindi presentato il menù principale, che - può essere facilmente esplorato con i tasti cursore. Questo - menù principale fornisce le scorciatoie per comporre nuovi - messaggi di posta, per esplorare le directory di posta e perfino per - amministrare l'agenda degli indirizzi. Sotto al menù - principale, sono mostrati i tasti funzione utili per realizzare azioni - specifiche, attinenti all'attuale contesto d'uso.</para> - - <para>La directory di default aperta da <application>pine</application> - è <filename role="directory">inbox</filename>. Per visualizzare - l'indice dei messaggi, premi il tasto <keycap>I</keycap>, o seleziona - l'opzione <guimenuitem>MESSAGE INDEX</guimenuitem> come da - esempio:</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/pine2" format="PNG"> - </imageobject> - </mediaobject> - - <para>L'indice dei messaggi mostra i messaggi nella directory corrente, - e può essere esplorato con i tasti cursore. I messaggi - selezionati possono essere letti premendo il tasto - <keycap>Invio</keycap>.</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/pine3" format="PNG"> - </imageobject> - </mediaobject> - - <para>Nello screenshot seguente, viene visualizzato un semplice messaggio - in <application>pine</application>. I tasti funzione sono visualizzati - come riferimento nella parte superiore della finestra. Un esempio di - uno di questi tasti funzioni è il tasto <keycap>r</keycap>, - che dice al <acronym>MUA</acronym> di rispondere al messaggio - attualmente visualizzato.</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/pine4" format="PNG"> - </imageobject> - </mediaobject> - - <para>In <application>pine</application> la risposta ad un messaggio viene - realizzata con l'editor <application>pico</application>, che è - installato di default con <application>pine</application>. L'utility - <application>pico</application> permette una semplice esplorazione del - messaggio ed è più permissivo con i nuovi utenti rispetto - a &man.vi.1; o &man.mail.1;. Una volta completata la risposta, il - messaggio può essere inviato con <keycombo - action="simul"><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>. - L'applicazione <application>pine</application> chiederà una - conferma.</para> - - <mediaobject> - <imageobject> - <imagedata fileref="mail/pine5" format="PNG"> - </imageobject> - </mediaobject> - - <para><application>pine</application> può essere personalizzato - usando l'opzione <guimenuitem>SETUP</guimenuitem> del menù - principale. Consulta <ulink - url="http://www.washington.edu/pine/"></ulink> per maggiori - informazioni.</para> - </sect2> - </sect1> - - <sect1 id="mail-fetchmail"> - <sect1info> - <authorgroup> - <author> - <firstname>Marc</firstname> - - <surname>Silver</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Usare fetchmail</title> - - <indexterm> - <primary>usare fetchmail</primary> - </indexterm> - - <para><application>fetchmail</application> è un client - <acronym>IMAP</acronym> e <acronym>POP</acronym> super attrezzato che - da la possibilità agli utenti di scaricare automaticamente la posta - da server remoti <acronym>IMAP</acronym> e <acronym>POP</acronym> e di - salvarla nelle proprie caselle di posta locali; in questo modo la posta - è più accessibile. <application>fetchmail</application> - può essere installato usando il port <filename - role="package">mail/fetchmail</filename>, e offre diverse - caratteristiche, alcune delle quali sono:</para> - - <itemizedlist> - <listitem> - <para>Supporto dei protocolli <acronym>POP3</acronym>, - <acronym>APOP</acronym>, <acronym>KPOP</acronym>, - <acronym>IMAP</acronym>, <acronym>ETRN</acronym> e - <acronym>ODMR</acronym>.</para> - </listitem> - - <listitem> - <para>Capacità di inoltrare la posta usando - <acronym>SMTP</acronym>, permettendo di filtrare, inoltrare, e usare - la funzionalità alias come di consueto.</para> - </listitem> - - <listitem> - <para>Può essere eseguito in modalità demone per - verificare in modo periodico la presenza di nuovi messaggi.</para> - </listitem> - - <listitem> - <para>Può recuperare più caselle di posta e inoltrare - i relativi messaggi a diversi utenti locali, a seconda della sua - configurazione.</para> - </listitem> - </itemizedlist> - - <para>Benchè la spiegazione di tutte le caratteristiche di - <application>fetchmail</application> vada oltre lo scopo di questo - documento, verranno presentate alcune funzionalità di base. - <application>fetchmail</application> richiede un file di configurazione - <filename>.fetchmailrc</filename>, al fine di poter essere avviato in modo - corretto. Questo file include informazioni sui server come pure le - credenziali per il login. Data la natura sensibile del contenuto di - questo file, è consigliabile renderlo accessibile in sola lettura - dal proprietario, usando il seguente comando:</para> - - <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen> - - <para>La seguente configurazione di <filename>.fetchmailrc</filename> serve - come esempio per scaricare una singola casella di posta usando - <acronym>POP</acronym>. Essa indica a - <application>fetchmail</application> di connettersi a <hostid - role="fqdn">example.com</hostid> usando come nome utente - <username>joesoap</username> e come password <literal>XXX</literal>. - Questo esempio assume che l'utente <username>joesoap</username> è - anche un utente del sistema locale.</para> - - <programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting> - - <para>Il prossimo esempio si connette a più server - <acronym>POP</acronym> e <acronym>IMAP</acronym> e redirige i vari - messaggi a diversi nomi utenti locali quando necessario:</para> - - <programlisting>poll example.com proto pop3: -user "joesoap", with password "XXX", is "jsoap" here; -user "andrea", with password "XXXX"; -poll example2.net proto imap: -user "john", with password "XXXXX", is "myth" here;</programlisting> - - <para>L'utility <application>fetchmail</application> può essere - eseguita in modalità demone con l'opzione <option>-d</option>, - seguita da un intervallo (in secondi) in base al quale - <application>fetchmail</application> sonderà i server elencati nel - file <filename>.fetchmailrc</filename>. Il seguente esempio indica a - <application>fetchmail</application> di sondare i server ogni 60 - secondi:</para> - - <screen>&prompt.user; <userinput>fetchmail -d 60</userinput></screen> - - <para>Maggiori informazioni su <application>fetchmail</application> possono - essere trovate all'indirizzo <ulink - url="http://www.catb.org/~esr/fetchmail/"></ulink>.</para> - </sect1> - - <sect1 id="mail-procmail"> - <sect1info> - <authorgroup> - <author> - <firstname>Marc</firstname> - - <surname>Silver</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Usare procmail</title> - - <indexterm> - <primary>usare procmail</primary> - </indexterm> - - <para>L'utility <application>procmail</application> è un'applicazione - molto potente usata per filtrare la posta in ingresso. Permette agli - utenti di definire delle <quote>regole</quote> che sono confrontate con la - posta in ingresso per realizzare funzioni specifiche o per inoltrare la - posta ad una casella di posta alternativa e/o ad altri indirizzi di posta. - <application>procmail</application> può essere installato usando - il port <filename role="package">mail/procmail</filename>. Una volta - installato, può essere integrato direttamente nella maggior parte - degli <acronym>MTA</acronym>; consulta la documentazione del tuo - <acronym>MTA</acronym> per maggiori informazioni. Altrimenti, - <application>procmail</application> può essere integrato - aggiungendo la seguente linea nel file <filename>.forward</filename> nella - home directory dell'utente, potendo così utilizzare le - funzionalità di <application>procmail</application>:</para> - - <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting> - - <para>La seguente sezione mostra alcune regole base di - <application>procmail</application>, così come una breve - descrizione di ciò che fanno. Queste ed eventualmente altre - regole, devono essere inserite nel file <filename>.procmailrc</filename>, - posto nella home directory dell'utente.</para> - - <para>La maggior parte di queste regole possono essere trovate anche nella - pagina man di &man.procmailex.5;.</para> - - <para>Per inoltrare la posta inviata da <literal>user@example.com</literal> - all'indirizzo di posta <literal>goodmail@example2.com</literal>:</para> - - <programlisting>:0 -* ^From.*user@example.com -! goodmail@example2.com</programlisting> - - <para>Per inoltrare tutti i messaggi di posta con dimensioni inferiori a - 1000 bytes verso l'indirizzo di posta esterno - <literal>goodmail@example2.com</literal>:</para> - - <programlisting>:0 -* < 1000 -! goodmail@example2.com</programlisting> - - <para>Per inoltrare tutta la posta inviata a - <literal>alternate@example.com</literal> in una casella di posta chiamata - <filename>alternate</filename>:</para> - - <programlisting>:0 -* ^TOalternate@example.com -alternate</programlisting> - - <para>Per inviare tutti messaggi di posta con soggetto <quote>Spam</quote> - in <filename>/dev/null</filename>:</para> - - <programlisting>:0 -^Subject:.*Spam -/dev/null</programlisting> - - <para>Ecco una ricetta utile che analizza i messaggi di posta in ingresso - delle liste di <hostid role="domainname">&os;.org</hostid> e li posiziona - in base alla lista in una opportuna casella di posta:</para> - - <programlisting>:0 -* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG -{ - LISTNAME=${MATCH} - :0 - * LISTNAME??^\/[^@]+ - FreeBSD-${MATCH} -}</programlisting> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/mirrors/Makefile b/it_IT.ISO8859-15/books/handbook/mirrors/Makefile deleted file mode 100644 index d78871c6b2..0000000000 --- a/it_IT.ISO8859-15/books/handbook/mirrors/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= mirrors/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml b/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml deleted file mode 100644 index 25278af115..0000000000 --- a/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml +++ /dev/null @@ -1,2800 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.351 ---> - -<appendix id="mirrors"> - <title>Ottenere FreeBSD</title> - - <sect1 id="mirrors-cdrom"> - <title>Editori di CDROM e DVD</title> - - <sect2> - <title>Prodotti al Dettaglio Confezionati</title> - - <para>FreeBSD è disponibile in confezioni (i CD di FreeBSD, del - software aggiuntivo, e la documentazione cartacea) presso svariati - rivenditori:</para> - - <itemizedlist> - <listitem> - <address> - <otheraddr>CompUSA</otheraddr> - WWW: <otheraddr><ulink - url="http://www.compusa.com/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Frys Electronics</otheraddr> - WWW: <otheraddr><ulink - url="http://www.frys.com/"></ulink></otheraddr> - </address> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Set di CD e DVD</title> - - <para>I set di CD e DVD di FreeBSD sono disponibili presso molti - rivenditori on-line:</para> - - <itemizedlist> - <listitem> - <address> - <otheraddr>Daemon News Mall</otheraddr> - <street>560 South State Street, Suite A2</street> - <city>Orem</city>, <state>UT</state> <postcode>84058</postcode> - <country>Stati Uniti d'America</country> - Telefono: <phone>+1 800 407-5170</phone> - Fax: <fax>+1 1 801 765-0877</fax> - Email: <email>sales@bsdmall.com</email> - WWW: <otheraddr><ulink - url="http://www.bsdmall.com/freebsd1.html"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>FreeBSD Mall, Inc.</otheraddr> - <street>3623 Sanford Street</street> - <city>Concord</city>, <state>CA</state> <postcode>94520-1405</postcode> - <country>Stati Uniti d'America</country> - Telefono: <phone>+1 925 674-0783</phone> - Fax: <fax>+1 925 674-0821</fax> - Email: <email>info@freebsdmall.com</email> - WWW: <otheraddr><ulink - url="http://www.freebsdmall.com/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>FreeBSD Services Ltd</otheraddr> - <street>11 Lapwing Close</street> - <city>Bicester</city> - <postcode>OX26 6XR</postcode> - <country>Regno Unito</country> - WWW: <otheraddr><ulink - url="http://www.freebsd-services.com/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Hinner EDV</otheraddr> - <street>St. Augustinus-Str. 10</street> - <postcode>D-81825</postcode> <city>München</city> - <country>Germania</country> - Telefono: <phone>(089) 428 419</phone> - WWW: <otheraddr><ulink - url="http://www.hinner.de/linux/freebsd.html"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Ikarios</otheraddr> - <street>22-24 rue Voltaire</street> - <postcode>92000</postcode> <city>Nanterre</city> - <country>Francia</country> - WWW: <otheraddr><ulink - url="http://ikarios.com/form/#freebsd"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Ingram Micro</otheraddr> - <street>1600 E. St. Andrew Place</street> - <city>Santa Ana</city>, <state>CA</state> <postcode>92705-4926</postcode> - <country>Stati Uniti d'America</country> - Telefono: <phone>1 (800) 456-8000</phone> - WWW: <otheraddr><ulink - url="http://www.ingrammicro.com/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>JMC Software</otheraddr> - <country>Irlanda</country> - Telefono: <phone>353 1 6291282</phone> - WWW: <otheraddr><ulink - url="http://www.thelinuxmall.com"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>The Linux Emporium</otheraddr> - <street>Hilliard House, Lester Way</street> - <city>Wallingford</city> - <postcode>OX10 9TA</postcode> - <country>Regno Unito</country> - Telefono: <phone>+44 1491 837010</phone> - Fax: <fax>+44 1491 837016</fax> - WWW: <otheraddr><ulink - url="http://www.linuxemporium.co.uk/products/freebsd/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Linux System Labs Australia</otheraddr> - <street>21 Ray Drive</street> - <city>Balwyn North</city> - <postcode>VIC - 3104</postcode> - <country>Australia</country> - Telefono: <phone>+61 3 9857 5918</phone> - Fax: <fax>+61 3 9857 8974</fax> - WWW: <otheraddr><ulink - url="http://www.lsl.com.au"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>LinuxCenter.Ru</otheraddr> - <street>Galernaya Street, 55</street> - <city>Saint-Petersburg</city> - <postcode>190000</postcode> - <country>Russia</country> - Telefono: <phone>+7-812-3125208</phone> - Email: <email>info@linuxcenter.ru</email> - WWW: <otheraddr><ulink - url="http://linuxcenter.ru/freebsd"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>UNIXDVD.COM LTD</otheraddr> - <street>57 Primrose Avenue</street> - <city>Sheffield</city> - <postcode>S5 6FS</postcode> - <country>Regno Unito</country> - WWW: <otheraddr><ulink - url="http://www.unixdvd.com/"></ulink></otheraddr> - </address> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Distributori</title> - - <para>Se sei un rivenditore e vuoi vendere i CDROM di FreeBSD, contatta - uno dei distributori seguenti:</para> - - <itemizedlist> - <listitem> - <address> - <otheraddr>Cylogistics</otheraddr> - <street>2672 Bayshore Parkway, Suite 610</street> - <city>Mountain View</city>, <state>CA</state> <postcode>94043</postcode> - <country>Stati Uniti d'America</country> - Telefono: <phone>+1 650 694-4949</phone> - Fax: <fax>+1 650 694-4953</fax> - Email: <email>sales@cylogistics.com</email> - WWW: <otheraddr><ulink - url="http://www.cylogistics.com/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>FreeBSD Services Ltd</otheraddr> - <street>11 Lapwing Close</street> - <city>Bicester</city> - <postcode>OX26 6XR</postcode> - <country>Regno Unito</country> - WWW: <otheraddr><ulink - url="http://www.freebsd-services.com/"></ulink></otheraddr> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Kudzu, LLC</otheraddr> - <street>7375 Washington Ave. S.</street> - <city>Edina</city>, <state>MN</state> <postcode>55439</postcode> - <country>Stati Uniti d'America</country> - Telefono: <phone>+1 952 947-0822</phone> - Fax: <fax>+1 952 947-0876</fax> - Email: <email>sales@kudzuenterprises.com</email> - </address> - </listitem> - - <listitem> - <address> - <otheraddr>Navarre Corp</otheraddr> - <street>7400 49th Ave South</street> - <city>New Hope</city>, <state>MN</state> <postcode>55428</postcode> - <country>Stati Uniti d'America</country> - Telefono: <phone>+1 763 535-8333</phone> - Fax: <fax>+1 763 535-0341</fax> - WWW: <otheraddr><ulink - url="http://www.navarre.com/"></ulink></otheraddr> - </address> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="mirrors-ftp"> - <title>Siti FTP</title> - - <para>I sorgenti ufficiali di FreeBSD sono disponibili via FTP anonimo da - una serie di siti mirror sparsi in tutto il mondo. Il sito <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/"></ulink> è ben gestito - e permette un gran numero di connessioni, ma ti conviene probabilmente - trovare un sito mirror a te <quote>più vicino</quote> (soprattutto - se decidi di configurare una sorta di sito mirror).</para> - - <para>Il <ulink url="http://mirrorlist.FreeBSD.org/">database dei siti - mirror di FreeBSD</ulink> è più preciso della lista - contenuta in questo manuale, poichè ottiene le informazioni - direttamente dal DNS anziché affidarsi a una lista statica di - host.</para> - - <para>Inoltre, FreeBSD è disponibile via FTP anonimo dai seguenti - siti mirror. Se decidi di procurarti FreeBSD via FTP anonimo, usa per - favore un sito a te vicino. I siti mirror elencati come <quote>Siti - Mirror Primari</quote> hanno tipicamente l'intero archivio di - FreeBSD (tutte le versioni oggi disponibili per ognuna delle architetture) - ma probabilmente scaricherai più velocemente da un sito che - è nel tuo stato o regione. I siti di ogni stato contengono le - versioni più recenti per le architetture più popolari ma - potrebbero non contenere l'intero archivio di FreeBSD. Tutti i siti - permettono l'accesso tramite FTP anonimo e alcuni permettono l'accesso - anche con altri metodi. - I metodi di accesso disponibili per ogni sito sono elencati fra parentesi - dopo il nome dell'host.</para> - - &chap.mirrors.ftp.inc; - </sect1> - - <sect1 id="anoncvs"> - <title>CVS Anonimo</title> - - <sect2> - <title><anchor id="anoncvs-intro">Introduzione</title> - - <para>Il CVS Anonimo (anche conosciuto come <emphasis>anoncvs</emphasis>) - è una caratteristica del programma di utilità CVS - contenuto in FreeBSD che serve per sincronizzarsi con un deposito CVS - remoto (in gergo repository CVS). Tra le altre cose, permette agli - utenti di FreeBSD di realizzare, senza avere particolari permessi, - operazioni CVS in sola lettura su uno dei server anoncvs ufficiali del - progetto FreeBSD. Per utilizzarlo è sufficiente impostare la - variabile di ambiente <envar>CVSROOT</envar> facendola puntare al server - anoncvs appropriato, immettere la password <quote>anoncvs</quote> con il - comando <command>cvs login</command>, e poi usare il comando &man.cvs.1 - per accederci come se fosse un deposito locale.</para> - - <note> - <para>Il comando <command>cvs login</command> memorizza le password - utilizzate per l'autenticazione con il server CVS in un file - chiamato <filename>.cvspass</filename> nella tua directory - <envar>HOME</envar>. Se questo file non esiste, potresti ricevere - un errore alla prima esecuzione di <command>cvs login</command>. - Crea un file <filename>.cvspass</filename> vuoto e riprova il - login.</para> - </note> - - <para>Benché si possa dire che i servizi <link - linkend="cvsup">CVSup</link> e <emphasis>anoncvs</emphasis> realizzino - sostanzialmente le stesse funzioni, ci sono vari particolari che possono - influenzare la scelta di un metodo di sincronizzazione piuttosto - dell'altro. Per dirla in breve, <application>CVSup</application> - è più efficiente nell'uso delle risorse di rete ed - è il più avanzato tecnicamente tra i due, ma tutto questo - ha un prezzo. Per usare <application>CVSup</application>, bisogna - installare e configurare un client speciale prima di poter scaricare - qualcosa, e si può scaricare solo blocchi piuttosto grossi che - <application>CVSup</application> chiama - <emphasis>collezioni</emphasis>.</para> - - <para><application>Anoncvs</application>, al contrario, può essere - usato per esaminare qualunque cosa a partire da un singolo file fino a - uno specifico programma (come <command>ls</command> o - <command>grep</command>) specificando il nome del modulo CVS. - Ovviamente, <application>anoncvs</application> è adatto solo per - operazioni di sola lettura sul deposito CVS, quindi se hai intenzione - di supportare lo sviluppo locale in uno dei depositi condivisi del - progetto FreeBSD allora <application>CVSup</application> è in - realtà l'unica opzione.</para> - </sect2> - - <sect2> - <title><anchor id="anoncvs-usage">Uso del CVS Anonimo</title> - - <para>La configurazione di &man.cvs.1; per usare un deposito CVS Anonimo - è semplicemente una questione di impostare la variable di - ambiente <envar>CVSROOT</envar> affinché punti a uno dei server - <emphasis>anoncvs</emphasis> del progetto FreeBSD. Al momento della - stesura di questo testo sono disponibili i seguenti server:</para> - - <itemizedlist> - <listitem> - <para><emphasis>Austria</emphasis>: - :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs - (Usa <command>cvs login</command> ed inserisci qualunque password - quando richiesta.)</para> - </listitem> - - <listitem> - <para><emphasis>Francia</emphasis>: - :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs - (pserver (password <quote>anoncvs</quote>), ssh (nessuna - password))</para> - </listitem> - - <listitem> - <para><emphasis>Germania</emphasis>: - :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs - (Usa <command>cvs login</command> ed inserisci la password - <quote>anoncvs</quote> quando richiesta.)</para> - </listitem> - - <listitem> - <para><emphasis>Germania</emphasis>: - :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs - (rsh, pserver, ssh, ssh/2022)</para> - </listitem> - - <listitem> - <para><emphasis>Giappone</emphasis>: - :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs - (Usa <command>cvs login</command> ed inserisci la password - <quote>anoncvs</quote> quando richiesta.)</para> - </listitem> - - <listitem> - <para><emphasis>Svezia</emphasis>: - freebsdanoncvs@anoncvs.se.FreeBSD.org:/home/ncvs - (solo ssh - nessuna password)</para> - </listitem> - - <listitem> - <para><emphasis>USA</emphasis>: - freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs - (solo ssh - nessuna password)</para> - </listitem> - </itemizedlist> - - <para>Dato che CVS permette di estrarre (nel suo gergo: <quote>check - out</quote>) qualsiasi versione dei sorgenti di FreeBSD che sia mai - esistita (o, in alcuni casi, che esisterà), è bene - familiarizzare con il parametro revisione (<option>-r</option>) di - &man.cvs.1; e sapere quali valori può assumere nel deposito - del progetto FreeBSD.</para> - - <para>Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag - di revisione fa riferimento ad una revisione specifica. Il suo - significato rimane lo stesso di giorno in giorno. Un tag di ramo, - d'altro canto, si riferisce sempre all'ultima revisione relativa a una - specifica linea di sviluppo. Dato che un tag di ramo non si riferisce - ad una revisione specifica, esso potrebbe avere un significato diverso - da un giorno con l'altro.</para> - - <para>La <xref linkend="cvs-tags"> contiene i tag di revisione che possono - essere interessanti per gli utenti. Tuttavia, nessuno di questi tag - è valido per la collezione dei port poichè questa non ha - revisioni multiple.</para> - - <para>Quando specifichi un tag di ramo, normalmente ricevi l'ultima - versione dei file relativa a quella linea di sviluppo. Se vuoi ricevere - una versione precedente, puoi farlo specificando la data con il - parametro <option>-D date</option>. Si rimanda alla pagina man di - &man.cvs.1; per ulteriori dettagli.</para> - </sect2> - - <sect2> - <title>Esempi</title> - - <para>Benché sia consigliata un'attenta lettura della pagina man di - &man.cvs.1; prima di fare qualsiasi cosa, seguono alcuni veloci esempi - che spiegano in modo essenziale l'uso del CVS Anonimo:</para> - - <example> - <title>Estrazione di Qualcosa dalla -CURRENT (&man.ls.1;) e poi - Cancellazione della Stessa:</title> - - <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs</userinput> -&prompt.user; <userinput>cvs login</userinput> -<emphasis>Alla richiesta, inserire la password</emphasis> <quote>anoncvs</quote>. -&prompt.user; <userinput>cvs co ls</userinput> -&prompt.user; <userinput>cvs release -d ls</userinput> -&prompt.user; <userinput>cvs logout</userinput></screen> - </example> - - <example> - <title>Estrazione della Versione di &man.ls.1; dal Ramo - 3.X-STABLE:</title> - - <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs</userinput> -&prompt.user; <userinput>cvs login</userinput> -<emphasis>Alla richiesta, inserire la password</emphasis> <quote>anoncvs</quote>. -&prompt.user; <userinput>cvs co -rRELENG_3 ls</userinput> -&prompt.user; <userinput>cvs release -d ls</userinput> -&prompt.user; <userinput>cvs logout</userinput></screen> - </example> - - <example> - <title>Creazione di una Lista di Cambiamenti (come Diff Unificate) di - &man.ls.1;</title> - - <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs</userinput> -&prompt.user; <userinput>cvs login</userinput> -<emphasis>Alla richiesta, inserire la password</emphasis> <quote>anoncvs</quote>. -&prompt.user; <userinput>cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls</userinput> -&prompt.user; <userinput>cvs logout</userinput></screen> - </example> - - <example> - <title>Scoperta di Quali Altri Nomi di Moduli Possono Essere Usati:</title> - - <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs</userinput> -&prompt.user; <userinput>cvs login</userinput> -<emphasis>Alla richiesta, inserire la password</emphasis> <quote>anoncvs</quote>. -&prompt.user; <userinput>cvs co modules</userinput> -&prompt.user; <userinput>more modules/modules</userinput> -&prompt.user; <userinput>cvs release -d modules</userinput> -&prompt.user; <userinput>cvs logout</userinput></screen> - </example> - </sect2> - - <sect2> - <title>Altre Risorse</title> - - <para>Le seguenti risorse addizionali possono essere utili - nell'apprendimento del CVS:</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">CVS - Tutorial</ulink> dal Cal Poly.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.cvshome.org/">CVS Home</ulink>, - la comunità di sviluppo e supporto del CVS.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.FreeBSD.org/cgi/cvsweb.cgi">CVSWeb</ulink> - è l'interfaccia web di CVS relativa al progetto - FreeBSD.</para> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="ctm"> - <title>Uso di CTM</title> - - <para><application>CTM</application> è un metodo per mantenere - sincronizzati un albero di directory remoto e uno centralizzato. È - stato sviluppato per l'albero dei sorgenti di FreeBSD, anche se con il - passare del tempo, altre persone lo hanno trovano utile per altri scopi. - A tutt'oggi esiste pochissima documentazione sul processo della creazione - delle delta, quindi contattate la mailing list &a.ctm-users.name; per - avere più informazioni e nel caso voleste usare - <application>CTM</application> per altri scopi.</para> - - <sect2> - <title>Perché Dovrei Usare <application>CTM</application>?</title> - - <para><application>CTM</application> fornisce una copia locale dell'albero - dei sorgenti di FreeBSD. Ci sono molte <quote>varietà</quote> di - alberi disponibili. Che tu voglia seguire l'intero albero CVS o solo - uno dei rami, <application>CTM</application> può fornirti i dati - che ti servono. Se sei uno sviluppatore attivo di FreeBSD, ma hai una - connettività TCP/IP di bassa qualità o non esistente, o - semplicemente desideri ricevere le modifiche in modo automatico, - <application>CTM</application> fa al caso tuo. Riceverai fino a tre - delta giornaliere per i rami più attivi. Tuttavia, puoi - considerare che li puoi avere attraverso l'invio automatico di email. - Le dimensioni degli aggiornamenti sono sempre più piccole - possibile. Questi sono in genere meno di 5K, con occasionali (uno su - dieci) aggiornamenti da 10-50K e qualcuno più grande (100K o - più) di tanto in tanto.</para> - - <para>Devi anche essere cosciente delle varie insidie relativi all'uso di - sorgenti in via di sviluppo e non provenienti da release pronte. Questo - è vero in particolare per i sorgenti <quote>current</quote> - (correnti). È raccomandata la lettura di <link - linkend="current">Restare in <quote>current</quote> con - FreeBSD</link>.</para> - </sect2> - - <sect2> - <title>Cosa Serve per l'Uso di <application>CTM</application>?</title> - - <para>Ti servono due cose: il programma <application>CTM</application>, e - le delta iniziali da dargli in pasto (per arrivare ai livelli della - <quote>current</quote>).</para> - - <para>Il programma <application>CTM</application> fa parte di FreeBSD fin - dalla release della versione 2.0 e, se hai una copia dei sorgenti - disponibile, risiede in - <filename>/usr/src/usr.sbin/ctm</filename>.</para> - - <para>Se stai usando una versione di FreeBSD precedente alla release 2.0, - puoi recuperare i sorgenti attuali di <application>CTM</application> - direttamente da:</para> - - <para><ulink - url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/usr.sbin/ctm/"></ulink></para> - - <para>Le <quote>delta</quote> da dare in pasto a - <application>CTM</application> si possono avere in due modi: tramite FTP - o email. Se puoi utilizzare FTP via Internet allora i seguenti siti - supportano l'accesso a <application>CTM</application>:</para> - - <para><ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/"></ulink></para> - - <para>vedi anche la sezione <link - linkend="mirrors-ctm">mirror</link>.</para> - - <para>Entra via FTP nella directory giusta e, da lì, inizia col - trasferire il file <filename>README</filename>.</para> - - <para>Se invece desideri ricevere le delta per email:</para> - - <para>Iscriviti ad una delle liste di distribuzione di - <application>CTM</application>. &a.ctm-cvs-cur.name; supporta l'interno - albero CVS. &a.ctm-src-cur.name; supporta il ramo di sviluppo current. - &a.ctm-src-4.name; supporta il ramo della release 4.X, ecc. (Se non sai - come iscriverti a una lista, clicca sul nome della lista o raggiungi la - pagina &a.mailman.lists.link; e clicca sulla lista a cui ti vuoi - iscrivere. La pagina della lista dovrebbe contenere tutte le - informazioni necessarie per l'iscrizione.)</para> - - <para>Quando inizierai a ricevere gli aggiornamenti - <application>CTM</application> via email, puoi usare il programma - <command>ctm_rmail</command> per scompattarli e per applicarli. In - realtà, se vuoi avere un processo completamente automizzato, - puoi usare il programma <command>ctm_rmail</command> direttamente in un - elemento di <filename>/etc/aliases</filename>. Esamina la pagina man di - <command>ctm_rmail</command> per maggiori dettagli.</para> - - <note> - <para>Indipendentemente dal metodo che utilizzi per ricevere le delta di - <application>CTM</application>, dovresti iscriverti alla mailing list - &a.ctm-announce.name;. In futuro, questo sarà l'unico posto - dove saranno postati gli annunci riguardanti il funzionamento del - sistema <application>CTM</application>. Clicca sul nome della lista - e segui le istruzioni per iscriverti.</para> - </note> - </sect2> - - <sect2> - <title>Uso di <application>CTM</application> per la Prima Volta</title> - - <para>Prima che tu possa servirti delle delta di - <application>CTM</application>, hai bisogno di un punto di partenza dal - quale successivamente costruire le delta.</para> - - <para>Innanzitutto dovresti determinare ciò che hai. Si può - iniziare da un directory <quote>vuota</quote>. Devi usare una delta - iniziale <quote>Empty</quote> per iniziare il tuo albero - <application>CTM</application>. Qualche volta può succedere che - una di queste delta <quote>iniziali</quote> sia distribuita su un CD - per tua convenienza, ma comunque, questo generalmente non - avviene.</para> - - <para>Poichè gli alberi sono molte decine di megabyte, puoi - iniziare da qualcosa che hai a portata di mano. Se hai un CD - di una release, puoi copiare o estrarre i sorgenti da lì. Questo - salverà un significativo trasferimento di dati.</para> - - <para>Puoi riconoscere queste delta <quote>iniziali</quote> dalla lettera - <literal>X</literal> preceduta da un numero (per esempio - <filename>src-cur.3210XEmpty.gz</filename>). Il nome che segue la - lettera <literal>X</literal> corrisponde all'origine del tuo - <quote>seme</quote> iniziale. <filename>Empty</filename> è una - directory vuota. Di solito una transizione base a partire da - <literal>Empty</literal> è prodotta ogni 100 delta. Strada - facendo, queste avranno grandi dimensioni! Le dimensioni comuni per le - delta <filename>XEmpty</filename> vanno dai 70 a 80 Megabyte di dati - compressi con <command>gzip</command>.</para> - - <para>Una volta che ti sei procurato una delta base come punto di - partenza, avrai bisogno anche di tutte le delta successive aventi un - numero maggiore.</para> - </sect2> - - <sect2> - <title>Uso di <application>CTM</application> nella Tua Vita - Quotidiana</title> - - <para>Per applicare le delta, fai come segue:</para> - - <screen>&prompt.root; <userinput>cd /where/ever/you/want/the/stuff</userinput> -&prompt.root; <userinput>ctm -v -v /where/you/store/your/deltas/src-xxx.*</userinput></screen> - - <para><application>CTM</application> decifra le delta compresse tramite - il comando <command>gzip</command>, quindi non hai bisogno di - decomprimerle con <command>gunzip</command>, e ciò salva spazio - su disco.</para> - - <para>Tranne in alcune circostanze, <application>CTM</application> non - toccherà il tuo albero. Per verificare una delta puoi usare - l'opzione <option>-c</option> e di fatto <application>CTM</application> - non toccherà il tuo albero; verificherà soltanto - l'integrità della delta e se questa può essere applicata - in modo pulito al tuo albero attuale.</para> - - <para>Ci sono altre opzioni di <application>CTM</application>, guarda - la pagina man o ispeziona i sorgenti per maggiori dettagli.</para> - - <para>Questo è davvero tutto ciò che devi sapere. Ogni - volta che ottieni una delta, esegui <application>CTM</application> per - aggiornare i tuoi sorgenti.</para> - - <para>È meglio non rimuovere le delta che richiedono grandi tempi - di scaricamento. Nel caso succeda qualche disgrazia non dovrai - riscaricarle. Anche se hai solo dischetti floppy, considera l'uso di - <command>fdwrite</command> per crearne una copia.</para> - </sect2> - - <sect2> - <title>Mantenimento delle Tue Modifiche Locali</title> - - <para>Allo stesso modo di uno sviluppatore potresti voler sperimentare - delle modifiche nell'albero dei sorgenti. - <application>CTM</application> supporta le modifiche locali in modo - limitato: prima di verificare la presenza di un file - <filename>foo</filename>, esso cerca <filename>foo.ctm</filename>. Se - questo file esiste, <application>CTM</application> opererà su di - esso piuttosto che su <filename>foo</filename>.</para> - - <para>Questo comportamento offre un semplice modo per mantenere le - modifiche locali: copia semplicemente il file che desideri modificare in - un file con lo stesso nome e suffisso <filename>.ctm</filename>. - Quindi puoi liberamente hackerare il codice, e - <application>CTM</application> manterrà aggiornato il file - <filename>.ctm</filename>.</para> - </sect2> - - <sect2> - <title>Altre Opzioni Interessanti di - <application>CTM</application></title> - - <sect3> - <title>Scoprire con Precisione Ciò che Dovrebbe Essere - Aggiornato</title> - - <para>Puoi determinare la lista delle modifiche che - <application>CTM</application> apporterà ai tuoi sorgenti - usando l'opzione <option>-l</option> di - <application>CTM</application>.</para> - - <para>Questo è utile se vuoi mantenere dei log delle modifiche, - prima o dopo aver modificato in qualche modo i file, o solo - perchè ti senti un pò paranoico.</para> - </sect3> - - <sect3> - <title>Creare dei Backup Prima di Aggiornare</title> - - <para>Qualche volta potresti voler creare dei backup di tutti i file - che saranno modificati da un aggiornamento di - <application>CTM</application>.</para> - - <para>Specificando l'opzione <option>-B backup-file</option>, - <application>CTM</application> effettuerà il backup di tutti i - file che saranno modificati da una certa delta - <application>CTM</application> nel file - <filename>backup-file</filename>.</para> - </sect3> - - <sect3> - <title>Limitare i File che Devono Essere Aggiornati</title> - - <para>Qualche volta potresti volere restringere la portata di un certo - aggiornamento <application>CTM</application>, o potresti essere - interessato ad estrarre solo pochi file da una serie di delta.</para> - - <para>Puoi controllare la lista dei file sui quali - <application>CTM</application> opererà specificando - un'espressione regolare usando le opzioni <option>-e</option> e - <option>-x</option>.</para> - - <para>Per esempio, per estrarre una copia aggiornata del file - <filename>lib/libc/Makefile</filename> dalla tua collezione di delta - <application>CTM</application>, esegui i comandi seguenti:</para> - - <screen>&prompt.root; <userinput>cd /dove/vuoi/estrarre/</userinput> -&prompt.root; <userinput>ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*</userinput></screen> - - <para>Per ogni file specificato in una delta - <application>CTM</application>, le opzioni <option>-e</option> e - <option>-x</option> sono applicate nello stesso ordine in cui - compaiono sulla riga di comando. Il file è processato da - <application>CTM</application> solo se risulta idoneo a tutte le - opzioni <option>-e</option> e <option>-x</option> ad esso - applicate.</para> - </sect3> - </sect2> - - <sect2> - <title>Piani Futuri per <application>CTM</application></title> - - <para>I più importanti:</para> - - <itemizedlist> - <listitem> - <para>Usare qualche tipo di autenticazione nel sistema - <application>CTM</application>, in modo tale da permette - l'identificazione di aggiornamenti <application>CTM</application> - contraffatti.</para> - </listitem> - - <listitem> - <para>Ripulire le opzioni di <application>CTM</application>, che - confondono e sono tutt'altro che intuitive.</para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Materiale Vario</title> - - <para>Esiste una serie di delta per la collezione dei - <literal>ports</literal>, ma è ancora di poco interesse.</para> - </sect2> - - <sect2 id="mirrors-ctm"> - <title>Mirror CTM</title> - - <para><link linkend="ctm">CTM</link>/FreeBSD è disponibile via FTP - anonimo dai siti mirror seguenti. Se decidi di procurarti - <application>CTM</application> via FTP anonimo, per favore usa un sito - a te vicino.</para> - - <para>In caso di problemi, contatta la mailing list - &a.ctm-users.name;.</para> - - <variablelist> - <varlistentry> - <term>California, Bay Area, sorgenti ufficiali</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Sudafrica, server di backup per vecchie delta</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - url="ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/"></ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Taiwan/R.O.C.</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - url="ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - - <para>Se non trovi un mirror a te vicino o se il mirror è - incompleto, prova ad usare qualche motore di ricerca come <ulink - url="http://www.alltheweb.com/">alltheweb</ulink>.</para> - </sect2> - </sect1> - - <sect1 id="cvsup"> - <title>Uso di CVSup</title> - - <sect2 id="cvsup-intro"> - <title>Introduzione</title> - - <para><application>CVSup</application> è un pacchetto di software - per distribuire ed aggiornare alberi di sorgenti da un deposito centrale - CVS posto su un server remoto. I sorgenti di FreeBSD sono mantenuti in - un deposito CVS su una macchina centrale di sviluppo situata in - California. Con <application>CVSup</application>, gli utenti di FreeBSD - possono facilmente mantenere aggiornati i loro alberi di - sorgenti.</para> - - <para><application>CVSup</application> usa il cosiddetto modello ad - <emphasis>estrazione</emphasis> per aggiornare. In questo modello, - è compito del client chiedere al server gli aggiornamenti. - Il server attente passivamente le richieste di aggiornamento dai suoi - client. In questo modo tutti gli aggiornamenti sono incitati dal - client. Il server non invia mai degli aggiornamenti che non sono stati - richiesti. Gli utenti devono eseguire il client - <application>CVSup</application> manualmente per ottenere un - aggiornamento, oppure possono usare <command>cron</command> per eseguire - automaticamente queste operazioni secondo stabilite regole.</para> - - <para>Il termine <application>CVSup</application>, scritto in quel modo, - si riferisce all'intero pacchetto di software. I suoi componenti - principali sono il client <command>cvsup</command> che viene eseguito - su ogni macchina degli utenti, e il server <command>cvsupd</command> che - viene eseguito su ogni sito mirror di FreeBSD.</para> - - <para>Leggendo la documentazione di FreeBSD e le mailling list, potresti - notare dei riferimenti a <application>sup</application>. - <application>Sup</application> è il predecessore di - <application>CVSup</application>, e serviva per un simile scopo. - <application>CVSup</application> sostanzialmente è usato allo - stesso modo di <application>sup</application> e, di fatto, i suoi file - di configurazione sono compatibili con <command>sup</command>. - <application>Sup</application> non viene più utilizzato nel - progetto FreeBSD, poichè <application>CVSup</application> - è più veloce e più flessibile.</para> - </sect2> - - <sect2 id="cvsup-install"> - <title>Installazione</title> - - <para>Il modo più semplice per installare - <application>CVSup</application> è usare il package precompilato - <filename role="package">net/cvsup</filename> della <link - linkend="ports">collezione dei package</link> di FreeBSD. - Se preferisci costruire <application>CVSup</application> partendo dal - sorgente, allora puoi usare il port <filename - role="package">net/cvsup</filename>. Ma sei avvisato: il port - <filename role="package">net/cvsup</filename> dipende dal sistema - Modula-3, che richiede una consistente quantità di tempo e di - spazio su disco per scaricarlo e costruirlo.</para> - - <note> - <para>Se hai intenzione di usare <application>CVSup</application> su una - macchina sulla quale non sarà installato - <application>&xfree86;</application>, come su un server, assicurati di - usare il port che non include la GUI di - <application>CVSup</application>, ossia <filename - role="package">net/cvsup-without-gui</filename>.</para> - </note> - </sect2> - - <sect2 id="cvsup-config"> - <title>Configurazione di CVSup</title> - - <para>Il funzionamento di <application>CVSup</application> è - controllato da un file di configurazione chiamato - <filename>supfile</filename>. Esistono alcuni esempi di - <filename>supfile</filename> nella directory <ulink type="html" - url="file://localhost/usr/share/examples/cvsup/"><filename>/usr/share/examples/cvsup/</filename></ulink>.</para> - - <para>Le informazioni contenute in un <filename>supfile</filename> - rispondono alle seguenti questioni relative a - <application>CVSup</application>:</para> - - <itemizedlist> - <listitem> - <para><link linkend="cvsup-config-files">Quali file vuoi - ricevere?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-vers">Quali versioni dei file - vuoi?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-where">Da dove li vuoi - prelevare?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-dest">Dove li vuoi mettere sulla tua - macchina?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-status">Dove vuoi memorizzare - gli stati dei file?</link></para> - </listitem> - </itemizedlist> - - <para>Nelle seguenti sezioni, costruiremo un tipico - <filename>supfile</filename> per rispondere a turno ad ognuna di queste - questioni. Incominciamo però col descrivere la struttura - globale di un <filename>supfile</filename>.</para> - - <para>Un <filename>supfile</filename> è un file di testo. I - commenti iniziano con un <literal>#</literal> e si estendono fino alle - fine della riga. Le righe bianche e le righe che contengono solo - commenti sono ignorate.</para> - - <para>Ogni altra riga descrive un insieme di file che l'utente vuole - ricevere. Una riga inizia con il nome di una <quote>collezione</quote>, - un nome di un gruppo logico di file definiti dal server. Il nome della - collezione indica al server i file che vuoi ricevere. Dopo il nome - della collezione seguono zero o più campi, separati da spazi - bianchi. Questi campi rispondono alle questioni citate in precedenza. - Ci sono due tipi di campi: campo opzione e campo valore. Un campo - opzione consiste di una parola chiave a se stante, es. - <literal>delete</literal> o <literal>compress</literal>. Anche un campo - valore inizia con una parola chiave, ma questa è seguita dal - simbolo <literal>=</literal>, senza spazi bianchi intermedi, e da un - seconda parola. Ad esempio, <literal>release=cvs</literal> è un - campo valore.</para> - - <para>Un <filename>supfile</filename> tipicamente specifica più di - un'unica collezione da ricevere. Un modo di strutturare un - <filename>supfile</filename> è specificare esplicitamente tutti i - campi rilevanti per ogni collezione. Tuttavia, ciò tende a - creare <filename>supfile</filename> troppo lunghi, e ciò è - scomodo poichè in un <filename>supfile</filename> la maggior - parte dei campi sono gli stessi per tutte le collezioni. - <application>CVSup</application> fornisce un meccanismo per aggirare - questi problemi. Le linee che iniziano con il nome speciale di - pseudo-collezione <literal>*default</literal> possono essere usate per - inizializzare opzioni e valori che saranno utilizzati come default per - le successive collezioni definite nel <filename>supfile</filename>. - Un valore di default può essere sovrascritto da una singola - collezione, specificando un valore diverso per la collezione stessa. - Inoltre i valori di default possono essere modificati in mezzo al - supfile tramite linee <literal>*default</literal> aggiuntive.</para> - - <para>Con queste conoscenze, possiamo ora procedere alla costruzione - di un <filename>supfile</filename> per ricevere ed aggiornare l'albero - dei sorgenti della <link - linkend="current">FreeBSD-CURRENT</link>.</para> - - <itemizedlist> - <listitem> - <para><anchor id="cvsup-config-files">Quali file vuoi ricevere?</para> - - <para>I file disponibili via <application>CVSup</application> sono - organizzati in gruppi chiamati <quote>collezioni</quote>. - Le collezioni che sono disponibili sono descritte nella - <link linkend="cvsup-collec">prossima sezione</link>. In questo - esempio, desideriamo ricevere per intero l'albero corrente dei - sorgenti del sistema FreeBSD. C'è un'unica e vasta - collezione <literal>src-all</literal> che ci permette di ricevere - tutto ciò. Come prima fase nella costruzione del nostro - <filename>supfile</filename>, dobbiamo semplicemente elencare le - collezioni, una per riga (in questo caso, c'è un'unica - riga):</para> - - <programlisting>src-all</programlisting> - </listitem> - - <listitem> - <para><anchor id="cvsup-config-vers">Quali versioni dei file - vuoi?</para> - - <para>Con <application>CVSup</application>, hai la possibilità - di ricevere qualsiasi versione dei sorgenti che sia mai esistita. - Questo è possibile poichè il server - <application>cvsupd</application> lavora direttamente sul deposito - CVS, che contiene tutte le versioni. Puoi specificare la versione - che vuoi usando i campi valori <literal>tag=</literal> e - <option>date=</option>.</para> - - <warning> - <para>Stai molto attento a specificare i campi - <literal>tag=</literal> in modo corretto. Alcuni tag sono validi - solo per certe collezioni di file. Se specifichi un tag non - corretto, <application>CVSup</application> cancellerà file - che tu non vorresti eliminare. In particolare, usa - <emphasis>solamente</emphasis> <literal>tag=.</literal> per le - collezioni <literal>ports-*</literal>.</para> - </warning> - - <para>Il campo <literal>tag=</literal> richiama un tag simbolico nel - deposito. Ci sono due tipi di tag, i tag di revisione e i tag di - ramo. Un tag di revisione fa riferimento ad una revisione - specifica. Il suo significato rimane lo stesso di giorno in giorno. - Un tag di ramo, d'altro canto, si riferisce sempre all'ultima - revisione relativa ad una specifica linea di sviluppo. Dato che un - tag di ramo non si riferisce ad una revisione specifica, esso - potrebbe avere un significato diverso da un giorno con - l'altro.</para> - - <para>La <xref linkend="cvs-tags"> contiene tag di ramo che potrebbero - interessare gli utenti. Quando si specifica un tag in un file di - configurazione di <application>CVSup</application>, esso dovrebbe - essere preceduto da <literal>tag=</literal> - (<literal>RELENG_4</literal> diviene - <literal>tag=RELENG_4</literal>). Tieni presente che per la - collezione dei port è rilevante solo - <literal>tag=.</literal>.</para> - - <warning> - <para>Sii molto attento a digitare il nome del tag nel modo esatto. - <application>CVSup</application> non è in grado di - riconoscere tag errati. Se digiti in modo sbagliato un tag, - <application>CVSup</application> si comporterà come se tu - avessi specificato un tag valido che non riguarda nessun file. - In questo caso i tuoi sorgenti saranno eliminati.</para> - </warning> - - <para>Quando specifichi un tag di ramo, normalmente ricevi le ultime - versioni dei file di quella linea di sviluppo. Se vuoi ricevere - versioni precedenti, puoi specificare una data con il campo valore - <option>date=</option>. La pagina man di &man.cvsup.1; spiega come - farlo.</para> - - <para>Nel nostro esempio, desideriamo ricevere FreeBSD-CURRENT. - Aggiungiamo questa riga all'inizio del nostro - <filename>supfile</filename>:</para> - - <programlisting>*default tag=.</programlisting> - - <para>C'è un importante caso speciale che entra in gioco se - non specifichi ne un campo <literal>tag=</literal> ne un campo - <literal>date=</literal>. In questo caso, ricevi i file RCS attuali - direttamente dal deposito CVS del server, invece di ricevere una - versione particolare. Gli sviluppatori in genere preferiscono - questa modalità di funzionamento. Mantenendo una copia del - deposito stesso sui loro sistemi, essi sono in grado di navigare - attraverso la storia delle revisioni e di esaminare le versioni - precedenti dei file. Comunque questo vantaggio è - realizzabile al costo di un ingente quantità di spazio su - disco.</para> - </listitem> - - <listitem> - <para><anchor id="cvsup-config-where">Da dove li vuoi - prelevare?</para> - - <para>Il campo <literal>host=</literal> indica a - <command>cvsup</command> da dove prelevare i suoi aggiornamenti. - Va bene uno qualunque dei <link linkend="cvsup-mirrors">siti mirror - di CVSup</link>, anche se dovresti provare a selezionarne uno che - sia a te vicino nel ciberspazio. In questo esempio useremo un sito - di distribuzione di FreeBSD fittizio, <hostid - role="fqdn">cvsup666.FreeBSD.org</hostid>:</para> - - <programlisting>*default host=cvsup666.FreeBSD.org</programlisting> - - <para>Devi cambiare l'host in uno che esiste realmente prima di - eseguire <application>CVSup</application>. Il settaggio dell'host - può essere sovrascritto su riga di comando eseguendo - <command>cvsup</command> con l'opzione <option>-h - <replaceable>hostname</replaceable></option>.</para> - </listitem> - - <listitem> - <para><anchor id="cvsup-config-dest">Dove li vuoi mettere sulla tua - macchina?</para> - - <para>Il campo <literal>prefix=</literal> indica a - <command>cvsup</command> dove mettere i file che riceve. In questo - esempio, metteremo i file sorgenti direttamente nel nostro albero - dei sorgenti, <filename>/usr/src</filename>. La directory - <filename>src</filename> è già implicita nelle - collezioni che vogliamo ricevere, quindi la corretta specifica - è questa:</para> - - <programlisting>*default prefix=/usr</programlisting> - </listitem> - - <listitem> - <para><anchor id="cvsup-config-status">Dove <command>cvsup</command> - dovrebbe mantenere i suoi file di stato?</para> - - <para>Il client di <application>CVSup</application> mantiene certi - file di stato in ciò che è chiamata directory - <quote>base</quote>. Questi file aiutano - <application>CVSup</application> a lavorare in modo più - efficace, mantenendo traccia di quali aggiornamenti sono stati - già ricevuti. Useremo la directory base standard, - <filename>/usr/local/etc/cvsup</filename>:</para> - - <programlisting>*default base=/usr/local/etc/cvsup</programlisting> - - <para>Questo settaggio è utilizzato di default se non viene - specificato nel <filename>supfile</filename>, e quindi in - realtà non abbiamo bisogno di inserire la riga - precedente.</para> - - <para>Se la tua directory base non esiste, potrebbe essere una buona - idea crearla subito. Il client <command>cvsup</command> interrompe - l'esecuzione se la tua directory base non esiste.</para> - </listitem> - - <listitem> - <para>Settaggi vari di <filename>supfile</filename>:</para> - - <para>C'è un altro settaggio che normalmente deve essere - presente in un <filename>supfile</filename>:</para> - - <programlisting>*default release=cvs delete use-rel-suffix compress</programlisting> - - <para><literal>release=cvs</literal> indica che il server dovrebbe - prendere le sue informazioni dal deposito CVS principale di FreeBSD. - In genere questa è la normalità, ma esistono altre - possibilità che vanno oltre lo scopo di questa - sezione.</para> - - <para><literal>delete</literal> dà a - <application>CVSup</application> il permesso di cancellare file. - Dovresti sempre specificare questa opzione, in modo che - <application>CVSup</application> possa mantenere il tuo albero dei - sorgenti del tutto aggiornato. <application>CVSup</application> - è attento nel cancellare solamente quei file dei quali - è responsabile. Altri file extra verranno lasciati - intatti.</para> - - <para><literal>use-rel-suffix</literal> è ... arcano. Se vuoi - realmente saperne di più, guarda la pagina man di - &man.cvsup.1;. Altrimenti, specificala senza preoccupartene - troppo.</para> - - <para><literal>compress</literal> abilita l'uso di una compressione - stile gzip sul canale di comunicazione. Se hai una connessione T1 o - più veloce, non dovresti usare la compressione. - Diversamente, può essere veramente d'aiuto.</para> - </listitem> - - <listitem> - <para>Ricapitolazione di tutti settaggi:</para> - - <para>Il <filename>supfile</filename> completo per il nostro esempio - è il seguente:</para> - - <programlisting>*default tag=. -*default host=cvsup666.FreeBSD.org -*default prefix=/usr -*default base=/usr/local/etc/cvsup -*default release=cvs delete use-rel-suffix compress - -src-all</programlisting> - </listitem> - </itemizedlist> - - <sect3> - <title>Il File <filename>refuse</filename></title> - - <para>Come menzionato in precedenza, <application>CVSup</application> - usa un <emphasis>modello ad estrazione</emphasis>. Sostanzialmente, - questo significa che ti connetti al server - <application>CVSup</application>, lui dice, <quote>Ecco ciò che - puoi scaricare ...</quote>, ed il tuo client risponde <quote>OK, - prenderò questo, questo, questo e questo.</quote> Nella - configurazione di default, il client <application>CVSup</application> - prenderà ogni file associato alla collezione e al tag che - hai specificato nel file di configurazione. Tuttavia, questo non - è sempre ciò che vuoi, specialmente se stai - sincronizzando gli alberi <filename>doc</filename>, - <filename>ports</filename>, o <filename>www</filename> — molte - persone non sono in grado di leggere quattro o cinque lingue, e quindi - esse non hanno bisogno di scaricare i file di certe lingue. Se - stai sincronizzando con <application>CVSup</application> la collezione - dei port, puoi specificare collezioni individuali (es., - <emphasis>ports-astrology</emphasis>, - <emphasis>ports-biology</emphasis>, ecc. invece di specificare - semplicemente <emphasis>ports-all</emphasis>). Tuttavia, - poichè gli alberi <filename>doc</filename> e - <filename>www</filename> non hanno collezioni per specifiche lingue, - devi usare una delle molte abili caratteristiche di - <application>CVSup</application>: il file - <filename>refuse</filename>.</para> - - <para>Il file <filename>refuse</filename> sostanzialmente indica a - <application>CVSup</application> che non dovrebbe prendere ogni - singolo file da una collezione; in altre parole, esso dice al client - di <emphasis>rifiutare</emphasis> certi file dal server. Il file - <filename>refuse</filename> può essere trovato (o, se non ne - hai ancora uno, dovrebbe essere messo) in - <filename><replaceable>base</replaceable>/sup/</filename>. - <replaceable>base</replaceable> è definita nel tuo - <filename>supfile</filename>; di default, - <replaceable>base</replaceable> è - <filename>/usr/local/etc/cvsup</filename>, e quindi di default il file - <filename>refuse</filename> è - <filename>/usr/local/etc/cvsup/sup/refuse</filename>.</para> - - <para>Il file <filename>refuse</filename> ha veramente un formato molto - semplice; esso contiene semplicemente i nomi dei file o delle - directory che non desideri scaricare. Per esempio, se non parli altre - lingue oltre all'inglese e al tedesco, e non hai la necessità - di usare le applicazioni in lingua tedesca (e le applicazioni in altre - lingue, eccetto quella inglese), puoi mettere le seguenti righe nel - tuo file <filename>refuse</filename>:</para> - - <screen>ports/arabic -ports/chinese -ports/french -ports/german -ports/hebrew -ports/hungarian -ports/japanese -ports/korean -ports/polish -ports/portuguese -ports/russian -ports/ukrainian -ports/vietnamese -doc/da_* -doc/de_* -doc/el_* -doc/es_* -doc/fr_* -doc/it_* -doc/ja_* -doc/nl_* -doc/no_* -doc/pl_* -doc/pt_* -doc/ru_* -doc/sr_* -doc/zh_*</screen> - - <para>e così via per altre lingue (puoi ottenere la lista - completa esplorando il <ulink - url="http://www.FreeBSD.org/cgi/cvsweb.cgi/">deposito CVS di - FreeBSD</ulink>).</para> - - <para>Con questa utile funzionalità, quegli utenti che hanno - una connessione lenta o pagano ogni minuto di connessione Internet - potranno risparmiare tempo prezioso poichè non dovranno - più scaricare file che non usano mai. Per maggiori dettagli - sul file <filename>refuse</filename> e su altre utili caratteristiche - di <application>CVSup</application>, guarda la sua pagina man.</para> - </sect3> - </sect2> - - <sect2> - <title>Eseguire <application>CVSup</application></title> - - <para>Sei ora pronto per provare un aggiornamento. La riga di comando - per farlo è molto semplice:</para> - - <screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen> - - <para>dove <filename><replaceable>supfile</replaceable></filename> - è naturalmente il nome del <filename>supfile</filename> che hai - creato. Assumendo che stai lavorando sotto X11, - <command>cvsup</command> visualizzarà una GUI con alcuni bottoni - adibiti ad operazioni usuali. Premi il bottone - <guibutton>go</guibutton>, e stai a guardare l'esecuzione.</para> - - <para>Poichè in questo esempio stai aggiornando il tuo albero dei - sorgenti <filename>/usr/src</filename>, avrai bisogno di eseguire il - programma come <username>root</username> affinchè - <command>cvsup</command> abbia i permessi necessari per aggiornare i - tuoi file. Avendo appena creato il tuo file di configurazione, e non - avendo mai usato questo programma prima ad ora, tutto ciò - potrebbe renderti un pò nervoso. Esiste un semplice modo per - provare la sincronizzazione senza toccare i tuoi preziosi file. Crea - una directory vuota in qualche posto, e richiamala come argomento sulla - riga di comando:</para> - - <screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput> -&prompt.root; <userinput>cvsup supfile /var/tmp/dest</userinput></screen> - - <para>La directory che hai specificato sarà usata come directory - di destinazione per tutti gli aggiornamenti dei file. - <application>CVSup</application> esaminerà i tuoi file usuali in - <filename>/usr/src</filename>, ma non modificherà o - cencellerà alcuno di essi. Gli aggiornamenti dei file finiranno - invece in <filename>/var/tmp/dest/usr/src</filename>. - Inoltre <application>CVSup</application> lascerà intatta la sua - directory base contenente gli stati dei file quando viene eseguito in - questo modo. Le nuove versioni di questi file saranno scritte nella - directory specificata. A condizione che tu abbia l'accesso di lettura - in <filename>/usr/src</filename>, non hai bisogno di essere - <username>root</username> per realizzare questo tipo di giro di - prova.</para> - - <para>Se non stai utilizzando X11 o se non ti piacciono le GUI, - dovresti aggiungere un paio di opzioni alla riga di comando quando - esegui <command>cvsup</command>:</para> - - <screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>supfile</replaceable></userinput></screen> - - <para>L'opzione <option>-g</option> indica a - <application>CVSup</application> di non usare la sua GUI. Ciò - è automatico se non stai utilizzando X11, ma se lo stai facendo - allora la devi specificare.</para> - - <para>L'opzione <option>-L 2</option> indica a - <application>CVSup</application> di visualizzare i dettagli di tutti - gli aggiornamenti dei file che avvengono. Esistono tre livelli - di verbosità, da <option>-L 0</option> a <option>-L 2</option>. - Il default è 0, che significa silenzio totale eccetto per - i messaggi di errore.</para> - - <para>Ci sono molte altre opzione disponibili. Per una breve lista di - esse, digita <command>cvsup -H</command>. Per una descrizione - più dettagliata, guarda la relativa pagina man.</para> - - <para>Una volta che sei soddisfatto di come avvengono gli aggiornamenti, - puoi organizzare esecuzioni regolari di <application>CVSup</application> - usando &man.cron.8;. Ovviamente, non dovresti lasciare che - <application>CVSup</application> usi la sua GUI quando lo esegui tramite - &man.cron.8;.</para> - </sect2> - - <sect2 id="cvsup-collec"> - <title>Collezioni di File di <application>CVSup</application></title> - - <para>Le collezioni di file disponibili via - <application>CVSup</application> sono organizzate gerarchicamente. - Ci sono poche collezioni grandi, le quali sono divise in piccole - sotto-collezioni. Ricevere una grande collezione è equivalente - a ricevere ogni sua sotto-collezione. Le relazioni gerarchiche tra le - collezioni riflettono l'uso dell'identazione nella lista qui - sotto.</para> - - <para>Le collezioni maggiormente usate sono <literal>src-all</literal>, e - <literal>ports-all</literal>. Le altre collezioni sono usate solo - da piccoli gruppi di persone per scopi speciali, e alcuni siti mirror - potrebbero non contenerle tutte.</para> - - <variablelist> - <varlistentry> - <term><literal>cvs-all release=cvs</literal></term> - - <listitem> - <para>Il deposito CVS maestro di FreeBSD, incluso il codice di - crittografia.</para> - - <variablelist> - <varlistentry> - <term><literal>distrib release=cvs</literal></term> - - <listitem> - <para>File relativi alla distribuzione e al mirroring di - FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>doc-all release=cvs</literal></term> - - <listitem> - <para>Sorgenti del Manuale di FreeBSD e altra documentazione. - Questa collezione non include i file per il sito web di - FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-all release=cvs</literal></term> - - <listitem> - <para>La FreeBSD Ports Collection.</para> - - <important id="cvsup-collec-pbase-warn"> - <para>Se non vuoi aggiornare per intero - <literal>ports-all</literal> (l'interno albero dei port), - ma usare una delle sotto-collezioni listate qui sotto, - assicurati di aggiornare <emphasis>sempre</emphasis> la - sotto-collezione <literal>ports-base</literal>! - Ogni volta che qualcosa cambia nell'infrastruttura della - costruzione dei port rappresentata da - <literal>ports-base</literal>, è praticamente certo - che quei cambiamenti saranno usati dai port - <quote>reali</quote> in un brevissimo arco di tempo. - Quindi, se aggiorni solo i port <quote>reali</quote> e - questi usano alcune delle nuove caratteristiche, - c'è un'alta probabilità che la loro - costruzione fallirà con alcuni misteriosi messaggi - di errore. La <emphasis>primissima</emphasis> cosa da - fare in questi casi è assicurarsi che la propria - sotto-collezione <literal>ports-base</literal> sia - aggiornata.</para> - </important> - - <variablelist> - <varlistentry> - <term><literal>ports-archivers - release=cvs</literal></term> - - <listitem> - <para>Applicazioni per l'archiviazione.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-astro release=cvs</literal></term> - - <listitem> - <para>Applicazioni riguardanti l'astronomia.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-audio release=cvs</literal></term> - - <listitem> - <para>Applicazioni di supporto all'audio.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-base release=cvs</literal></term> - - <listitem> - <para>L'infrastruttura della costruzione della - collezione dei port - vari file posti nelle - sottodirectory <filename>Mk/</filename> e - <filename>Tools/</filename> della directory - <filename>/usr/ports</filename>.</para> - - <note> - <para>Per favore vedi l'<link - linkend="cvsup-collec-pbase-warn">importante - avvertimento qui sopra</link>: dovresti - <emphasis>sempre</emphasis> aggiornare questa - sotto-collezione ogni volta che aggiorni qualche - pezzo della FreeBSD Ports Collection!</para> - </note> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-benchmarks - release=cvs</literal></term> - - <listitem> - <para>Benchmark (applicazioni per valutare le - prestazioni del computer).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-biology release=cvs</literal></term> - - <listitem> - <para>Biologia.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-cad release=cvs</literal></term> - - <listitem> - <para>Applicazioni per la grafica computerizzata.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-chinese release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua cinese.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-comms release=cvs</literal></term> - - <listitem> - <para>Software per la comunicazione.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-converters - release=cvs</literal></term> - - <listitem> - <para>Convertitori di codici di caratteri.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-databases - release=cvs</literal></term> - - <listitem> - <para>Database.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-deskutils - release=cvs</literal></term> - - <listitem> - <para>Cose che erano utilizzate sulla scrivania prima - che i computer furono inventati.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-devel release=cvs</literal></term> - - <listitem> - <para>Utility per il development.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-dns release=cvs</literal></term> - - <listitem> - <para>Software relativo al DNS.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-editors release=cvs</literal></term> - - <listitem> - <para>Editor.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-emulators - release=cvs</literal></term> - - <listitem> - <para>Emulatori per altri sistemi operativi.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-finance release=cvs</literal></term> - - <listitem> - <para>Applicazioni finanziarie, di gestione delle spese - e simili.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-ftp release=cvs</literal></term> - - <listitem> - <para>Server e client FTP.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-games release=cvs</literal></term> - - <listitem> - <para>Giochi.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-german release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua tedesca.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-graphics release=cvs</literal></term> - - <listitem> - <para>Utilità per la grafica.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-hungarian - release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua ungherese.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-irc release=cvs</literal></term> - - <listitem> - <para>Utilità IRC (Internet Relay Chat).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-japanese release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua giapponese.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-java release=cvs</literal></term> - - <listitem> - <para>Utility &java;.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-korean release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua coreana.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-lang release=cvs</literal></term> - - <listitem> - <para>Linguaggi di programmazione.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-mail release=cvs</literal></term> - - <listitem> - <para>Software di posta.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-math release=cvs</literal></term> - - <listitem> - <para>Software per la computazione numerica.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-mbone release=cvs</literal></term> - - <listitem> - <para>Applicazioni MBone.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-misc release=cvs</literal></term> - - <listitem> - <para>Utility varie.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-multimedia - release=cvs</literal></term> - - <listitem> - <para>Software multimediale.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-net release=cvs</literal></term> - - <listitem> - <para>Software di rete.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-news release=cvs</literal></term> - - <listitem> - <para>Software per USENET.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-palm release=cvs</literal></term> - - <listitem> - <para>Software di supporto per i vari - <trademark class="trade">Palm</trademark>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-polish release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua polacca.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-portuguese - release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua portoghese.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-print release=cvs</literal></term> - - <listitem> - <para>Software per la stampa.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-russian release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua russa.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-security release=cvs</literal></term> - - <listitem> - <para>Utility per la sicurezza.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-shells release=cvs</literal></term> - - <listitem> - <para>Shell a riga di comando.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-sysutils release=cvs</literal></term> - - <listitem> - <para>Utility di sistema.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-textproc release=cvs</literal></term> - - <listitem> - <para>Utility per la manipolazione del testo (non - include utility per la pubblicazione - computerizzata).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-vietnamese - release=cvs</literal></term> - - <listitem> - <para>Supporto alla lingua vietnamite.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-www release=cvs</literal></term> - - <listitem> - <para>Software relativo al World Wide Web.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11 release=cvs</literal></term> - - <listitem> - <para>Port per il supporto al sistema a finestre - X.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11-clocks - release=cvs</literal></term> - - <listitem> - <para>Orologi per X11.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11-fm release=cvs</literal></term> - - <listitem> - <para>Gestori di file per X11.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11-fonts - release=cvs</literal></term> - - <listitem> - <para>Font per X11 e relative utility.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11-toolkits - release=cvs</literal></term> - - <listitem> - <para>Cassette degli attrezzi per X11.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11-servers</literal></term> - - <listitem> - <para>Server X11.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ports-x11-wm</literal></term> - - <listitem> - <para>Gestori di finestre per X11.</para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-all release=cvs</literal></term> - - <listitem> - <para>I sorgenti correnti di FreeBSD, incluso il codice di - crittografia.</para> - - <variablelist> - <varlistentry> - <term><literal>src-base release=cvs</literal></term> - - <listitem> - <para>Vari file posti in - <filename>/usr/src</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-bin release=cvs</literal></term> - - <listitem> - <para>Utility per l'utente in ambiente mono-utente - (<filename>/usr/src/bin</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-contrib release=cvs</literal></term> - - <listitem> - <para>Utility e librerie al di fuori del progetto - FreeBSD, sostanzialmente utilizzati senza modifiche - (<filename>/usr/src/contrib</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-crypto release=cvs</literal></term> - - <listitem> - <para>Utility e librerie per la crittografia al di fuori - del progetto FreeBSD, sostanzialmente utilizzati senza - modifiche - (<filename>/usr/src/crypto</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-eBones release=cvs</literal></term> - - <listitem> - <para>Kerberos e DES - (<filename>/usr/src/eBones</filename>). - Non usati nell'attuale release di FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-etc release=cvs</literal></term> - - <listitem> - <para>File di configurazione del sistema - (<filename>/usr/src/etc</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-games release=cvs</literal></term> - - <listitem> - <para>Giochi - (<filename>/usr/src/games</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-gnu release=cvs</literal></term> - - <listitem> - <para>Utility protette dalla licenza pubblica di GNU - (<filename>/usr/src/gnu</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-include release=cvs</literal></term> - - <listitem> - <para>File header - (<filename>/usr/src/include</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-kerberos5 release=cvs</literal></term> - - <listitem> - <para>Pacchetto di sicurezza Kerberos5 - (<filename>/usr/src/kerberos5</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-kerberosIV release=cvs</literal></term> - - <listitem> - <para>Pacchetto di sicurezza KerberosIV - (<filename>/usr/src/kerberosIV</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-lib release=cvs</literal></term> - - <listitem> - <para>Librerie - (<filename>/usr/src/lib</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-libexec release=cvs</literal></term> - - <listitem> - <para>Programmi di sistema normalmente eseguiti da altri - programmi - (<filename>/usr/src/libexec</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-release release=cvs</literal></term> - - <listitem> - <para>File richiesti per produrre una release di FreeBSD - (<filename>/usr/src/release</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-sbin release=cvs</literal></term> - - <listitem> - <para>Utility di sistema per la modalità - mono-utente - (<filename>/usr/src/sbin</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-secure release=cvs</literal></term> - - <listitem> - <para>Librerie e comandi per la crittografia - (<filename>/usr/src/secure</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-share release=cvs</literal></term> - - <listitem> - <para>File che possono essere condivisi tra sistemi - multipli (<filename>/usr/src/share</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-sys release=cvs</literal></term> - - <listitem> - <para>Il kernel - (<filename>/usr/src/sys</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-sys-crypto release=cvs</literal></term> - - <listitem> - <para>Codice di crittografia del kernel - (<filename>/usr/src/sys/crypto</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-tools release=cvs</literal></term> - - <listitem> - <para>Vari strumenti per il mantenimento di FreeBSD - (<filename>/usr/src/tools</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-usrbin release=cvs</literal></term> - - <listitem> - <para>Utility per l'utente - (<filename>/usr/src/usr.bin</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>src-usrsbin release=cvs</literal></term> - - <listitem> - <para>Utility di sistema - (<filename>/usr/src/usr.sbin</filename>).</para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>www release=cvs</literal></term> - - <listitem> - <para>I sorgenti per il sito web di FreeBSD.</para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>distrib release=self</literal></term> - - <listitem> - <para>I file di configurazione del server - <application>CVSup</application>. Usati dai siti mirror - <application>CVSup</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>gnats release=current</literal></term> - - <listitem> - <para>Il database GNATS per tener traccia dei bug.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>mail-archive release=current</literal></term> - - <listitem> - <para>Archivio delle mailing list di FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>www release=current</literal></term> - - <listitem> - <para>I file pre-processati del sito web di FreeBSD (non i file - sorgenti). Usati dai siti mirror WWW.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Per Maggiori Informazioni</title> - - <para>Per le FAQ ed altre informazioni di <application>CVSup</application> - vedere <ulink - url="http://www.polstra.com/projects/freeware/CVSup/">la pagina home - di CVSup</ulink>.</para> - - <para>La maggior parte delle discussioni su - <application>CVSup</application> inerenti a FreeBSD si svolgono sulla - &a.hackers;. In questa mailling list inoltre sono anche annunciate - nuove versioni del software, come pure sulla &a.announce;.</para> - - <para>Questioni e resoconti di bug dovrebbero essere indirizzati - all'autore del programma <email>cvsup-bugs@polstra.com</email>.</para> - </sect2> - - <sect2 id="cvsup-mirrors"> - <title>Siti CVSup</title> - - <para>I server <link linkend="cvsup">CVSup</link> per FreeBSD si trovano - ai seguenti siti:</para> - - &chap.mirrors.cvsup.inc; - </sect2> - </sect1> - - <sect1 id="cvs-tags"> - <title>Tag CVS</title> - - <para>Quando ricevi o aggiorni dei sorgenti usando - <application>cvs</application> o <application>CVSup</application>, devi - specificare un tag di revisione. - Un tag di revisione si riferisce sia ad una particolare linea di - sviluppo di &os;, sia ad un specifico periodo di tempo. I primi tipi - sono chiamati <quote>tag di ramo</quote>, mentre i secondi <quote>tag di - release</quote>.</para> - - <sect2> - <title>Tag di Ramo</title> - - <para>Tutti, con l'eccezione di <literal>HEAD</literal> (che è - sempre un valido tag), sono relativi all'albero - <filename>src/</filename>. Gli alberi <filename>ports/</filename>, - <filename>doc/</filename>, e <filename>www/</filename> non sono - ramificati.</para> - - <variablelist> - <varlistentry> - <term>HEAD</term> - - <listitem> - <para>Nome simbolico per la linea di sviluppo corrente, - FreeBSD-CURRENT. È anche il tag di default se nessun tag - di revisione è specificato.</para> - - <para>In <application>CVSup</application>, questo tag è - rappresentato dal simbolo <literal>.</literal>.</para> - - <note> - <para>In CVS, questo è il settaggio di default se nessun - tag di revisione è stato specificato. In genere - <emphasis>non</emphasis> è una buona idea aggiornare i - sorgenti a CURRENT su una macchina STABLE, a meno che sai cosa - stai facendo.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5</term> - - <listitem> - <para>La linea di sviluppo per FreeBSD-5.X, che diventerà - FreeBSD-STABLE dopo che verrà rilasciato FreeBSD-5.3.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_2</term> - - <listitem> - <para>Il ramo di release per FreeBSD-5.2 e FreeBSD-5.2.1, usato solo - per aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_1</term> - - <listitem> - <para>Il ramo di release per FreeBSD-5.1, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_0</term> - - <listitem> - <para>Il ramo di release per FreeBSD-5.0, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4</term> - - <listitem> - <para>La linea di sviluppo per FreeBSD-4.X, anche conosciuta come - FreeBSD-STABLE.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_10</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.10, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_9</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.9, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_8</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.8, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_7</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.7, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_6</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.6 e FreeBSD-4.6.2, usato solo - per aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_5</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.5, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_4</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.4, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_3</term> - - <listitem> - <para>Il ramo di release per FreeBSD-4.3, usato solo per - aggiornamenti relativi alla sicurezza e per altri fix - cruciali.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3</term> - - <listitem> - <para>La line di sviluppo per FreeBSD-3.X, anche conosciuta come - 3.X-STABLE.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2</term> - - <listitem> - <para>La linea di sviluppo per FreeBSD-2.2.X, anche conosciuta come - 2.2-STABLE. Questo ramo è per la maggior parte - obsoleto.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Tag di Release</title> - - <para>Questi tag si riferiscono a un preciso istante di tempo quando una - versione di &os; è stata rilasciata. Il processo di release - engineering è documentato in dettaglio dai documenti <ulink - url="&url.base;/releng/">Release Engineering - Information</ulink> e <ulink - url="&url.articles.releng.en;/release-proc.html">Release - Process</ulink>. L'albero <filename role="directory">src</filename> - usa nomi di tag che iniziano con <literal>RELENG_</literal>. Gli - alberi <filename role="directory">ports</filename> e <filename - role="directory">doc</filename> usano tag il cui nome inizia con - <literal>RELEASE</literal>. Infine, l'albero <filename - role="directory">www</filename> non viene taggato con alcun nome - particolare per le release.</para> - - <variablelist> - <varlistentry> - <term>RELENG_4_10_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.10</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_2_1_RELEASE</term> - - <listitem> - <para>FreeBSD 5.2.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_2_0_RELEASE</term> - - <listitem> - <para>FreeBSD 5.2</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_9_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.9</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_1_0_RELEASE</term> - - <listitem> - <para>FreeBSD 5.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_8_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.8</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_5_0_0_RELEASE</term> - - <listitem> - <para>FreeBSD 5.0</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_7_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.7</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_6_2_RELEASE</term> - - <listitem> - <para>FreeBSD 4.6.2</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_6_1_RELEASE</term> - - <listitem> - <para>FreeBSD 4.6.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_6_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.6</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_5_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.5</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_4_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.4</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_3_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.3</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_2_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.2</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_1_1_RELEASE</term> - - <listitem> - <para>FreeBSD 4.1.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_1_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_4_0_0_RELEASE</term> - - <listitem> - <para>FreeBSD 4.0</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3_5_0_RELEASE</term> - - <listitem> - <para>FreeBSD-3.5</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3_4_0_RELEASE</term> - - <listitem> - <para>FreeBSD-3.4</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3_3_0_RELEASE</term> - - <listitem> - <para>FreeBSD-3.3</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3_2_0_RELEASE</term> - - <listitem> - <para>FreeBSD-3.2</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3_1_0_RELEASE</term> - - <listitem> - <para>FreeBSD-3.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_3_0_0_RELEASE</term> - - <listitem> - <para>FreeBSD-3.0</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_8_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.8</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_7_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.7</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_6_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.6</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_5_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.5</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_2_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.2</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_1_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.1</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_0_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.0</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - </sect1> - - <sect1 id="mirrors-afs"> - <title>Siti AFS</title> - - <para>I server AFS per FreeBSD sono in esecuzione nei seguenti siti:</para> - - <variablelist> - <varlistentry> - <term>Svezia</term> - - <listitem> - <para>Il percorso dei file è: - <filename>/afs/stacken.kth.se/ftp/pub/FreeBSD/</filename></para> - - <programlisting>stacken.kth.se # Stacken Computer Club, KTH, Svezia -130.237.234.43 #hot.stacken.kth.se -130.237.237.230 #fishburger.stacken.kth.se -130.237.234.3 #milko.stacken.kth.se</programlisting> - - <para>Il maintainer <email>ftp@stacken.kth.se</email></para> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 id="mirrors-rsync"> - <title>Siti rsync</title> - - <para>I seguenti siti rendono disponibile FreeBSD tramite il protocollo - rsync. L'utility <application>rsync</application> lavora nello stesso - modo del comando &man.rcp.1;, ma ha più opzioni e usa il protocollo - rsync per aggiornamenti remoti il quale trasferisce solo le differenze tra - i due set di file, e di conseguenza accelera fortemente la - sincronizzazione su rete. Questo è molto utile se hai un sito - mirror del server FTP di FreeBSD, o del deposito CVS. La suite - <application>rsync</application> è disponibile per molti sistemi - operativi e, su FreeBSD, puoi usare il port <filename - role="package">net/rsync</filename> o il rispettivo package.</para> - - <variablelist> - <varlistentry> - <term>Repubblica Ceca</term> - - <listitem> - <para>rsync://ftp.cz.FreeBSD.org/</para> - - <para>Collezioni disponibili:</para> - - <itemizedlist> - <listitem> - <para>ftp: Un mirror parziale del server FTP di FreeBSD.</para> - </listitem> - - <listitem> - <para>FreeBSD: Un mirror completo del server FTP di - FreeBSD.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Germania</term> - - <listitem> - <para>rsync://grappa.unix-ag.uni-kl.de/</para> - - <para>Collezioni disponibili:</para> - - <itemizedlist> - <listitem> - <para>freebsd-cvs: Il completo deposito CVS di FreeBSD.</para> - </listitem> - </itemizedlist> - - <para>Questa macchina fa da mirror anche per il deposito CVS dei - progetti NetBSD e OpenBSD, tra gli altri.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Olanda</term> - - <listitem> - <para>rsync://ftp.nl.FreeBSD.org/</para> - - <para>Collezioni disponibili:</para> - - <itemizedlist> - <listitem> - <para>vol/3/freebsd-core: Un completo mirror del server FTP di - FreeBSD.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Regno Unito</term> - - <listitem> - <para>rsync://rsync.mirror.ac.uk/</para> - - <para>Collezioni disponibili:</para> - - <itemizedlist> - <listitem> - <para>ftp.FreeBSD.org: Un completo mirror del server FTP di - FreeBSD.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Stati Uniti d'America</term> - - <listitem> - <para>rsync://ftp-master.FreeBSD.org/</para> - - <para>Questo server può essere usato solo dai siti mirror - primari di FreeBSD.</para> - - <para>Collezioni disponibili:</para> - - <itemizedlist> - <listitem> - <para>FreeBSD: L'archivio master del server FTP di FreeBSD.</para> - </listitem> - - <listitem> - <para>acl: La lista master delle ACL di FreeBSD.</para> - </listitem> - </itemizedlist> - - <para>rsync://ftp13.FreeBSD.org/</para> - - <para>Collezioni disponibili:</para> - - <itemizedlist> - <listitem> - <para>FreeBSD: Un completo mirror del server FTP di - FreeBSD.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - </sect1> -</appendix> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../appendix.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "appendix") - End: ---> - diff --git a/it_IT.ISO8859-15/books/handbook/multimedia/Makefile b/it_IT.ISO8859-15/books/handbook/multimedia/Makefile deleted file mode 100644 index 9554035b27..0000000000 --- a/it_IT.ISO8859-15/books/handbook/multimedia/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= multimedia/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml b/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml deleted file mode 100644 index 809acfb139..0000000000 --- a/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml +++ /dev/null @@ -1,1746 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.85 ---> - -<chapter id="multimedia"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Ross</firstname> - - <surname>Lippert</surname> - - <contrib>Scritto da </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Multimedia</title> - - <sect1 id="multimedia-synopsis"> - <title>Sinossi</title> - - <para>FreeBSD supporta una grande varietà di schede audio, - permettendoti di apprezzare un output di alta fedeltà dal tuo - computer. Questo include l'abilità di registrare e riprodurre - suoni nei formati MPEG Audio Layer 3 (MP3), WAV, ed Ogg Vorbis così - come in molti altri formati. La FreeBSD Ports Collection contiene inoltre - applicazioni che ti permettono di modificare l'audio registrato, - aggiungere effetti sonori, e controllare i dispositivi MIDI - collegati.</para> - - <para>Con un po' di buona volontà nello sperimentare, FreeBSD - può supportare la riproduzione di file video e DVD. Il numero di - applicazioni per codificare, convertire, e riprodurre i vari formati - video è più limitato del numero delle applicazioni audio. - Per esempio nel momento in cui sto scrivendo, non esiste nella FreeBSD - Ports Collection una buona applicazione per ricodificare, che - potrebbe essere usata per la conversione tra diversi formati, come - c'è con <filename role="package">audio/sox</filename>. Tuttavia, - il panorama software in quest'area sta rapidamente cambiando.</para> - - <para>Questo capitolo descriverà i passi necessari per configurare la - tua scheda audio. La configurazione e l'installazione di - <application>&xfree86;</application> (<xref linkend="x11">) si sono - già prese cura dei problemi hardware della tua scheda video, - sebbene ci possano essere delle ottimizzazioni da applicare per una - migliore riproduzione.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come configurare il sistema in modo che la scheda audio venga - riconosciuta.</para> - </listitem> - - <listitem> - <para>Metodi per verificare che la tua scheda funzioni, usando - applicazioni di esempio.</para> - </listitem> - - <listitem> - <para>Come risolvere i problemi di configurazione audio.</para> - </listitem> - - <listitem> - <para>Come riprodurre e codificare file MP3.</para> - </listitem> - - <listitem> - <para>Come sono supportate le applicazioni video da - <application>&xfree86;</application>.</para> - </listitem> - - <listitem> - <para>Alcuni port per riprodurre/codificare filmati che danno buoni - risultati.</para> - </listitem> - - <listitem> - <para>Come riprodurre i DVD e i file <filename>.mpg</filename> e - <filename>.avi</filename>.</para> - </listitem> - - <listitem> - <para>Come estrarre le informazioni da CD e DVD su file.</para> - </listitem> - - <listitem> - <para>Come configurare una scheda TV.</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - - <itemizedlist> - <listitem> - <para>Sapere come configurare e installare un nuovo - kernel (<xref linkend="kernelconfig">).</para> - </listitem> - </itemizedlist> - - <para>Per le sezioni sul video, si assume che <application>&xfree86; - 4.X</application> (<filename role="package">x11/XFree86-4</filename>) sia - stato installato. <application>&xfree86; 3.X</application> può - funzionare, ma non è stato testato con quello che è - descritto in questo capitolo. Se scopri che qualcosa descritto qui non - funziona con <application>&xfree86; 3.X</application> faccelo - sapere.</para> - - <warning> - <para>Provare a montare CD audio con il comando - &man.mount.8; produrrà un errore, come minimo, o un - <emphasis>kernel panic</emphasis>, alla peggio. Questi formati hanno - codifiche particolari che differiscono dal comune file system - ISO.</para> - </warning> - </sect1> - - <sect1 id="sound-setup"> - <sect1info> - <authorgroup> - <author> - <firstname>Moses</firstname> - - <surname>Moore</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Configurazione della Scheda Audio</title> - - <sect2 id="sound-device"> - <title>Riconoscimento del Proprio Dispositivo</title> - - <indexterm><primary>PCI</primary></indexterm> - <indexterm><primary>ISA</primary></indexterm> - <indexterm><primary>schede audio</primary></indexterm> - - <para>Prima di iniziare, dovresti conoscere il modello della scheda che - possiedi, il chip che utilizza, e se è una scheda PCI o ISA. - FreeBSD supporta una grande varietà di schede sia PCI che ISA. - Se non vedi la tua scheda nella lista seguente, controlla la pagina man - di &man.pcm.4;. Questa non è una lista completa; tuttavia, - comprende le schede più comuni.</para> - - <itemizedlist> - <listitem> - <para>Crystal 4237, 4236, 4232, 4231</para> - </listitem> - - <listitem> - <para>Yamaha OPL-SAx</para> - </listitem> - - <listitem> - <para>OPTi931</para> - </listitem> - - <listitem> - <para>Ensoniq AudioPCI 1370/1371</para> - </listitem> - - <listitem> - <para>ESS Solo-1/1E</para> - </listitem> - - <listitem> - <para>NeoMagic 256AV/ZX</para> - </listitem> - - <listitem> - <para>&soundblaster; Pro, 16, 32, AWE64, AWE128, Live</para> - </listitem> - - <listitem> - <para>Creative ViBRA16</para> - </listitem> - - <listitem> - <para>Advance Asound 100, 110, e Logic ALS120</para> - </listitem> - - <listitem> - <para>ES 1868, 1869, 1879, 1888</para> - </listitem> - - <listitem> - <para>Gravis UltraSound</para> - </listitem> - - <listitem> - <para>Aureal Vortex 1 o 2</para> - </listitem> - </itemizedlist> - - <indexterm> - <primary>kernel</primary> - <secondary>configurazione</secondary> - </indexterm> - - <para>Per usare il tuo dispositivo audio, dovrai caricare i driver - corretti. Il caricamento del driver del dispositivo può essere - fatto in due modi. Il metodo più semplice consiste semplicemente - nel caricare un modulo nel kernel per la tua scheda audio con - &man.kldload.8; che può essere fatto sia da linea di - comando:</para> - - <screen>&prompt.root; <userinput>kldload snd_emu10k1.ko</userinput></screen> - - <para>sia aggiungendo la riga appropriata al file - <filename>/boot/defaults/loader.conf</filename> come questa:</para> - - <programlisting>snd_emu10k1_load="YES"</programlisting> - - <para>Questi esempi sono per la scheda audio Creative &soundblaster; - Live!. Altri moduli sonori disponibili sono elencati in - <filename>/boot/loader.conf</filename>. Se hai dei dubbi su quale - driver usare, potresti provare a caricare - <filename>snd_driver</filename>, un metadriver che carica i driver - più comuni in una sola volta, velocizzando la ricerca per il - driver corretto.</para> - - <para>Alternativamente, - puoi compilare staticamente il supporto per la tua scheda audio nel - kernel. Le sezioni seguenti forniscono le informazioni di cui hai - bisogno per aggiungere il supporto al tuo hardware con questo metodo. - Per informazioni aggiuntive su come ricompilare il kernel, guarda il - <xref linkend="kernelconfig">.</para> - - <sect3> - <title>Schede Audio Creative, Advance, e ESS</title> - - <para>Se hai una delle suddette schede, dovrai aggiungere:</para> - - <programlisting>device pcm</programlisting> - - <para>al file di configurazione del kernel. Se hai una scheda ISA - PnP, dovrai aggiungere inoltre:</para> - - <programlisting>device sbc</programlisting> - - <para>Per una scheda ISA non PnP, aggiungi:</para> - - <programlisting>device pcm -device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15</programlisting> - - <para>al file di configurazione del kernel. Le impostazioni appena - viste sono quelle di default. Potresti aver bisogno di cambiare IRQ - o altre impostazioni per identificare la tua scheda. Guarda la pagina - man di &man.sbc.4; per ulteriori informazioni.</para> - - <note> - <para>La Sound Blaster Live non è supportata sotto - FreeBSD 4.0 senza l'uso di una patch, di cui questa sezione non - si occuperà. È consigliato l'aggiornamento all'ultima - -STABLE prima di provare ad usare questa scheda.</para> - </note> - </sect3> - - <sect3> - <title>Schede Gravis UltraSound</title> - - <para>Per una scheda ISA PnP, dovrai aggiungere:</para> - - <programlisting>device pcm -device gusc</programlisting> - - <para>al file di configurazione del kernel. Se hai una scheda ISA - non PnP, dovrai aggiungere:</para> - - <programlisting>device pcm -device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting> - - <para>al file di configurazione del kernel. Potresti aver bisogno di - cambiare IRQ o altre impostazioni per identificare la tua scheda. - Guarda la pagina man di &man.gusc.4; per ulteriori - informazioni.</para> - </sect3> - - <sect3> - <title>Schede Crystal Sound</title> - - <para>Per le schede Crystal, dovrai aggiungere:</para> - - <programlisting>device pcm -device csa</programlisting> - - <para>al file di configurazione del kernel.</para> - </sect3> - - <sect3> - <title>Supporto Generico</title> - - <para>Per schede ISA o PCI PnP, dovrai aggiungere:</para> - - <programlisting>device pcm</programlisting> - - <para>al file di configurazione del kernel. Se hai una scheda audio - ISA non PnP che non ha un driver bridge, dovrai aggiungere:</para> - - <programlisting>device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting> - - <para>al file di configurazione del kernel. Potresti aver bisogno di - cambiare IRQ o altre impostazioni per identificare la tua - scheda.</para> - </sect3> - - <sect3> - <title>Sonoro Integrato</title> - - <para>Qualche sistema con dispositivi audio integrati nella scheda madre - può richiedere l'opzione seguente nella configurazione del - kernel:</para> - - <programlisting>options PNPBIOS</programlisting> - - <note> - <para>Se stai usando &os; 5.0 o successivi l'opzione - <literal>PNPBIOS</literal> non è necessaria. L'opzione - è stata rimossa e la funzionalità è ora sempre - abilitata.</para> - </note> - </sect3> - </sect2> - - <sect2 id="sound-devicenodes"> - <title>Creazione e Test dei Dispositivi</title> - - <indexterm><primary>dispositivi</primary></indexterm> - - <para>Dopo aver riavviato, loggati e cerca il dispositivo nel file - <filename>/var/run/dmesg.boot</filename>, come mostrato qui - sotto:</para> - - <screen>&prompt.root; <userinput>grep pcm /var/run/dmesg.boot</userinput> -pcm0: <SB16 DSP 4.11> on sbc0</screen> - - <para>L'output del tuo sistema può essere differente. Se non - appare nessun dispositivo <devicename>pcm</devicename>, qualcosa - è andato storto in precedenza. Se questo accade, riguarda il - file di configurazione del kernel e assicurati di aver scelto il - dispositivo corretto. I problemi più comuni sono elencati nella - <xref linkend="troubleshooting">.</para> - - <note> - <para>Se stai usando FreeBSD 5.0 o seguenti, puoi tranquillamente - saltare il resto di questa sezione. Queste versioni usano - &man.devfs.5; per creare automaticamente i dispositivi.</para> - </note> - - <para>Se il precedente comando ha restituito - <devicename>pcm0</devicename>, dovrai eseguire il seguente come - <username>root</username>:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen> - - <para>Se il comando ha restituito <devicename>pcm1</devicename>, segui gli - stessi passi mostrati qui sopra, sostituendo - <devicename>snd0</devicename> con <devicename>snd1</devicename>.</para> - - <note> - <para>I suddetti comandi <emphasis>non</emphasis> creeranno un - dispositivo <devicename>/dev/snd</devicename>!</para> - </note> - - <para><command>MAKEDEV</command> creerà un gruppo di dispositivi, - comprendente:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Dispositivo</entry> - - <entry>Descrizione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><devicename>/dev/audio</devicename></entry> - - <entry>Dispositivo audio compatibile &sparc;</entry> - </row> - - <row> - <entry><devicename>/dev/dsp</devicename></entry> - - <entry>Dispositivo per la voce digitalizzata</entry> - </row> - - <row> - <entry><devicename>/dev/dspW</devicename></entry> - - <entry>Come <devicename>/dev/dsp</devicename>, ma con 16 bit per - canale</entry> - </row> - - <row> - <entry><devicename>/dev/midi</devicename></entry> - - <entry>Dispositivo per l'accesso midi in modalità - diretta</entry> - </row> - - <row> - <entry><devicename>/dev/mixer</devicename></entry> - - <entry>Dispositivo per il controllo del mixer</entry> - </row> - - <row> - <entry><devicename>/dev/music</devicename></entry> - - <entry>Interfaccia di secondo livello al sequenziatore</entry> - </row> - - <row> - <entry><devicename>/dev/sequencer</devicename></entry> - - <entry>Sequenziatore</entry> - </row> - - <row> - <entry><devicename>/dev/pss</devicename></entry> - - <entry>Interfaccia di dispositivo programmabile</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Se tutto va bene, ora dovresti avere una scheda audio funzionante. - Se il tuo drive CD-ROM o DVD-ROM è collegato correttamente alla - scheda audio, puoi inserire un CD nel drive e riprodurlo con - &man.cdcontrol.1;:</para> - - <screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0c play 1</userinput></screen> - - <para>Varie applicazioni, come <filename - role="package">audio/workman</filename> offrono una migliore - interfaccia. Potresti voler installare una applicazione come - <filename role="package">audio/mpg123</filename> per ascoltare i file - audio MP3.</para> - - <sect3 id="troubleshooting"> - <title>Problemi Comuni</title> - - <indexterm><primary>dispositivi</primary></indexterm> - <indexterm><primary>I/O port</primary></indexterm> - <indexterm><primary>IRQ</primary></indexterm> - <indexterm><primary>DSP</primary></indexterm> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Errore</entry> - - <entry>Soluzione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><errorname>unsupported subdevice XX</errorname></entry> - - <entry><para>Non è stato creato correttamente qualche - dispositivo. Ripeti i precedenti passi.</para></entry> - </row> - - <row> - <entry><errorname>sb_dspwr(XX) timed out</errorname></entry> - - <entry><para>Non è stata impostata correttamente la porta - di I/O.</para></entry> - </row> - - <row> - <entry><errorname>bad irq XX</errorname></entry> - - <entry><para>È stato configurato erroneamente l'IRQ. - Assicurati che l'IRQ impostato e quello della scheda siano - gli stessi.</para></entry> - </row> - - <row> - <entry><errorname>xxx: gus pcm not attached, out of - memory</errorname></entry> - - <entry><para>Non c'è abbastanza memoria disponibile per - usare il dispositivo.</para></entry> - </row> - - <row> - <entry><errorname>xxx: can't open /dev/dsp!</errorname></entry> - - <entry><para>Controlla con <command>fstat | grep dsp</command> - se un'altra applicazione sta usando il dispositivo. - <application>Esound</application> e il supporto audio di - <application>KDE</application> sono famosi per creare - problemi.</para></entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - </sect2> - - <sect2> - <sect2info> - <authorgroup> - <author> - <firstname>Munish</firstname> - - <surname>Chopra</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Utilizzo di Sorgenti Audio Multiple</title> - - <para>È spesso desiderabile avere più sorgenti di audio che - siano in grado di suonare contemporaneamente, per esempio quando - <application>esound</application> o <application>artsd</application> non - supportano la condivisione del dispositivo audio con una certa - applicazione.</para> - - <para>FreeBSD ti permette di fare questo attraverso i <emphasis>Virtual - Sound Channels</emphasis>, che possono essere impostati con - &man.sysctl.8;. I canali virtuali permettono di multiplexare i canali - di riproduzione della tua scheda audio mixando l'audio nel - kernel.</para> - - <para>Per impostare il numero dei canali virtuali, ci sono due variabili - sysctl che, se sei l'utente <username>root</username>, possono essere - impostate così:</para> - - <screen>&prompt.root; <userinput>sysctl hw.snd.pcm0.vchans=4</userinput> -&prompt.root; <userinput>sysctl hw.snd.maxautovchans=4</userinput></screen> - - <para>L'esempio qui sopra alloca quattro canali viruali, che è un - numero adatto all'uso di ogni giorno. - <varname>hw.snd.pcm0.vchans</varname> è il numero dei canali - virtuali che ha <devicename>pcm0</devicename>, ed è configurabile - una volta che il dispositivo è collegato. - <literal>hw.snd.maxautovchans</literal> è il numero dei canali - virtuali che vengono dati a un nuovo dispositivo audio quando viene - collegato tramite &man.kldload.8;. Visto che il modulo - <devicename>pcm</devicename> può essere caricato - indipendentemente dai driver dell'hardware, - <varname>hw.snd.maxautovchans</varname> può contenere tanti - canali virtuali quanti ne verranno allocati successivamente ad ogni - dispositivo collegato.</para> - - <para>Se non stai usando &man.devfs.5;, dovrai indirizzare la tua - applicazione su - <devicename>/dev/dsp0</devicename>.<replaceable>x</replaceable>, dove - <replaceable>x</replaceable> va da 0 a 3 se - <varname>hw.snd.pcm.0.vchans</varname> è impostato a 4 come nel - precedente esempio. Su un sistema che usa &man.devfs.5;, questo - verrà fatto automaticamente in modo trasparente per - l'utente.</para> - </sect2> - - <sect2> - <sect2info> - <authorgroup> - <author> - <firstname>Josef</firstname> - - <surname>El-Rayes</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect2info> - - <title>Settare i Valori di Default per i Canali del Mixer</title> - - <para>I valori di default per i diversi canali del mixer sono rigidamente - codificati nel codice sorgente del driver &man.pcm.4;. Ci sono svariate - applicazioni e demoni che permettono in automatico di settare il mixer - a valori prestabili, ma questa non è una soluzione pulita, noi - vogliamo avere dei valori di default a livello del driver. Questo - è realizzabile definendo i valori desiderati nel file - <filename>/boot/device.hints</filename>. Ad esempio:</para> - - <programlisting>hint.pcm.0.vol="100"</programlisting> - - <para>Questo imposterà il canale volume a un valore di default - di 100, non appena il modulo &man.pcm.4; sarà caricato.</para> - - <note> - <para>Supportato solo da &os; 5.3 e superiori.</para> - </note> - </sect2> - </sect1> - - <sect1 id="sound-mp3"> - <sect1info> - <authorgroup> - <author> - <firstname>Chern</firstname> - - <surname>Lee</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Audio MP3</title> - - <para>Il formato MP3 (Audio MPEG Livello 3) raggiunge una qualità - audio vicina a quella dei CD, non lasciandoti motivi per non utilizzarlo - sulla tua workstation FreeBSD.</para> - - <sect2 id="mp3-players"> - <title>Lettori MP3</title> - - <para>Da tempo, il più famoso lettore MP3 per - <application>&xfree86;</application> MP3 è - <application>XMMS</application> (X Multimedia System). Le skin per - <application>Winamp</application> possono essere usate con - <application>XMMS</application> visto che la GUI è praticamente - identica a quella di <application>Winamp</application> della Nullsoft. - <application>XMMS</application> ha inoltre supporto nativo ai - plug-in.</para> - - <para><application>XMMS</application> può essere installato dal - port o dal package <filename - role="package">multimedia/xmms</filename>.</para> - - <para>L'interfaccia di <application>XMMS</application> è intuitiva, - comprende una lista di brani da eseguire, un equalizzatore grafico, ed - altro. Coloro che sono familiari con <application>Winamp</application> - troveranno <application>XMMS</application> semplice da usare.</para> - - <para>Il port <filename role="package">audio/mpg123</filename> è - un lettore MP3 alternativo, da riga di comando.</para> - - <para><application>mpg123</application> può essere eseguito - specificando il dispositivo audio e il nome del file MP3 sulla riga di - comando, come mostrato qui sotto:</para> - - <screen>&prompt.root; <userinput>mpg123 -a <replaceable>/dev/dsp1.0</replaceable> Foobar-GreatestHits.mp3</userinput> -High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. -Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. -Uses code from various people. See 'README' for more! -THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK! - - - - - -Playing MPEG stream from Foobar-GreatestHits.mp3 ... -MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo -</screen> - - <para><literal>/dev/dsp1.0</literal> deve essere sostituito con il - dispositivo <devicename>dsp</devicename> presente sul tuo - sistema.</para> - </sect2> - - <sect2 id="rip-cd"> - <title>Estrazione delle Tracce Audio dei CD</title> - - <para>Prima di codificare un CD o una traccia di CD in MP3, i dati audio - sul CD devono essere estratti sul disco fisso. Questo avviene copiando - direttamente i dati CDDA (CD Digital Audio) in file WAV.</para> - - <para>Il tool <command>cdda2wav</command>, che fa parte della suite - <filename role="package">sysutils/cdrtools</filename>, viene usato per - estrarre le informazioni audio dai CD e i dati associati.</para> - - <para>Mentre il CD audio è nel lettore, può essere eseguito - il seguente comando (come <username>root</username>) per estrarre un - intero CD in singoli (per traccia) file WAV:</para> - - <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen> - - <para><application>cdda2wav</application> supporta anche i lettori CDROM - ATAPI (IDE). Per estrarre da un lettore IDE, specifica il nome del - dispositivo al posto nel numero dell'unità SCSI. Ad esempio, per - estrarre la traccia 7 dal lettore IDE:</para> - - <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0a</replaceable> -t 7</userinput></screen> - - <para>Il <option>-D <replaceable>0,1,0</replaceable></option> - indica il dispositivo SCSI <devicename>0,1,0</devicename>, che - corrisponde all'output di <command>cdrecord -scanbus</command>.</para> - - <para>Per estrarre tracce singole, usa l'opzione <option>-t</option> come - mostrato:</para> - - <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen> - - <para>Questo esempio estrae la settima traccia del CD audio. Per estrarre - una serie di tracce, per esempio dalla traccia uno alla sette, specifica - un intervallo:</para> - - <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen> - - <para>L'utility &man.dd.1; può anche essere usata per estrarre le - tracce audio dai drive ATAPI, leggi <xref - linkend="duplicating-audiocds"> per maggiori informazioni su questa - possibilità.</para> - </sect2> - - <sect2 id="mp3-encoding"> - <title>Codifica in MP3</title> - - <para>Al giorno d'oggi, il programma di codifica in mp3 da scegliere - è <application>lame</application>. - <application>Lame</application> può essere trovato in <filename - role="package">audio/lame</filename> nell'albero dei port.</para> - - <para>Usando i file WAV estratti, il seguente comando convertirà - <filename>audio01.wav</filename> in - <filename>audio01.mp3</filename>:</para> - - <screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \ ---tt "<replaceable>Titolo</replaceable>" \ ---ta "<replaceable>Artista</replaceable>" \ ---tl "<replaceable>Album</replaceable>" \ ---ty "<replaceable>2002</replaceable>" \ ---tc "<replaceable>Estratto e codificato da Blah</replaceable>" \ ---tg "<replaceable>Genere</replaceable>" \ -<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen> - - <para>128 kbits sembra essere il bitrate standard in uso per gli MP3. - Molti preferiscono la qualità maggiore dei 160, o 192. - Più alto è il bitrate, più spazio consumerà - l'MP3 risultante--ma la qualità sarà maggiore. L'opzione - <option>-h</option> attiva il modo <quote>qualità migliore ma un - po' più lento"</quote>. Le opzioni che iniziano con - <option>--t</option> indicano i tag ID3, che solitamente contengono le - informazioni sulla canzone, da inserire all'interno del file MP3. - Ulteriori opzioni di codifica possono essere trovate consultando la - pagina man di lame.</para> - </sect2> - - <sect2 id="mp3-decoding"> - <title>Decodifica da MP3</title> - - <para>Per masterizzare un CD audio partendo dagli MP3, questi ultimi - devono essere convertiti in un formato WAV non compresso. Sia - <application>XMMS</application> che <application>mpg123</application> - supportano l'output di un MP3 in un formato non compresso.</para> - - <para>Scrittura su Disco con <application>XMMS</application>:</para> - - <procedure> - <step> - <para>Avvia <application>XMMS</application>.</para> - </step> - - <step> - <para>Clicca con il tasto destro sulla finestra per far comparire il - menu di <application>XMMS</application>.</para> - </step> - - <step> - <para>Seleziona <literal>Preference</literal> sotto - <literal>Options</literal>.</para> - </step> - - <step> - <para>Cambia l'Output Plugin in <quote>Disk Writer - Plugin</quote>.</para> - </step> - - <step> - <para>Premi <literal>Configure</literal>.</para> - </step> - - <step> - <para>Inserisci (o scegli browse) la directory in cui salvare i file - decompressi.</para> - </step> - - <step> - <para>Carica il file MP3 in <application>XMMS</application> come al - solito, con il volume al 100% e le impostazioni dell'equalizzatore - disattivate.</para> - </step> - - <step> - <para>Premi <literal>Play</literal> — - <application>XMMS</application> apparirà come se stesse - riproducendo l'MP3, ma non si sentirà nessuna musica. Sta - riproducendo la musica su un file.</para> - </step> - - <step> - <para>Assicurati di reimpostare l'Output Plugin di default come prima - per ascoltare nuovamente gli MP3.</para> - </step> - </procedure> - - <para>Scrittura su stdout con <application>mpg123</application>:</para> - - <procedure> - <step> - <para>Esegui <command>mpg123 -s <replaceable>audio01.mp3</replaceable> - > audio01.pcm</command></para> - </step> - </procedure> - - <para><application>XMMS</application> scrive un file nel formato WAV, - mentre <application>mpg123</application> converte l'MP3 direttamente in - dati audio PCM. Entrambi questi formati possono essere usati con - <application>cdrecord</application> per creare CD audio. - Devi utilizzare PCM con &man.burncd.8;. Se usi file WAV, noterai un - breve ticchettio all'inizio di ogni traccia, questo suono è - l'intestazione del file WAV. Puoi semplicemente rimuovere - l'intestazione del file WAV con l'utility <application>SoX</application> - (può essere installata dal port o dal package <filename - role="package">audio/sox</filename>):</para> - - <screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen> - - <para>Leggi <xref linkend="creating-cds"> per ulteriori informazioni su - come usare un masterizzatore con FreeBSD.</para> - </sect2> - </sect1> - - <sect1 id="video-playback"> - <sect1info> - <authorgroup> - <author> - <firstname>Ross</firstname> - - <surname>Lippert</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Riproduzione Video</title> - - <para>La riproduzione video è un'area applicativa molto recente e - in rapido sviluppo. Sii paziente. Non tutto funzionerà - così facilmente come è stato per l'audio.</para> - - <para>Prima di iniziare, dovresti conoscere il modello della scheda video - che possiedi e il chip che usa. Sebbene - <application>&xfree86;</application> supporti una vasta varietà di - schede video, poche offrono buone prestazioni in riproduzione. - Per ottenere una lista di estensioni supportate dall'X server con la tua - scheda usa il comando &man.xdpyinfo.1; mentre X11 sta girando.</para> - - <para>È una buona idea avere un piccolo file MPEG che possa essere - trattato come un file di test per la valutazione di vari riproduttori e - opzioni. Visto che alcuni riproduttori di DVD cercheranno di default i - DVD in <filename>/dev/dvd</filename>, o hanno questo nome di dispositivo - codificato permanentemente al loro interno, potresti trovare utile creare - dei link simbolici al dispositivo corretto:</para> - - <screen>&prompt.root; <userinput>ln -sf /dev/acd0 /dev/dvd</userinput> -&prompt.root; <userinput>ln -sf /dev/acd0 /dev/rdvd</userinput></screen> - - <para>Nota che, data la natura del &man.devfs.5;, i collegamenti creati a - mano come questi non rimarranno se riavvii il sistema. Per creare i - collegamenti simbolici automaticamente quando avvii il sistema, aggiungi - le seguenti righe in <filename>/etc/devfs.conf</filename>:</para> - - <programlisting>link acd0 dvd -link acd0 rdvd</programlisting> - - <para>Su FreeBSD 5.X, che usa &man.devfs.5; c'è un insieme di - link raccomandati leggermente diverso:</para> - - <screen>&prompt.root; <userinput>ln -sf /dev/acd0c /dev/dvd</userinput> -&prompt.root; <userinput>ln -sf /dev/acd0c /dev/rdvd</userinput></screen> - - <para>In aggiunta, la decrittazione dei DVD, che richiede l'invocazione - di speciali funzioni dei DVD-ROM, richiede il permesso in scrittura sui - dispositivi DVD.</para> - - <indexterm> - <primary>opzioni del kernel</primary> - <secondary>options CPU_ENABLE_SSE</secondary> - </indexterm> - <indexterm> - <primary>opzioni del kernel</primary> - <secondary>options USER_LDT</secondary> - </indexterm> - - <para>Alcuni dei port discussi si basano sulle seguenti opzioni del kernel - per compilarsi correttamente. Prima di provare a compilarli, aggiungi - queste opzioni al file di configurazione del kernel, compila un nuovo - kernel, e riavvia:</para> - - <programlisting>option CPU_ENABLE_SSE -option USER_LDT</programlisting> - - <note> - <para><literal>option USER_LDT</literal> non esiste su - &os; 5.X.</para> - </note> - - <para>Per migliorare l'interfaccia della memoria condivisa di X11, è - consigliabile incrementare i valori di alcune variabili - &man.sysctl.8;:</para> - - <programlisting>kern.ipc.shmmax=67108864 -kern.ipc.shmall=32768</programlisting> - - <sect2 id="video-interface"> - <title>Determinazione delle Capacità Video</title> - - <indexterm><primary>XVideo</primary></indexterm> - <indexterm><primary>SDL</primary></indexterm> - <indexterm><primary>DGA</primary></indexterm> - - <para>Ci sono molti modi possibili per visualizzare immagini e filmati con - X11. Quello che funzionerà meglio in pratica dipende in gran - parte dal tuo hardware. Ogni metodo descritto qui sotto avrà una - qualità variabile su hardware differente. In secondo luogo, il - rendering video in X11 è un argomento che sta ricevendo un sacco - di attenzione ultimamente, e con ogni nuova versione di - <application>&xfree86;</application> ci possono essere notevoli - miglioramenti.</para> - - <para>Una lista di interfacce video comuni:</para> - - <orderedlist> - <listitem> - <para>X11: normale output di X11 che usa la memoria condivisa.</para> - </listitem> - - <listitem> - <para>XVideo: un'estensione all'interfaccia X11 che supporta grafica - e filmati in ogni oggetto X11 disegnabile.</para> - </listitem> - - <listitem> - <para>SDL: Simple Directmedia Layer.</para> - </listitem> - - <listitem> - <para>DGA: Direct Graphics Access.</para> - </listitem> - - <listitem> - <para>SVGAlib: interfaccia di basso livello per la grafica da - console.</para> - </listitem> - </orderedlist> - - <sect3 id="video-interface-xvideo"> - <title>XVideo</title> - - <para><application>&xfree86; 4.X</application> ha un'estensione chiamata - <emphasis>XVideo</emphasis> (aka Xvideo, aka Xv, aka xv) che permette - di visualizzare grafica e filmati direttamente negli oggetti - disegnabili attraverso una speciale accelerazione. - Questa estensione fornisce una riproduzione di ottima qualità - anche su macchine poco potenti (per esempio sul mio portatile - PIII 400 Mhz). - Sfortunatamente, la lista di schede che supportano questa - caratteristica <quote>out of the box</quote> è - attualmente:</para> - - <orderedlist> - <listitem> - <para>3DFX Voodoo 3</para> - </listitem> - - <listitem> - <para>&intel; i810 e i815</para> - </listitem> - - <listitem> - <para>alcuni chip S3 (come il Savage/IX e il Savage/MX)</para> - </listitem> - </orderedlist> - - <para>Se la tua scheda non è fra queste, non disperarti ancora. - <application>&xfree86; 4.X</application> aggiunge il supporto a nuove - schede con ogni release - <footnote> - <para>Una nota famiglia di schede video con ottime prestazioni in - <application>&xfree86;</application>, nVidia, deve ancora - rilasciare le proprie specifiche sul supporto XVideo al team - <application>&xfree86;</application>. Potrà passare un po' - di tempo prima che <application>&xfree86;</application> - supporterà completamente XVideo per queste schede.</para> - </footnote>. Per controllare se l'estensione sta girando, usa - <command>xvinfo</command>:</para> - - <screen>&prompt.user; <userinput>xvinfo</userinput></screen> - - <para>XVideo è supportato dalla tua scheda se il risultato - è simile a:</para> - - <screen>X-Video Extension version 2.2 -screen #0 - Adaptor #0: "Savage Streams Engine" - number of ports: 1 - port base: 43 - operations supported: PutImage - supported visuals: - depth 16, visualID 0x22 - depth 16, visualID 0x23 - number of attributes: 5 - "XV_COLORKEY" (range 0 to 16777215) - client settable attribute - client gettable attribute (current value is 2110) - "XV_BRIGHTNESS" (range -128 to 127) - client settable attribute - client gettable attribute (current value is 0) - "XV_CONTRAST" (range 0 to 255) - client settable attribute - client gettable attribute (current value is 128) - "XV_SATURATION" (range 0 to 255) - client settable attribute - client gettable attribute (current value is 128) - "XV_HUE" (range -180 to 180) - client settable attribute - client gettable attribute (current value is 0) - maximum XvImage size: 1024 x 1024 - Number of image formats: 7 - id: 0x32595559 (YUY2) - guid: 59555932-0000-0010-8000-00aa00389b71 - bits per pixel: 16 - number of planes: 1 - type: YUV (packed) - id: 0x32315659 (YV12) - guid: 59563132-0000-0010-8000-00aa00389b71 - bits per pixel: 12 - number of planes: 3 - type: YUV (planar) - id: 0x30323449 (I420) - guid: 49343230-0000-0010-8000-00aa00389b71 - bits per pixel: 12 - number of planes: 3 - type: YUV (planar) - id: 0x36315652 (RV16) - guid: 52563135-0000-0000-0000-000000000000 - bits per pixel: 16 - number of planes: 1 - type: RGB (packed) - depth: 0 - red, green, blue masks: 0x1f, 0x3e0, 0x7c00 - id: 0x35315652 (RV15) - guid: 52563136-0000-0000-0000-000000000000 - bits per pixel: 16 - number of planes: 1 - type: RGB (packed) - depth: 0 - red, green, blue masks: 0x1f, 0x7e0, 0xf800 - id: 0x31313259 (Y211) - guid: 59323131-0000-0010-8000-00aa00389b71 - bits per pixel: 6 - number of planes: 3 - type: YUV (packed) - id: 0x0 - guid: 00000000-0000-0000-0000-000000000000 - bits per pixel: 0 - number of planes: 0 - type: RGB (packed) - depth: 1 - red, green, blue masks: 0x0, 0x0, 0x0</screen> - - <para>Inoltre tieni presente che i formati elencati (YUV2, YUV12, ecc) - non sono presenti in tutte le implementazioni di XVideo e la loro - assenza può ostacolare alcuni programmi.</para> - - <para>Se il risultato è:</para> - - <screen>X-Video Extension version 2.2 -screen #0 -no adaptors present</screen> - - <para>Allora XVideo probabilmente non è supportato per la tua - scheda.</para> - - <para>Se XVideo non è supportato per la tua scheda, questo vuol - dire solamente che sarà più difficile soddisfare le - richieste computazionali per il rendering video. A seconda della tua - scheda video e del tuo processore, comunque, potresti essere ancora in - grado di avere un'esperienza soddisfacente. Dovrai probabilmente - dare un occhio ai modi per migliorare le prestazioni nella lettura - avanzata <xref linkend="video-further-reading">.</para> - </sect3> - - <sect3 id="video-interface-SDL"> - <title>Simple Directmedia Layer</title> - - <para>Il Simple Directmedia Layer, SDL, vuole essere un'interfaccia di - portabilità tra µsoft; Windows, BeOS, e &unix;, che possa - permettere di sviluppare applicazioni multi-piattaforma che facciano - buon uso di suoni e grafica. L'interfaccia SDL fornisce una - astrazione di basso livello all'hardware che può a volte - essere più efficiente dell'interfaccia X11.</para> - - <para>L'SDL può essere trovata in <filename - role="package">devel/sdl12</filename>.</para> - </sect3> - - <sect3 id="video-interface-DGA"> - <title>Direct Graphics Access</title> - - <para>Direct Graphics Access è un'estensione - <application>&xfree86;</application> che permette a un programma di - evitare il server X ed alterare direttamente il buffer video. - Siccome si basa su una mappatura di memoria a basso livello per - effettuare questa condivisione, i programmi che la usano devono - essere avviati da <username>root</username>.</para> - - <para>L'estensione DGA può essere testata con &man.dga.1;. - Quando <command>dga</command> è in esecuzione, cambia i colori - del display ogni volta che viene premuto un tasto. Per uscire, premi - <keycap>q</keycap>.</para> - </sect3> - </sect2> - - <sect2 id="video-ports"> - <title>Port e Package che Riguardano il Video</title> - - <indexterm><primary>port video</primary></indexterm> - <indexterm><primary>package video</primary></indexterm> - - <para>In questa sezione si discuterà del software disponibile - nella FreeBSD Port Collection che possono essere usati per - la riproduzione video. La sezione software sulla riproduzione video - è in continuo sviluppo, per cui le caratteristiche delle varie - applicazioni sono destinate a differire dalla descrizione che - segue.</para> - - <para>In primo luogo, è importante sapere che molte delle - applicazioni video che girano su FreeBSD sono stati sviluppate come - applicazioni Linux. Molte di queste applicazioni sono ancora in fase - beta. Alcuni dei problemi che puoi incontrare con i package video su - FreeBSD comprendono:</para> - - <orderedlist> - <listitem> - <para>Un'applicazione non riesce a riprodurre un file generato - da un'altra applicazione.</para> - </listitem> - - <listitem> - <para>Un'applicazione non riesce a riprodurre un file che lei - stessa ha prodotto.</para> - </listitem> - - <listitem> - <para>Lo stesso applicativo posto su due computer diversi, - ricompilato su ognuno dei due computer, riproduce lo stesso - file in modo diverso.</para> - </listitem> - - <listitem> - <para>Da un filtro apparentemente banale quale il ridimensionamento - di un'immagine si ottenga un pessimo risultato derivato da una - routine di ridimensionamento bacata.</para> - </listitem> - - <listitem> - <para>Un'applicazione che genera frequentemente file - <quote>core</quote>.</para> - </listitem> - - <listitem> - <para>La documentazione non viene installata con il port e può - essere trovata sul web o nella directory <filename - role="directory">work</filename> del port.</para> - </listitem> - </orderedlist> - - <para>Molte di queste applicazioni possono anche esibire - <quote>Linuxismi</quote>. Ovvero, ci possono essere problemi risultanti - dal modo in cui le librerie standard sono state implementate nelle - distribuzioni Linux, o alcune modifiche al - kernel di Linux che sono state apportate dagli autori delle - applicazioni. Questi problemi possono non essere stati - notati e aggirati dal mantainer del port, e possono - portare comunque a problemi come questi:</para> - - <orderedlist> - <listitem> - <para>L'uso di <filename>/proc/cpuinfo</filename> per riconoscere - le caratteristiche del processore.</para> - </listitem> - - <listitem> - <para>Un uso errato dei thread che può portare un programma - a bloccare la propria esecuzione piuttosto che terminare - correttamente.</para> - </listitem> - - <listitem> - <para>Software non ancora presente nella collezione dei port di - FreeBSD che è comunemente usato unitamente - all'applicazione.</para> - </listitem> - </orderedlist> - - <para>A questo punto, gli sviluppatori di queste applicazioni sono stati - collaborativi con i maintainer dei port al fine di minimizzare la - ricerca di soluzioni necessarie al processo di porting.</para> - - <sect3 id="video-mplayer"> - <title>MPlayer</title> - - <para><application>MPlayer</application> è stata sviluppata di - recente ed è un player in rapida evoluzione. Gli obbiettivi - degli sviluppatori di <application>MPlayer</application> sono la - velocità e la flessibilità su Linux e le altre famiglie - di &unix;. Il progetto è partito non appena il fondatore del - gruppo si stancò delle prestazioni degli altri riproduttori. - C'è chi dice che l'interfaccia grafica sia stata sacrificata - per un design essenziale. Tuttavia, una volta che si sono imparate - perfettamente le opzioni da riga di comando e le scorciatoie, - funziona decisamente bene.</para> - - <sect4 id="video-mplayer-building"> - <title>Compilazione di MPlayer</title> - - <indexterm> - <primary>MPlayer</primary> - <secondary>compilazione</secondary> - </indexterm> - - <para><application>MPlayer</application> è reperibile - sotto <filename role="package">multimedia/mplayer</filename>. - <application>MPlayer</application> - effettua una serie di controlli sull'hardware durante il - processo di compilazione, che ha come risultato un binario - che non potrà essere considerato portabile da una - piattaforma ad un'altra. Questo è il motivo per cui - risulta importante compilarlo usando il port piuttosto che - il pacchetto contenente il binario. - Inoltre, ulteriori opzioni possono essere specificate nella riga di - comando di <command>make</command>, come descritto all'inizio della - compilazione.</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mplayer</userinput> -&prompt.root; <userinput>make</userinput> -You can enable additional compilation optimizations -by defining WITH_OPTIMIZED_CFLAGS -You can enable GTK GUI by defining WITH_GUI. -You can enable DVD support by defining WITH_DVD. -You can enable SVGALIB support by defining WITH_SVGALIB. -You can enable VORBIS sound support by defining WITH_VORBIS. -You can enable XAnim DLL support by defining WITH_XANIM.</screen> - - <para>Se hai installato <filename - role="package">x11-toolkits/gtk12</filename>, a questo punto si - potrà abilitare la compilazione della GUI. Altrimenti, non - vale la pena la fatica. Se si ha intenzione di vedere DVD - (possibilmente codificati in CSS) con - <application>MPlayer</application> si sarà - costretti ad abilitare l'opzione per il supporto DVD qui - <footnote> - <para>La riproduzione non autorizzata di DVD è un grave - atto criminale in alcuni paesi. Controlla le leggi locali - prima di abilitare questa opzione.</para> - </footnote>. Alcune opzioni utili sono:</para> - - <screen>&prompt.root; <userinput>make WITH_DVD=yes WITH_SVGALIB=yes</userinput></screen> - - <para>Al momento, il port <application>MPlayer</application> - creerà la sua documentazione in HTML e l'eseguibile - <command>mplayer</command>. - Sarà anche possibile compilare un codificatore, - <command>mencoder</command>, uno strumento utile per ricodificare i - video. Una modifica al <filename>Makefile</filename> lo rende - disponibile. È possibile che venga abilitato di default - nelle versioni successive del port.</para> - - <para>La documentazione HTML di <application>MPlayer</application> - è molto istruttiva. - Qualora il lettore trovasse le informazioni sull'hardware e le - interfacce video in questo capitolo scarne, la documentazione di - <application>MPlayer</application> risulta essere un ottimo - supplemento. - Se si stanno cercando informazioni riguardo il supporto video sotto - &unix;, sarebbe utile trovare il tempo di leggere in modo preciso - la documentazione di <application>MPlayer</application>.</para> - </sect4> - - <sect4 id="video-mplayer-using"> - <title>Utilizzo di MPlayer</title> - - <indexterm> - <primary>MPlayer</primary> - <secondary>utilizzo</secondary> - </indexterm> - - <para>Ogni utente che voglia usare <application>MPlayer</application> - deve creare la directory <filename>.mplayer</filename> sotto - la propria home. Per creare questa directory necessaria, puoi - digitare il seguente comando:</para> - - <screen>&prompt.user; <userinput>cd /usr/ports/multimedia/mplayer</userinput> -&prompt.user; <userinput>make install-user</userinput></screen> - - <para>Le opzioni del comando <command>mplayer</command> sono elencate - nella pagina del manuale. Per qualunque altro dettaglio consulta - la documentazione HTML. In questa sezione, descriveremo solamente - alcuni degli usi più comuni.</para> - - <para>Per riprodurre un file, ad esempio - <filename><replaceable>testfile.avi</replaceable></filename>, usando - una delle varie interfacce video usa l'opzione - <option>-vo</option>:</para> - - <screen>&prompt.user; <userinput>mplayer -vo xv testfile.avi</userinput></screen> - - <screen>&prompt.user; <userinput>mplayer -vo sdl testfile.avi</userinput></screen> - - <screen>&prompt.user; <userinput>mplayer -vo x11 testfile.avi</userinput></screen> - - <screen>&prompt.root; <userinput>mplayer -vo dga testfile.avi</userinput></screen> - - <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' testfile.avi</userinput></screen> - - <para>È utile provare tutte queste opzioni, considerando che le - prestazioni dipendono da svariati fattori e variano in modo - considerevole a seconda dell'hardware.</para> - - <para>Per riprodurre un DVD, sostituisci - <filename>testfile.avi</filename> con l'opzione <option>-dvd - <replaceable>N</replaceable> - <replaceable>DISPOSITIVO</replaceable></option> dove - <replaceable>N</replaceable> corrisponde al numero del titolo da - riprodurre - e <filename><replaceable>DISPOSITIVO</replaceable></filename> al - dispositivo che identifica il DVD-ROM. Per esempio, per riprodurre - il terzo titolo da <filename>/dev/dvd</filename>:</para> - - <screen>&prompt.root; <userinput>mplayer -vo dga -dvd 3 /dev/dvd</userinput></screen> - - <para>Per interrompere, mettere in pausa, andare avanti e così - via, leggi l'elenco delle associazioni dei tasti, che - vengono elencati eseguendo <command>mplayer -h</command> o - consulta la pagina man.</para> - - <para>Ulteriori opzioni utili per la riproduzione sono: - <option>-fs -zoom</option> che abilita la modalità schermo - intero e <option>-framedrop</option> che aiuta le - prestazioni.</para> - - <para>Perchè la riga di comando di mplayer non diventi - eccessivamente lunga, l'utente può creare il file - <filename>.mplayer/config</filename> ed impostare lì i - valori predefiniti:</para> - - <programlisting>vo=xv -fs=yes -zoom=yes</programlisting> - - <para>In ultimo, è possibile usare <command>mplayer</command> - per estrarre una traccia DVD in un file <filename>.vob</filename>. - Per estrarre la seconda traccia dal DVD, digita questo:</para> - - <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob -dvd 2 /dev/dvd</userinput></screen> - - <para>Il file ottenuto, <filename>out.vob</filename>, sarà - in formato MPEG e potrà manipolato da un'altro programma - descritto in questa sezione.</para> - </sect4> - - <sect4 id="video-mencoder"> - <title>mencoder</title> - - <indexterm><primary>mencoder</primary></indexterm> - - <para>Se hai scelto di installare <command>mencoder</command> quando - hai compilato <application>MPlayer</application>, sei avvisato che - è ancora un componente sperimentale. Prima di usare - <command>mencoder</command> è una buona - idea familiarizzare con le opzioni contenute nella - documentazione HTML. Esiste anche una pagina man, ma non - è utile senza la documentazione HTML. Esiste un numero - considerevole di modi per migliorare la qualità, un - bitrate più basso, cambiare codifica ed alcuni di - questi trucchi può fare la differenza tra prestazioni - più o meno accettabili. Di seguito un paio di esempi per - cominciare. Prima di tutto, una semplice copia:</para> - - <screen>&prompt.user; <userinput>mencoder input.avi -oac copy -ovc copy -o output.avi</userinput></screen> - - <para>Combinazioni errate di opzioni da riga di comando possono - portare a file di output irriproducibili perfino con - <command>mplayer</command>. - Di conseguenza, se si vuole semplicemente estrarre una traccia, - usare l'opzione <option>-dumpfile</option> eseguendo - in <command>mplayer</command>.</para> - - <para>Per convertire il file <filename>input.avi</filename> - in formato MPEG4 con l'audio codificato in MPEG3 (è - necessario <filename role="package">audio/lame</filename>):</para> - - <screen>&prompt.user; <userinput>mencoder input.avi -oac mp3lame -lameopts br=192 \ - -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi</userinput></screen> - - <para>Questo comando ha creato un file riproducibile con - <command>mplayer</command> e <command>xine</command>.</para> - - <para>Il parametro <filename>input.avi</filename> può - essere sostituito con <option>-dvd 1 /dev/dvd</option> ed - eseguire il comando come <username>root</username> per - ricodificare il capitolo DVD direttamente. Poichè - si sarà certamente poco soddisfatti del risultato la prima - volta, è consigliato eseguire il dump del capitolo - e lavorare direttamente sul file.</para> - </sect4> - </sect3> - - <sect3 id="video-xine"> - <title>Il Riproduttore Video xine</title> - - <para>Il riproduttore video <application>xine</application> è un - progetto dagli ampi obiettivi e non solo l'essere una soluzione - unica per la riproduzione, ma anche una libreria di base - riutilizzabile ed un eseguibile modulare che possa essere - esteso con i plugin. È disponibile sia come pacchetto che - come port, sotto <filename - role="package">multimedia/xine</filename>.</para> - - <para><application>xine</application> - è ancora un pò rozzo, ma è chiaramente un buon - inizio. - In pratica, <application>xine</application> necessita sia di una - CPU veloce che di una scheda video veloce o il supporto per - l'estensione XVideo. L'interfaccia grafica è utilizzabile, - ma ancora mal disegnata.</para> - - <para>Allo stato attuale, non ci sono moduli distribuiti con - <application>xine</application> che possano riprodurre DVD - codificati in CSS. Esistono distribuzioni di terze parti che - hanno moduli di questo genere già compilati, ma nessuno - di questi esiste nella FreeBSD Ports Collection.</para> - - <para>Comparato con <application>MPlayer</application>, - <application>xine</application> offre maggiori caratteristiche - all'utente ma, allo stesso tempo, non rende disponibile - all'utente un controllo più accurato. Il riproduttore video - <application>xine</application> funziona molto meglio sulle interfacce - XVideo.</para> - - <para>Di default, <application>xine</application> si avvierà con - un'interfaccia grafica. Si possono quindi usare i menu per aprire - per aprire un file specifico:</para> - - <screen>&prompt.user; <userinput>xine</userinput></screen> - - <para>Alternativamente, può essere invocato per aprire - direttamente un file senza l'interfaccia grafica, con il - comando:</para> - - <screen>&prompt.user; <userinput>xine -g -p mymovie.avi</userinput></screen> - </sect3> - - <sect3 id="video-ports-transcode"> - <title>Le Utility transcode</title> - - <para>Il software <application>transcode</application> non è un - riproduttore, piuttosto un insieme di strumenti per ricodificare file - <filename>.avi</filename> e <filename>.mpg</filename>. Con - <application>transcode</application>, si ha la possibilità di - unire file video, riparare file corrotti ed utilizzare strumenti - da riga di comando con interfaccie che utilizzano i flussi - <filename>stdin/stdout</filename>.</para> - - <para>Così come <application>MPlayer</application>, anche - <application>transcode</application> è un software in - fase sperimentale che deve essere compilato usando il port - <filename role="package">multimedia/transcode</filename>. Sono - disponibili parecchie opzioni da passare a <command>make</command>. - Io consiglio:</para> - - <screen>&prompt.root; <userinput>make WITH_LIBMPEG2=yes</userinput></screen> - - <para>Se hai intenzione di installare <filename - role="package">multimedia/avifile</filename>, allora aggiungi - l'opzione <literal>WITH_AVIFILE</literal> alla riga di comando di - <command>make</command>, così come di seguito:</para> - - <screen>&prompt.root; <userinput>make WITH_AVIFILE=yes WITH_LIBMPEG2=yes</userinput></screen> - - <para>Ecco due esempi di come usare <command>transcode</command> - per la conversione video che produce un output ridimensionato. - Il primo, codifica il risultato come un file openDIVX AVI, - mentre il secondo codifica nel formato MPEG, più - portabile.</para> - - <screen>&prompt.user; <userinput>transcode -i input.vob -x vob -V -Z 320x240 \ --y opendivx -N 0x55 -o output.avi</userinput></screen> - - <screen>&prompt.user; <userinput>transcode -i input.vob -x vob -V -Z 320x240 \ --y mpeg -N 0x55 -o output.tmp</userinput> -&prompt.user; <userinput>tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1</userinput></screen> - - <para>Esiste una pagina man per <command>transcode</command>, - ma c'è poca documentazione sulle utility <command>tc*</command> - (come per esempio <command>tcmplex</command>) che vengono installate. - Tuttavia, l'opzione a riga di comando <option>-h</option> può - sempre essere usata per avere delle brevi istruzioni d'uso del - comando.</para> - - <para>In confronto, <command>transcode</command> gira molto - più lentamente rispetto a <command>mencoder</command>, ma - risulta essere un'ottima alternativa per produrre file in - formati più vari. - Si sa che gli MPEG creati con <command>transcode</command> funzionano - con <application>&windows.media; Player</application> ed Apple - <application>&quicktime;</application>, ad esempio.</para> - </sect3> - </sect2> - - <sect2 id="video-further-reading"> - <title>Ulteriori Letture</title> - - <para>I vari package di applicazioni video per FreeBSD si stanno - evolvendo rapidamente. È abbastanza possibile che in un futuro - vicino molti dei problemi discussi qui saranno risolti. Nel frattempo, - chiunque voglia ottenere il massimo dalle - capacità A/V di FreeBSD, dovrà unire alla meglio la - conoscenza che deriva dalle svariate FAQ e guide con l'uso di queste - poche applicazioni. Questa sezione esiste per fornire al lettore - indicazioni a queste informazioni aggiuntive.</para> - - <para>La <ulink url="http://www.mplayerhq.hu/DOCS/">Documentazione - di MPlayer</ulink> è molto istruttiva sul piano tecnico. - Questa documentazione, probabilmente, dovrà essere consultata - da chiunque voglia ottenere un alto grado di conoscenza del video - sotto &unix;. La mailing list di <application>MPlayer</application> - risulta abbastanza ostile a chiunque non si sia preoccupato di - leggere la documentazione, se si ha intenzione di segnalar loro un - bug, RTFM.</para> - - <para>L'<ulink - url="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html">HOWTO - di xine</ulink> contiene un capitolo su come aumentare le prestazioni - che è comune a tutti i riproduttori.</para> - - <para>In ultimo, ci sono alcuni applicativi promettenti che il - lettore può provare:</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://avifile.sourceforge.net/">Avifile</ulink> che - è anche un port <filename - role="package">multimedia/avifile</filename>.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.dtek.chalmers.se/groups/dvd/">Ogle</ulink> - che è anche un port <filename - role="package">multimedia/ogle</filename>.</para> - </listitem> - - <listitem> - <para><ulink - url="http://xtheater.sourceforge.net/">Xtheater</ulink></para> - </listitem> - - <listitem> - <para><filename - role="package">multimedia/dvdauthor</filename>, un package open - source per la creazione di DVD.</para> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="tvcard"> - <sect1info> - <authorgroup> - <author> - <firstname>Josef</firstname> - - <surname>El-Rayes</surname> - - <contrib>Contributo originale di </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Marc</firstname> - - <surname>Fonvieille</surname> - - <contrib>Ampliato e adattato da </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Configurazione delle Schede TV</title> - - <indexterm><primary>schede TV</primary></indexterm> - - <sect2> - <title>Introduzione</title> - - <para>Le schede TV permettono di visualizzare la TV via onde radio o via - cavo sul tuo computer. La maggior parte di queste accettano in input - video composito tramite connettori RCA o S-video e alcune di queste - schede hanno un sintonizzatore radio FM.</para> - - <para>&os; fornisce supporto per le schede TV su bus PCI che usano un - chip di acquisizione video Brooktree Bt848/849/878/879 o Conexant - CN-878/Fusion 878a tramite il driver &man.bktr.4;. Devi anche - assicurarti che la scheda abbia un sintonizzatore supportato, consulta - la pagina man di &man.bktr.4; per una lista dei sintonizzatori - supportati.</para> - </sect2> - - <sect2> - <title>Aggiunta del Driver</title> - - <para>Per usare la scheda, devi caricare il driver &man.bktr.4;, e questo - può essere fatto aggiungendo la seguente riga al file - <filename>/boot/loader.conf</filename> in questo modo:</para> - - <programlisting>bktr_load="YES"</programlisting> - - <para>Alternativamente, puoi compilare staticamente il supporto per la - scheda TV nel tuo kernel, in questo caso aggiungi le seguenti righe - alla configurazione del tuo kernel:</para> - - <programlisting>device bktr -device iicbus -device iicbb -device smbus</programlisting> - - <para>Questi driver aggiuntivi sono necessari poiché le - componenti della scheda sono interconnesse tramite un bus I2C. - Quindi compila ed installa un nuovo kernel.</para> - - <para>Una volta che hai aggiunto il supporto al tuo sistema, devi - riavviare la macchina. Durante il processo di avvio, la tua scheda TV - dovrebbe apparire, come in questo esempio:</para> - - <programlisting>bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0 -iicbb0: <I2C bit-banging driver> on bti2c0 -iicbus0: <Philips I2C bus> on iicbb0 master-only -iicbus1: <Philips I2C bus> on iicbb0 master-only -smbus0: <System Management Bus> on bti2c0 -bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> - - <para>Ovviamente questi messaggi possono differire a seconda - dell'hardware. Tuttavia dovresti controllare se il sintonizzatore - viene rilevato correttamente; è sempre possibile modificare - alcuni dei parametri rilevati tramite le MIB di &man.sysctl.8; e le - opzioni nel file di configurazione del kernel. Ad esempio, se vuoi - imporre che il sintonizzatore sia un Philips SECAM, dovresti aggiungere - la riga seguente al file di configurazione del kernel:</para> - - <programlisting>options OVERRIDE_TUNER=6</programlisting> - - <para>o puoi usare direttamente &man.sysctl.8;:</para> - - <screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen> - - <para>Guarda la pagina man di &man.bktr.4; e il file - <filename>/usr/src/sys/conf/NOTES</filename> per maggiori dettagli - sulle opzioni disponibili. (Se sei sotto &os; 4.X, sostituisci - <filename>/usr/src/sys/conf/NOTES</filename> con - <filename>/usr/src/sys/i386/conf/LINT</filename>.)</para> - </sect2> - - <sect2> - <title>Applicazioni Utili</title> - - <para>Per usare la tua scheda TV devi installare una delle seguenti - applicazioni:</para> - - <itemizedlist> - <listitem> - <para><filename role="package">multimedia/fxtv</filename> - fornisce capacità di TV-in-una-finestra e acquisizione di - immagini/audio/video.</para> - </listitem> - - <listitem> - <para><filename role="package">multimedia/xawtv</filename> - è anch'esso un'applicazione TV, con le stesse caratteristiche - di <application>fxtv</application>.</para> - </listitem> - - <listitem> - <para><filename role="package">misc/alevt</filename> decodifica e - visualizza Videotext/Teletext.</para> - </listitem> - - <listitem> - <para><filename role="package">audio/xmradio</filename>, - un'applicazione per usare il sintonizzatore radio FM che hanno - alcune schede TV.</para> - </listitem> - - <listitem> - <para><filename role="package">audio/wmtune</filename>, - un'applicazione desktop maneggevole per i sintonizzatori - radio.</para> - </listitem> - </itemizedlist> - - <para>Altre applicazioni sono disponibili nella &os; Ports - Collection.</para> - </sect2> - - <sect2> - <title>Risoluzione dei Problemi</title> - - <para>Se incontri qualche problema con la tua scheda TV, dovresti - verificare dapprima se il chip di acquisizione video e il - sintonizzatore sono realmente supportati dal driver &man.bktr.4; e se - hai usato le corrette opzioni di configurazione. Per maggiore supporto - e varie domande sulla tua scheda video potresti voler leggere ed - usare gli archivi della mailing list &a.multimedia.name;.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/network-servers/Makefile b/it_IT.ISO8859-15/books/handbook/network-servers/Makefile deleted file mode 100644 index fedd913d51..0000000000 --- a/it_IT.ISO8859-15/books/handbook/network-servers/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= network-servers/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/network-servers/chapter.sgml b/it_IT.ISO8859-15/books/handbook/network-servers/chapter.sgml deleted file mode 100644 index 05142e60a6..0000000000 --- a/it_IT.ISO8859-15/books/handbook/network-servers/chapter.sgml +++ /dev/null @@ -1,81 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="network-servers"> - <title>Server di Rete</title> - - <sect1 id="network-servers-synopsis"> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-inetd"> - <title>The <application>inetd</application> - <quote>Super-Server</quote></title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-nfs"> - <title>Network File System (NFS)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-nis"> - <title>Network Information System (NIS/YP)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-dhcp"> - <title>Automatic Network Configuration (DHCP)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-dns"> - <title>Domain Name System (DNS)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-apache"> - <title>Apache HTTP Server</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-ftp"> - <title>File Transfer Protocol (FTP)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-samba"> - <title>File and Print Services for µsoft.windows; clients (Samba)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="network-ntp"> - <title>Clock Synchronization with NTP</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/pgpkeys/Makefile b/it_IT.ISO8859-15/books/handbook/pgpkeys/Makefile deleted file mode 100644 index dec9fbe096..0000000000 --- a/it_IT.ISO8859-15/books/handbook/pgpkeys/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= pgpkeys/chapter.sgml - -PGPKEYS!= perl -ne 'm/\"([\w-]+.key)\"/ && print "$$1\n"' \ - ${DOC_PREFIX}/share/pgpkeys/pgpkeys.ent -SRCS+= ${PGPKEYS} - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml b/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml deleted file mode 100644 index c0b2369c5e..0000000000 --- a/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml +++ /dev/null @@ -1,856 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.240 ---> - -<appendix id="pgpkeys"> - <title>Chiavi PGP</title> - - <indexterm><primary>chiavi pgp</primary></indexterm> - - <para>Nel caso tu debba verificare una firma o inviare un messaggio cifrato - a una delle cariche ufficiali o a uno degli sviluppatori, qui puoi trovare - per tua comodità una serie di chiavi. Un portachiavi completo degli - utenti <hostid role="domainname">FreeBSD.org</hostid> è disponibile per il download da <ulink - url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink>.</para> - - <sect1 id="pgpkeys-officers"> - <title>Cariche Ufficiali</title> - - <sect2 id="pgpkey-security-officer"> - <title>&a.security-officer;</title> - &pgpkey.security-officer; - </sect2> - - <sect2 id="pgpkey-core-secretary"> - <title>&a.core-secretary;</title> - &pgpkey.core-secretary; - </sect2> - </sect1> - - <sect1 id="pgpkeys-core"> - <title>Membri del Core Team</title> - - <sect2 id="pgpkey-jhb"> - <title>&a.jhb;</title> - &pgpkey.jhb; - </sect2> - - <sect2 id="pgpkey-kuriyama"> - <title>&a.kuriyama;</title> - &pgpkey.kuriyama; - </sect2> - - <sect2 id="pgpkey-scottl"> - <title>&a.scottl;</title> - &pgpkey.scottl; - </sect2> - - <sect2 id="pgpkey-imp"> - <title>&a.imp;</title> - &pgpkey.imp; - </sect2> - - <sect2 id="pgpkey-wes"> - <title>&a.wes;</title> - &pgpkey.wes; - </sect2> - - <sect2 id="pgpkey-murray"> - <title>&a.murray;</title> - &pgpkey.murray; - </sect2> - - <sect2 id="pgpkey-peter"> - <title>&a.peter;</title> - &pgpkey.peter; - </sect2> - </sect1> - - <sect1 id="pgpkeys-developers"> - <title>Sviluppatori</title> - - <sect2 id="pgpkey-will"> - <title>&a.will;</title> - &pgpkey.will; - </sect2> - - <sect2 id="pgpkey-mat"> - <title>&a.mat;</title> - &pgpkey.mat; - </sect2> - - <sect2 id="pgpkey-asami"> - <title>&a.asami;</title> - &pgpkey.asami; - </sect2> - - <sect2 id="pgpkey-dougb"> - <title>&a.dougb;</title> - &pgpkey.dougb; - </sect2> - - <sect2 id="pgpkey-tobez"> - <title>&a.tobez;</title> - &pgpkey.tobez; - </sect2> - - <sect2 id="pgpkey-mbr"> - <title>&a.mbr;</title> - &pgpkey.mbr; - </sect2> - - <sect2 id="pgpkey-harti"> - <title>&a.harti;</title> - &pgpkey.harti; - </sect2> - - <sect2 id="pgpkey-obraun"> - <title>&a.obraun;</title> - &pgpkey.obraun; - </sect2> - - <sect2 id="pgpkey-jmb"> - <title>&a.jmb;</title> - &pgpkey.jmb; - </sect2> - - <sect2 id="pgpkey-brueffer"> - <title>&a.brueffer;</title> - &pgpkey.brueffer; - </sect2> - - <sect2 id="pgpkey-markus"> - <title>&a.markus;</title> - &pgpkey.markus; - </sect2> - - <sect2 id="pgpkey-wilko"> - <title>&a.wilko;</title> - &pgpkey.wilko; - </sect2> - - <sect2 id="pgpkey-perky"> - <title>&a.perky;</title> - &pgpkey.perky; - </sect2> - - <sect2 id="pgpkey-jon"> - <title>&a.jon;</title> - &pgpkey.jon; - </sect2> - - <sect2 id="pgpkey-luoqi"> - <title>&a.luoqi;</title> - &pgpkey.luoqi; - </sect2> - - <sect2 id="pgpkey-ache"> - <title>&a.ache;</title> - &pgpkey.ache; - </sect2> - - <sect2 id="pgpkey-seanc"> - <title>&a.seanc;</title> - &pgpkey.seanc; - </sect2> - - <sect2 id="pgpkey-cjh"> - <title>&a.cjh;</title> - &pgpkey.cjh; - </sect2> - - <sect2 id="pgpkey-cjc"> - <title>&a.cjc;</title> - &pgpkey.cjc; - </sect2> - - <sect2 id="pgpkey-marcus"> - <title>&a.marcus;</title> - &pgpkey.marcus; - </sect2> - - <sect2 id="pgpkey-nik"> - <title>&a.nik;</title> - &pgpkey.nik; - </sect2> - - <sect2 id="pgpkey-ceri"> - <title>&a.ceri;</title> - &pgpkey.ceri; - </sect2> - - <sect2 id="pgpkey-brooks"> - <title>&a.brooks;</title> - &pgpkey.brooks; - </sect2> - - <sect2 id="pgpkey-pjd"> - <title>&a.pjd;</title> - &pgpkey.pjd; - </sect2> - - <sect2 id="pgpkey-bsd"> - <title>&a.bsd;</title> - &pgpkey.bsd; - </sect2> - - <sect2 id="pgpkey-danfe"> - <title>&a.danfe;</title> - &pgpkey.danfe; - </sect2> - - <sect2 id="pgpkey-dd"> - <title>&a.dd;</title> - &pgpkey.dd; - </sect2> - - <sect2 id="pgpkey-ale"> - <title>&a.ale;</title> - &pgpkey.ale; - </sect2> - - <sect2 id="pgpkey-peadar"> - <title>&a.peadar;</title> - &pgpkey.peadar; - </sect2> - - <sect2 id="pgpkey-josef"> - <title>&a.josef;</title> - &pgpkey.josef; - </sect2> - - <sect2 id="pgpkey-ue"> - <title>&a.ue;</title> - &pgpkey.ue; - </sect2> - - <sect2 id="pgpkey-ru"> - <title>&a.ru;</title> - &pgpkey.ru; - </sect2> - - <sect2 id="pgpkey-le"> - <title>&a.le;</title> - &pgpkey.le; - </sect2> - - <sect2 id="pgpkey-stefanf"> - <title>&a.stefanf;</title> - &pgpkey.stefanf; - </sect2> - - <sect2 id="pgpkey-jedgar"> - <title>&a.jedgar;</title> - &pgpkey.jedgar; - </sect2> - - <sect2 id="pgpkey-green"> - <title>&a.green;</title> - &pgpkey.green; - </sect2> - - <sect2 id="pgpkey-lioux"> - <title>&a.lioux;</title> - &pgpkey.lioux; - </sect2> - - <sect2 id="pgpkey-fanf"> - <title>&a.fanf;</title> - &pgpkey.fanf; - </sect2> - - <sect2 id="pgpkey-blackend"> - <title>&a.blackend;</title> - &pgpkey.blackend; - </sect2> - - <sect2 id="pgpkey-petef"> - <title>&a.petef;</title> - &pgpkey.petef; - </sect2> - - <sect2 id="pgpkey-billf"> - <title>&a.billf;</title> - &pgpkey.billf; - </sect2> - - <sect2 id="pgpkey-patrick"> - <title>&a.patrick;</title> - &pgpkey.patrick; - </sect2> - - <sect2 id="pgpkey-gioria"> - <title>&a.gioria;</title> - &pgpkey.gioria; - </sect2> - - <sect2 id="pgpkey-jmg"> - <title>&a.jmg;</title> - &pgpkey.jmg; - </sect2> - - <sect2 id="pgpkey-dannyboy"> - <title>&a.dannyboy;</title> - &pgpkey.dannyboy; - </sect2> - - <sect2 id="pgpkey-dhartmei"> - <title>&a.dhartmei;</title> - &pgpkey.dhartmei; - </sect2> - - <sect2 id="pgpkey-jhay"> - <title>&a.jhay;</title> - &pgpkey.jhay; - </sect2> - - <sect2 id="pgpkey-sheldonh"> - <title>&a.sheldonh;</title> - &pgpkey.sheldonh; - </sect2> - - <sect2 id="pgpkey-mikeh"> - <title>&a.mikeh;</title> - &pgpkey.mikeh; - </sect2> - - <sect2 id="pgpkey-ghelmer"> - <title>&a.ghelmer;</title> - &pgpkey.ghelmer; - </sect2> - - <sect2 id="pgpkey-mux"> - <title>&a.mux;</title> - &pgpkey.mux; - </sect2> - - <sect2 id="pgpkey-mich"> - <title>&a.mich;</title> - &pgpkey.mich; - </sect2> - - <sect2 id="pgpkey-foxfair"> - <title>&a.foxfair;</title> - &pgpkey.foxfair; - </sect2> - - <sect2 id="pgpkey-jkh"> - <title>&a.jkh;</title> - &pgpkey.jkh; - </sect2> - - <sect2 id="pgpkey-trevor"> - <title>&a.trevor;</title> - &pgpkey.trevor; - </sect2> - - <sect2 id="pgpkey-phk"> - <title>&a.phk;</title> - &pgpkey.phk; - </sect2> - - <sect2 id="pgpkey-joe"> - <title>&a.joe;</title> - &pgpkey.joe; - </sect2> - - <sect2 id="pgpkey-vkashyap"> - <title>&a.vkashyap;</title> - &pgpkey.vkashyap; - </sect2> - - <sect2 id="pgpkey-kris"> - <title>&a.kris;</title> - &pgpkey.kris; - </sect2> - - <sect2 id="pgpkey-keramida"> - <title>&a.keramida;</title> - &pgpkey.keramida; - </sect2> - - <sect2 id="pgpkey-fjoe"> - <title>&a.fjoe;</title> - &pgpkey.fjoe; - </sect2> - - <sect2 id="pgpkey-andreas"> - <title>&a.andreas;</title> - &pgpkey.andreas; - </sect2> - - <sect2 id="pgpkey-sergei"> - <title>&a.sergei;</title> - &pgpkey.sergei; - </sect2> - - <sect2 id="pgpkey-maxim"> - <title>&a.maxim;</title> - &pgpkey.maxim; - </sect2> - - <sect2 id="pgpkey-jkoshy"> - <title>&a.jkoshy;</title> - &pgpkey.jkoshy; - </sect2> - - <sect2 id="pgpkey-rik"> - <title>&a.rik;</title> - &pgpkey.rik; - </sect2> - - <sect2 id="pgpkey-rushani"> - <title>&a.rushani;</title> - &pgpkey.rushani; - </sect2> - - <sect2 id="pgpkey-clement"> - <title>&a.clement;</title> - &pgpkey.clement; - </sect2> - - <sect2 id="pgpkey-mlaier"> - <title>&a.mlaier;</title> - &pgpkey.mlaier; - </sect2> - - <sect2 id="pgpkey-alex"> - <title>&a.alex;</title> - &pgpkey.alex; - </sect2> - - <sect2 id="pgpkey-erwin"> - <title>&a.erwin;</title> - &pgpkey.erwin; - </sect2> - - <sect2 id="pgpkey-leeym"> - <title>&a.leeym;</title> - &pgpkey.leeym; - </sect2> - - <sect2 id="pgpkey-netchild"> - <title>&a.netchild;</title> - &pgpkey.netchild; - </sect2> - - <sect2 id="pgpkey-glewis"> - <title>&a.glewis;</title> - &pgpkey.glewis; - </sect2> - - <sect2 id="pgpkey-lesi"> - <title>&a.lesi;</title> - &pgpkey.lesi; - </sect2> - - <sect2 id="pgpkey-ijliao"> - <title>&a.ijliao;</title> - &pgpkey.ijliao; - </sect2> - - <sect2 id="pgpkey-clive"> - <title>&a.clive;</title> - &pgpkey.clive; - </sect2> - - <sect2 id="pgpkey-clsung"> - <title>&a.clsung;</title> - &pgpkey.clsung; - </sect2> - - <sect2 id="pgpkey-arved"> - <title>&a.arved;</title> - &pgpkey.arved; - </sect2> - - <sect2 id="pgpkey-pav"> - <title>&a.pav;</title> - &pgpkey.pav; - </sect2> - - <sect2 id="pgpkey-bmah"> - <title>&a.bmah;</title> - &pgpkey.bmah; - </sect2> - - <sect2 id="pgpkey-mtm"> - <title>&a.mtm;</title> - &pgpkey.mtm; - </sect2> - - <sect2 id="pgpkey-dwmalone"> - <title>&a.dwmalone;</title> - &pgpkey.dwmalone; - </sect2> - - <sect2 id="pgpkey-matusita"> - <title>&a.matusita;</title> - &pgpkey.matusita; - </sect2> - - <sect2 id="pgpkey-ken"> - <title>&a.ken;</title> - &pgpkey.ken; - </sect2> - - <sect2 id="pgpkey-dinoex"> - <title>&a.dinoex;</title> - &pgpkey.dinoex; - </sect2> - - <sect2 id="pgpkey-sanpei"> - <title>&a.sanpei;</title> - &pgpkey.sanpei; - </sect2> - - <sect2 id="pgpkey-jim"> - <title>&a.jim;</title> - &pgpkey.jim; - </sect2> - - <sect2 id="pgpkey-marcel"> - <title>&a.marcel;</title> - &pgpkey.marcel; - </sect2> - - <sect2 id="pgpkey-marck"> - <title>&a.marck;</title> - &pgpkey.marck; - </sect2> - - <sect2 id="pgpkey-tmm"> - <title>&a.tmm;</title> - &pgpkey.tmm; - </sect2> - - <sect2 id="pgpkey-rich"> - <title>&a.rich;</title> - &pgpkey.rich; - </sect2> - - <sect2 id="pgpkey-knu"> - <title>&a.knu;</title> - &pgpkey.knu; - </sect2> - - <sect2 id="pgpkey-max"> - <title>&a.max;</title> - &pgpkey.max; - </sect2> - - <sect2 id="pgpkey-yoichi"> - <title>&a.yoichi;</title> - &pgpkey.yoichi; - </sect2> - - <sect2 id="pgpkey-bland"> - <title>&a.bland;</title> - &pgpkey.bland; - </sect2> - - <sect2 id="pgpkey-simon"> - <title>&a.simon;</title> - &pgpkey.simon; - </sect2> - - <sect2 id="pgpkey-anders"> - <title>&a.anders;</title> - &pgpkey.anders; - </sect2> - - <sect2 id="pgpkey-obrien"> - <title>&a.obrien;</title> - &pgpkey.obrien; - </sect2> - - <sect2 id="pgpkey-philip"> - <title>&a.philip;</title> - &pgpkey.philip; - </sect2> - - <sect2 id="pgpkey-hmp"> - <title>&a.hmp;</title> - &pgpkey.hmp; - </sect2> - - <sect2 id="pgpkey-mp"> - <title>&a.mp;</title> - &pgpkey.mp; - </sect2> - - <sect2 id="pgpkey-roam"> - <title>&a.roam;</title> - &pgpkey.roam; - </sect2> - - <sect2 id="pgpkey-den"> - <title>&a.den;</title> - &pgpkey.den; - </sect2> - - <sect2 id="pgpkey-pirzyk"> - <title>&a.pirzyk;</title> - &pgpkey.pirzyk; - </sect2> - - <sect2 id="pgpkey-jdp"> - <title>&a.jdp;</title> - &pgpkey.jdp; - </sect2> - - <sect2 id="pgpkey-krion"> - <title>&a.krion;</title> - &pgpkey.krion; - </sect2> - - <sect2 id="pgpkey-markp"> - <title>&a.markp;</title> - &pgpkey.markp; - </sect2> - - <sect2 id="pgpkey-thomas"> - <title>&a.thomas;</title> - &pgpkey.thomas; - </sect2> - - <sect2 id="pgpkey-hq"> - <title>&a.hq;</title> - &pgpkey.hq; - </sect2> - - <sect2 id="pgpkey-dfr"> - <title>&a.dfr;</title> - &pgpkey.dfr; - </sect2> - - <sect2 id="pgpkey-trhodes"> - <title>&a.trhodes;</title> - &pgpkey.trhodes; - </sect2> - - <sect2 id="pgpkey-benno"> - <title>&a.benno;</title> - &pgpkey.benno; - </sect2> - - <sect2 id="pgpkey-paul"> - <title>&a.paul;</title> - &pgpkey.paul; - </sect2> - - <sect2 id="pgpkey-roberto"> - <title>&a.roberto;</title> - &pgpkey.roberto; - </sect2> - - <sect2 id="pgpkey-guido"> - <title>&a.guido;</title> - &pgpkey.guido; - </sect2> - - <sect2 id="pgpkey-niklas"> - <title>&a.niklas;</title> - &pgpkey.niklas; - </sect2> - - <sect2 id="pgpkey-marks"> - <title>&a.marks;</title> - &pgpkey.marks; - </sect2> - - <sect2 id="pgpkey-hrs"> - <title>&a.hrs;</title> - &pgpkey.hrs; - </sect2> - - <sect2 id="pgpkey-wosch"> - <title>&a.wosch;</title> - &pgpkey.wosch; - </sect2> - - <sect2 id="pgpkey-das"> - <title>&a.das;</title> - &pgpkey.das; - </sect2> - - <sect2 id="pgpkey-schweikh"> - <title>&a.schweikh;</title> - &pgpkey.schweikh; - </sect2> - - <sect2 id="pgpkey-gshapiro"> - <title>&a.gshapiro;</title> - &pgpkey.gshapiro; - </sect2> - - <sect2 id="pgpkey-arun"> - <title>&a.arun;</title> - &pgpkey.arun; - </sect2> - - <sect2 id="pgpkey-vanilla"> - <title>&a.vanilla;</title> - &pgpkey.vanilla; - </sect2> - - <sect2 id="pgpkey-cshumway"> - <title>&a.cshumway;</title> - &pgpkey.cshumway; - </sect2> - - <sect2 id="pgpkey-demon"> - <title>&a.demon;</title> - &pgpkey.demon; - </sect2> - - <sect2 id="pgpkey-jesper"> - <title>&a.jesper;</title> - &pgpkey.jesper; - </sect2> - - <sect2 id="pgpkey-scop"> - <title>&a.scop;</title> - &pgpkey.scop; - </sect2> - - <sect2 id="pgpkey-glebius"> - <title>&a.glebius;</title> - &pgpkey.glebius; - </sect2> - - <sect2 id="pgpkey-kensmith"> - <title>&a.kensmith;</title> - &pgpkey.kensmith; - </sect2> - - <sect2 id="pgpkey-ben"> - <title>&a.ben;</title> - &pgpkey.ben; - </sect2> - - <sect2 id="pgpkey-des"> - <title>&a.des;</title> - &pgpkey.des; - </sect2> - - <sect2 id="pgpkey-sobomax"> - <title>&a.sobomax;</title> - &pgpkey.sobomax; - </sect2> - - <sect2 id="pgpkey-dcs"> - <title>&a.dcs;</title> - &pgpkey.dcs; - </sect2> - - <sect2 id="pgpkey-brian"> - <title>&a.brian;</title> - &pgpkey.brian; - </sect2> - - <sect2 id="pgpkey-nsouch"> - <title>&a.nsouch;</title> - &pgpkey.nsouch; - </sect2> - - <sect2 id="pgpkey-ssouhlal"> - <title>&a.ssouhlal;</title> - &pgpkey.ssouhlal; - </sect2> - - <sect2 id="pgpkey-vs"> - <title>&a.vs;</title> - &pgpkey.vs; - </sect2> - - <sect2 id="pgpkey-gsutter"> - <title>&a.gsutter;</title> - &pgpkey.gsutter; - </sect2> - - <sect2 id="pgpkey-metal"> - <title>&a.metal;</title> - &pgpkey.metal; - </sect2> - - <sect2 id="pgpkey-nyan"> - <title>&a.nyan;</title> - &pgpkey.nyan; - </sect2> - - <sect2 id="pgpkey-mi"> - <title>&a.mi;</title> - &pgpkey.mi; - </sect2> - - <sect2 id="pgpkey-gordon"> - <title>&a.gordon;</title> - &pgpkey.gordon; - </sect2> - - <sect2 id="pgpkey-lth"> - <title>&a.lth;</title> - &pgpkey.lth; - </sect2> - - <sect2 id="pgpkey-thierry"> - <title>&a.thierry;</title> - &pgpkey.thierry; - </sect2> - - <sect2 id="pgpkey-viny"> - <title>&a.viny;</title> - &pgpkey.viny; - </sect2> - - <sect2 id="pgpkey-nectar"> - <title>&a.nectar;</title> - &pgpkey.nectar; - </sect2> - - <sect2 id="pgpkey-adamw"> - <title>&a.adamw;</title> - &pgpkey.adamw; - </sect2> - - <sect2 id="pgpkey-nate"> - <title>&a.nate;</title> - &pgpkey.nate; - </sect2> - - <sect2 id="pgpkey-wollman"> - <title>&a.wollman;</title> - &pgpkey.wollman; - </sect2> - - <sect2 id="pgpkey-joerg"> - <title>&a.joerg;</title> - &pgpkey.joerg; - </sect2> - - <sect2 id="pgpkey-bz"> - <title>&a.bz;</title> - &pgpkey.bz; - </sect2> - - <sect2 id="pgpkey-phantom"> - <title>&a.phantom;</title> - &pgpkey.phantom; - </sect2> - </sect1> -</appendix> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../appendix.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "appendix") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/ports/Makefile b/it_IT.ISO8859-15/books/handbook/ports/Makefile deleted file mode 100644 index 2bdc9665c2..0000000000 --- a/it_IT.ISO8859-15/books/handbook/ports/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= ports/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml b/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml deleted file mode 100644 index 6674018f13..0000000000 --- a/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml +++ /dev/null @@ -1,1316 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.226 ---> - -<chapter id="ports"> - <title>Installazione delle Applicazioni: Port e Package</title> - - <sect1 id="ports-synopsis"> - <title>Sinossi</title> - - <indexterm><primary>port</primary></indexterm> - <indexterm><primary>package</primary></indexterm> - - <para>FreeBSD è distribuito con una ricca collezione di strumenti di - sistema come parte base del sistema. Comunque, c'è molto che si - può fare prima che sia necessario installare un'applicazione - aggiuntiva di terze parti. FreeBSD fornisce due tecnologie complementari - per installare software di terze parti sul tuo sistema: la FreeBSD Port - Collection, ed i packages contenenti i binari del software. Puoi usare - entrambi questi sistemi per installare l'ultima versione della tua - applicazione preferita dai dispositivi locali o direttamente dalla - rete.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come installare i package contenenti i binari delle applicazioni - di terze parti.</para> - </listitem> - - <listitem> - <para>Come compilare le applicazioni di terze parti dalla collezione dei - port.</para> - </listitem> - - <listitem> - <para>Come rimuovere i package o i port installati in precedenza.</para> - </listitem> - - <listitem> - <para>Come modificare i valori di default utilizzati dalla collezione - dei port.</para> - </listitem> - - <listitem> - <para>Come trovare un package specifico.</para> - </listitem> - - <listitem> - <para>Come aggiornare i tuoi port.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="ports-overview"> - <title>Uno Sguardo all'Installazione del Software</title> - - <para>Se hai già usato un sistema &unix; prima d'ora saprai che la - procedura tipica per installare software di terze parti è simile a - questa:</para> - - <procedure> - <step> - <para>Scaricare il software, che potrebbe essere distribuito sotto forma - di codice sorgente, o come binario.</para> - </step> - - <step> - <para>Scompattare il software dal suo formato di distribuzione - (tipicamente un tarball compresso con &man.compress.1;, &man.gzip.1;, - o con &man.bzip2.1;).</para> - </step> - - <step> - <para>Individuare la documentazione (probabilmente un file - <filename>INSTALL</filename> o un file <filename>README</filename>, - o qualche file nella sottodirectory <filename>doc/</filename>) e - leggere come installare il software.</para> - </step> - - <step> - <para>Se il software è stato distribuito sotto forma di sorgente, - compilarlo. Questa fase può coinvolgere la modifica di un - <filename>Makefile</filename>, oppure l'esecuzione di uno script - <command>configure</command>, e qualche altro lavoro.</para> - </step> - - <step> - <para>Installare e testare il software.</para> - </step> - </procedure> - - <para>E questo se tutto va bene. Se stai installando del software di cui - non è stato deliberatamente effettuato il porting in FreeBSD - potresti perfino dover modificare il codice per farlo funzionare - correttamente.</para> - - <para>Se vuoi, puoi continuare ad installare il software su FreeBSD nel modo - <quote>tradizionale</quote>. Comunque, FreeBSD fornisce due tecnologie - che possono farti risparmiare molti sforzi: i package e i port. Nel - momento in cui scrivo, sono disponibili più di &os.numports; - applicazioni di terze parti tramite questi due metodi.</para> - - <para>Per ogni applicazione, il package di FreeBSD per quella applicazione - consiste in un singolo file che devi scaricare. Il package contiene una - copia pre-compilata di tutti i comandi dell'applicazione, così - come i file di configurazione e di documentazione. Una volta scaricato il - package, questo può essere manipolato con i comandi di gestione - dei package di FreeBSD, come &man.pkg.add.1;, &man.pkg.delete.1;, - &man.pkg.info.1;, e così via. L'installazione di una nuova - applicazione può essere fatta con un singolo comando.</para> - - <para>In FreeBSD un port di un'applicazione è un insieme di file - predisposti per automatizzare il processo di compilazione - dell'applicazione partendo dal codice sorgente.</para> - - <para>Ricorda che ci sono molte fasi che normalmente devi eseguire se vuoi - compilare un programma autonomamente (scaricare, scompattare, correggere, - compilare, installare). I file che costituiscono un port contengono tutte - le informazioni necessarie per permettere al sistema di fare questo lavoro - al posto tuo. Tu esegui una manciata di semplici comandi e il codice - sorgente dell'applicazione viene automaticamente scaricato, estratto, - corretto, compilato, ed installato.</para> - - <para>Di fatto, il sistema dei port può anche essere usato per - generare package che possono essere successivamente manipolati - con <command>pkg_add</command> ed altri comandi di gestione dei package - che saranno presentati tra poco.</para> - - <para>Sia i package che i port comprendono il meccanismo delle - <emphasis>dipendenze</emphasis>. Supponiamo che tu voglia installare - un'applicazione che dipende da un specifica libreria. Sia l'applicazione - che la libreria sono disponibili in FreeBSD come port o come package. Se - usi il comando <command>pkg_add</command> o il sistema dei port per - installare l'applicazione, entrambi noteranno che la libreria non è - installata, e automaticamente la installeranno per prima.</para> - - <para>Dato che le due tecnologie sono abbastanza simili, probabilmente - vorrai sapere perché FreeBSD le usa entrambe. I package e i port - hanno i loro punti forte, e l'utilizzo dell'uno o dell'altro dipende dalle - proprie preferenze personali.</para> - - <itemizedlist> - <title>Benefici dei Package</title> - - <listitem> - <para>Il tarball compresso di un package è tipicamente più - piccolo del tarball compresso contenente il codice sorgente - della stessa applicazione.</para> - </listitem> - - <listitem> - <para>I package non richiedono alcuna compilazione aggiuntiva. Per - grandi applicazioni, come <application>Mozilla</application>, - <application>KDE</application>, oppure - <application>GNOME</application> questo può essere importante, - sopra tutto se usi un sistema lento.</para> - </listitem> - - <listitem> - <para>I package non richiedono la conoscenza del processo di - compilazione del software su FreeBSD.</para> - </listitem> - </itemizedlist> - - <itemizedlist> - <title>Benefici dei Port</title> - - <listitem> - <para>I package sono normalmente compilati con opzioni conservative, - poiché devono poter funzionare su un parco macchine il - più ampio possibile. Con l'installazione dai port, puoi - aggiustare le opzioni di compilazione per produrre (per esempio) del - codice che sia specifico per un Pentium IV o un processore - Athlon.</para> - </listitem> - - <listitem> - <para>Alcune applicazioni hanno delle opzioni attivabili al tempo di - compilazione che permettono di modificare il comportamento delle - applicazioni stesse. Per esempio, <application>Apache</application> - può essere configurato con un'ampia varietà di - differenti opzioni built-in. Effettuando la compilazione dal port non - sei costretto ad accettare le opzioni di default, e puoi settarle tu - stesso.</para> - - <para>In alcuni casi, ci possono essere più package per la stessa - applicazione a seconda dei settaggi ivi contenuti. Per esempio, - <application>Ghostscript</application> è disponibile come - package <filename>ghostscript</filename> e come package - <filename>ghostscript-nox11</filename>, a seconda che tu abbia o meno - installato un server X11. Questa sorta di adattamento è - possibile con i package, ma diviene impossibile nel caso in cui - un'applicazione ha più di una o due diverse opzioni che si - possono dare al tempo di compilazione.</para> - </listitem> - - <listitem> - <para>Le condizioni di licenza di alcune distribuzioni di software - proibiscono la distribuzione dei binari. Tali software devono essere - distribuiti come codice sorgente.</para> - </listitem> - - <listitem> - <para>Alcune persone non si fidano della distribuzione dei binari. - Con il codice sorgente, puoi (in teoria) controllare il codice e - cercare i suoi potenziali problemi.</para> - </listitem> - - <listitem> - <para>Se hai delle patch, hai bisogno del sorgente per - applicarle.</para> - </listitem> - - <listitem> - <para>Ad alcune persone piace avere il codice sorgente, in modo tale da - poterlo leggerlo se sono annoiati, hackerarlo, prenderne in prestito - delle parti (licenza permettendo, naturalmente), e così - via.</para> - </listitem> - </itemizedlist> - - <para>Per tenersi al corrente sugli aggiornamenti dei port, iscriviti alla - &a.ports; e alla &a.ports-bugs;.</para> - - <warning> - <para>Prima di installare qualche applicazione, dovresti verificare <ulink - url="http://vuxml.freebsd.org/"></ulink> per eventuali problemi di - sicurezza relativi alla tua applicazione.</para> - - <para>Inoltre puoi installare il port <filename - role="package">security/portaudit</filename> che verificherà - in modo automatico tutte le applicazioni installate a caccia di - vulnerabilità note, e verrà fatta una verifica anche - prima della compilazione dei port. Puoi usare il comando - <command>portaudit -F -a</command> dopo che hai installato qualche - package.</para> - </warning> - - <para>Il resto del capitolo spiegherà come usare i package ed i - port per installare e gestire il software di terze parti su - FreeBSD.</para> - </sect1> - - <sect1 id="ports-finding-applications"> - <title>Ricerca della Propria Applicazione</title> - - <para>Prima di poter installare delle applicazioni devi sapere - quale applicazione ti serve, e come viene chiamata.</para> - - <para>La lista delle applicazioni disponibili su FreeBSD cresce - continuamente. Fortunatamente, ci sono diversi sistemi per trovare - quello che ti serve:</para> - - <itemizedlist> - <listitem> - <para>Il sito web di FreeBSD mantiene all'indirizzo <ulink - url="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</ulink> - una lista aggiornata in cui puoi cercare tutte le applicazioni - correntemente disponibili. I port sono divisi in categorie, e puoi - sia cercare un'applicazione in base al nome (se lo conosci), sia - visionare tutte le applicazioni disponibili in una data - categoria.</para> - </listitem> - - <indexterm><primary>FreshPort</primary></indexterm> - - <listitem> - <para>Dan Langille mantiene FreshPort, all'indirizzo <ulink - url="http://www.FreshPorts.org/"></ulink>. - FreshPort segue in tempo reale i cambiamenti delle applicazioni - nell'albero dei port, permettendoti di <quote>controllare</quote> - uno o più port, e dandoti la possibilità di essere - avvisato tramite email quando questi vengono aggiornati.</para> - </listitem> - - <indexterm><primary>FreshMeat</primary></indexterm> - - <listitem> - <para>Se non conosci il nome dell'applicazione che desideri, prova ad - usare un sito come FreshMeat (<ulink - url="http://www.freshmeat.net/"></ulink>) - per trovare l'applicazione, quindi controlla sul sito di FreeBSD - per vedere se è già stato effettuato il porting.</para> - </listitem> - - <listitem> - <para>Se sei a conoscenza del nome esatto del port, ma non sai in - quale categoria esso sia, puoi usare il comando &man.whereis.1; - Semplicemente digita <command>whereis - <replaceable>file</replaceable></command>, dove - <replaceable>file</replaceable> è il programma che vuoi - installare. Se viene trovato sul tuo sistema, ti verrà - indicato dove si trova, in modo simile a quanto segue:</para> - - <screen>&prompt.root; <userinput>whereis lsof</userinput> -lsof: /usr/ports/sysutils/lsof</screen> - - <para>Questo ci dice che <command>lsof</command> (un'utility di - sistema) si trova nella directory - <filename>/usr/ports/sysutils/lsof</filename>.</para> - </listitem> - - <listitem> - <para>Un altro modo per trovare un determinato port è quello - di usare il meccanismo di ricerca contenuto nella collezione dei port. - Per usare questo servizio di ricerca, devi posizionarti nella - directory <filename>/usr/ports</filename>. Una volta in quella - directory, lancia <command>make search - name=<replaceable>nome-programma</replaceable></command> dove - <replaceable>nome-programma</replaceable> è il nome del - programma che vuoi cercare. Per esempio, se vuoi cercare - <command>lsof</command>:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make search name=lsof</userinput> -Port: lsof-4.56.4 -Path: /usr/ports/sysutils/lsof -Info: Elenca informazioni sui file aperti (simile a fstat(1)) -Maint: obrien@FreeBSD.org -Index: sysutils -B-deps: -R-deps:</screen> - - <para>La parte di output sulla quale devi porre particolare attenzione - è la riga <quote>Path:</quote>, che ti dice dove puoi trovare - il port. Le altre informazioni riportate non sono necessarie per - installare il port, e quindi non saranno trattate in questa - sede.</para> - - <para>Inoltre per una ricerca più complessa puoi usare - <command>make search key=<replaceable>stringa</replaceable></command> - dove <replaceable>stringa</replaceable> fa parte del testo da cercare. - Questo ricerca nei nomi dei port, nei commenti, nelle descrizioni e - nelle dipendenze e può essere usato per cercare port che si - riferiscono ad un argomento particolare anche se non conosci il nome - del programma che stai cercando.</para> - - <para>In entrambi i casi, la stringa di ricerca è - case-insensitive. La ricerca per <quote>LSOF</quote> produrrà - gli stessi risultati della ricerca per <quote>lsof</quote>.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="packages-using"> - <sect1info> - <authorgroup> - <author> - <firstname>Chern</firstname> - - <surname>Lee</surname> - - <contrib>Contributo di</contrib> - </author> - </authorgroup> - </sect1info> - - <title>Utilizzo del Sistema dei Package</title> - - <sect2> - <title>Installazione di un Package</title> - - <indexterm> - <primary>package</primary> - <secondary>installazione</secondary> - </indexterm> - - <indexterm><primary><command>pkg_add</command></primary></indexterm> - - <para>Puoi usare l'utility &man.pkg.add.1; per installare un package di - FreeBSD da un file locale o da un server sulla rete.</para> - - <example> - <title>Scaricare un Package Manualmente e Installarlo da Locale</title> - - <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput> -Connected to ftp2.FreeBSD.org. -220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. -331 Guest login ok, send your email address as password. -230- -230- This machine is in Vienna, VA, USA, hosted by Verio. -230- Questions? E-mail freebsd@vienna.verio.net. -230- -230- -230 Guest login ok, access restrictions apply. -Remote system type is UNIX. -Using binary mode to transfer files. -<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput> -250 CWD command successful. -<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput> -local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz -200 PORT command successful. -150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). -100% |**************************************************| 92375 00:00 ETA -226 Transfer complete. -92375 bytes received in 5.60 seconds (16.11 KB/s) -<prompt>ftp></prompt> <userinput>exit</userinput> -&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen> - </example> - - <para>Se non hai una raccolta di package locale (per esempio il - set dei CDROM di FreeBSD) allora probabilmente ti risulterà - più facile usare &man.pkg.add.1; con l'opzione - <option>-r</option>. In questo modo &man.pkg.add.1; determina - automaticamente la corretta release e il giusto formato dell'oggetto, - quindi scarica il package da un sito FTP e lo installa.</para> - - <indexterm><primary><command>pkg_add</command></primary></indexterm> - - <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen> - - <para>L'esempio qui sopra scarica il giusto package e lo installa senza - nessun ulteriore intervento. Se vuoi specificare un sito mirror dei - package di &os; alternativo, invece del sito di distibuzione principale, - devi settare la variabile <envar>PACKAGESITE</envar> come desiderato, - in modo tale da sovrascrivere i settaggi di default. &man.pkg.add.1; - usa &man.fetch.3; per scaricare i file, il quale rispetta varie - variabili d'ambiente, incluse <envar>FTP_PASSIVE_MODE</envar>, - <envar>FTP_PROXY</envar>, e <envar>FTP_PASSWORD</envar>. Puoi aver - bisogno di settarne qualcuna se la tua macchina è dietro un - firewall, o se utilizzi un proxy FTP/HTTP. Leggi &man.fetch.3; per la - lista completa. Nell'esempio precedente si può anche notare che - viene usato <literal>lsof</literal> al posto di - <literal>lsof-4.56.4</literal>. Quando viene usata la modalità - di prelevamento da remoto, il numero di versione del package non deve - essere specificato. &man.pkg.add.1; prenderà automaticamente - l'ultima versione dell'applicazione.</para> - - <note> - <para>&man.pkg.add.1; scaricherà la versione più recente - della tua applicazione solo se stai usando &os.current; o &os.stable;. - Se stai utilizzando una versione -RELEASE, allora verrà - scaricata la versione del package che è stato costruito per - la tua release. Tuttavia è possibile cambiare questo - comportamento modificando la variabile di ambiente - <envar>PACKAGESITE</envar> in modo opportuno.</para> - </note> - - <para>I file dei package sono distribuiti nel formato - <filename>.tgz</filename>. Puoi trovarli in <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>, - oppure sui CDROM della distribuzione di FreeBSD. Ogni CD contenuto - nel set dei quattro CD (e nel PowerPak, ecc.) contiene i package nella - directory <filename>/packages</filename>. La disposizione dei package - è simile a quella dell'albero <filename>/usr/ports</filename>. - Ogni categoria ha la propria directory, ed ogni package può - essere trovato dentro la directory <filename>All</filename>.</para> - - <para>La struttura delle directory del sistema dei package eguaglia - quella dei port; questi due sistemi lavorano l'uno con l'altro per - formare l'intero sistema dei package/port.</para> - </sect2> - - <sect2> - <title>Gestione dei Package</title> - - <indexterm> - <primary>package</primary> - <secondary>gestione</secondary> - </indexterm> - - <para>L'utility &man.pkg.info.1; elenca e descrive i vari package - installati.</para> - - <indexterm><primary><command>pkg_info</command></primary></indexterm> - - <screen>&prompt.root; <userinput>pkg_info</userinput> -cvsup-16.1 Un comune sistema di distribuzione dei file in rete ottimizzato per CVS -docbook-1.2 Meta-port delle varie versioni del DTD DocBook -...</screen> - - <para>L'utility &man.pkg.version.1; riassume le versioni di tutti i - package installati. Paragona le versioni dei package con le versioni - correnti trovate nell'albero dei port.</para> - - <indexterm><primary><command>pkg_version</command></primary></indexterm> - - <screen>&prompt.root; <userinput>pkg_version</userinput> -cvsup = -docbook = -...</screen> - - <para>I simboli nella seconda colonna indicano il risultato del confronto - tra la versione installata e quella disponibile in locale nell'albero - dei port.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Simbolo</entry> - - <entry>Significato</entry> - </row> - </thead> - - <tbody> - <row> - <entry>=</entry> - - <entry>Le versioni del package installato e di quello disponibile - in locale nell'albero dei port sono uguali.</entry> - </row> - - <row> - <entry><</entry> - - <entry>La versione installata è precedente a quella - disponibile nell'albero dei port.</entry> - </row> - - <row> - <entry>></entry> - - <entry>La versione installata è più aggiornata di - quella trovata in locale nell'albero dei port. (L'albero - dei port locale è probabilmente da aggiornare)</entry> - </row> - - <row> - <entry>?</entry> - - <entry>Il package installato non può essere trovato - nell'indice dei port. (Questo può succedere, per esempio, - se un port installato viene rimosso dalla collezione dei port - oppure viene rinominato.)</entry> - </row> - - <row> - <entry>*</entry> - - <entry>Ci sono più versioni del package.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2> - <title>Cancellazione di un Package</title> - - <indexterm><primary><command>pkg_delete</command></primary></indexterm> - <indexterm> - <primary>package</primary> - <secondary>cancellare</secondary> - </indexterm> - - <para>Per rimuovere un package installato in precedenza, usa l'utility - &man.pkg.delete.1;.</para> - - <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen> - </sect2> - - <sect2> - <title>Miscellanea</title> - - <para>Tutte le informazioni sui package sono memorizzate nella - directory <filename>/var/db/pkg</filename>. La lista dei file - installati e le descrizioni di ogni package possono essere trovate - all'interno dei file di questa directory.</para> - </sect2> - </sect1> - - <sect1 id="ports-using"> - <title>Utilizzo della Collezione dei Port</title> - - <para>Le sezioni seguenti forniscono le istruzioni basilari sull'uso della - collezione dei port per installare e rimuovere programmi dal tuo - sistema.</para> - - <sect2 id="ports-tree"> - <title>Ottenimento della Collezione dei Port</title> - - <para>Prima che tu possa installare i port, devi procurarti la collezione - dei port—che essenzialmente è un set di - <filename>Makefiles</filename>, patch, e file di descrizione collocati - in <filename>/usr/ports</filename>.</para> - - <para>Durante l'installazione del tuo sistema FreeBSD, - <application>sysinstall</application> ti ha chiesto se volevi installare - la collezione dei port. Se hai rifiutato, puoi seguire queste - istruzioni per ottenerla:</para> - - <procedure> - <title>Il Metodo Sysinstall</title> - - <para>Questo metodo richiede ancora l'uso di - <application>sysinstall</application> per installare - manualmente la collezione dei port.</para> - - <step> - <para>Esegui da <username>root</username> - <command>/stand/sysinstall</command> come mostrato qui sotto:</para> - - <screen>&prompt.root; <userinput>/stand/sysinstall</userinput></screen> - </step> - - <step> - <para>Scorri verso il basso e seleziona - <guimenuitem>Configure</guimenuitem>, premi - <keycap>Invio</keycap>.</para> - </step> - - <step> - <para>Scorri verso il basso e seleziona - <guimenuitem>Distributions</guimenuitem>, premi - <keycap>Invio</keycap>.</para> - </step> - - <step> - <para>Scorri verso il basso fino a <guimenuitem>ports</guimenuitem>, - premi <keycap>Spazio</keycap>.</para> - </step> - - <step> - <para>Scorri verso l'alto fino a <guimenuitem>Exit</guimenuitem>, - premi <keycap>Invio</keycap>.</para> - </step> - - <step> - <para>Seleziona il modo di installazione desiderato, come CDROM, - FTP, e così via.</para> - </step> - - <step> - <para>Scorri verso l'alto fino a <guimenuitem>Exit</guimenuitem> e - premi <keycap>Invio</keycap>.</para> - </step> - - <step> - <para>Premi <keycap>X</keycap> per uscire da - <application>sysinstall</application>.</para> - </step> - </procedure> - - <para>Un altro metodo per ottenere la tua collezione dei port e per - mantenerla aggiornata consiste nell'utilizzo di - <application>CVSup</application>. Dai un'occhiata al file di - <application>CVSup</application> riguardante i port, - <filename>/usr/share/examples/cvsup/ports-supfile</filename>. - Guarda <link linkend="cvsup">Usare CVSup</link> (<xref - linkend="cvsup">) per maggiori informazioni sull'uso di - <application>CVSup</application> e del file menzionato.</para> - - <procedure> - <title>Il Metodo CVSup</title> - - <para>Questo è un rapido metodo che utilizza - <application>CVSup</application> per ottenere la collezione dei - port. Se vuoi mantenere il tuo albero dei port aggiornato, o imparare - di più su <application>CVSup</application>, leggi la sezione - menzionata in precedenza.</para> - - <step> - <para>Installa il port <filename role="package">net/cvsup</filename>. - Guarda <link linkend="cvsup-install">Installazione di CVSup</link> - (<xref linkend="cvsup-install">) per maggiori dettagli.</para> - </step> - - <step> - <para>Da <username>root</username>, copia il file - <filename>/usr/share/examples/cvsup/ports-supfile</filename> - in un nuovo posto, come in <filename>/root</filename> o nella tua - directory home.</para> - </step> - - <step> - <para>Edita <filename>ports-supfile</filename>.</para> - </step> - - <step> - <para>Cambia <replaceable>CHANGE_THIS.FreeBSD.org</replaceable> in un - server <application>CVSup</application> vicino a te. Guarda <link - linkend="cvsup-mirrors">Mirror CVSup</link> (<xref - linkend="cvsup-mirrors">) per una lista completa dei siti - mirror.</para> - </step> - - <step> - <para>Esegui <command>cvsup</command>:</para> - - <screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen> - </step> - - <step> - <para>Poco dopo aver eseguito questo comando verranno scaricate - e applicate alla tua collezione dei port tutte le modifiche - recenti, anche se di fatto i port già compilati sul tuo - sistema non verranno aggiornati.</para> - </step> - </procedure> - </sect2> - - <sect2 id="ports-skeleton"> - <title>Installazione dei Port</title> - - <indexterm> - <primary>port</primary> - <secondary>installazione</secondary> - </indexterm> - - <para>La prima cosa che dovrebbe essere chiara quando si ha a che fare con - la collezione dei port è l'effettivo significato di - <quote>scheletro</quote> di un port. Brevemente, lo scheletro di un - port è un insieme minimo di file che dice al tuo sistema FreeBSD - come compilare ed installare un programma in modo pulito. Ogni - scheletro di un port include:</para> - - <itemizedlist> - <listitem> - <para>Un <filename>Makefile</filename>. Il - <filename>Makefile</filename> contiene varie espressioni che - specificano come l'applicazione deve essere compilata e dove - deve essere installata sul tuo sistema.</para> - </listitem> - - <listitem> - <para>Un file <filename>distinfo</filename>. Questo file contiene - informazioni sui file che devono essere scaricati per la - compilazione del port e sui loro checksum (somme di controllo), - utilizzati per verificare che quei file non siano stati corrotti - durante il download.</para> - </listitem> - - <listitem> - <para>Una directory <filename>files</filename>. Questa directory - contiene le patch utilizzate per la compilazione e per - l'installazione del programma sul tuo sistema FreeBSD. Le patch - sono sostanzialmente piccoli file che specificano come modificare - alcuni file. Sono in puro formato di testo, e in modo grossolano - dicono <quote>Rimuovi la riga 10</quote> o - <quote>Cambia la riga 26 in ...</quote>. Le patch sono anche - conosciute con il termine <quote>diff</quote> poichè sono - generate dal programma &man.diff.1;.</para> - - <para>Questa directory può anche contenere altri file - utilizzati per la costruzione del port.</para> - </listitem> - - <listitem> - <para>Un file <filename>pkg-descr</filename>. Questo file contiene - una descrizione del programma più dettagliata, spesso su - più righe di testo.</para> - </listitem> - - <listitem> - <para>Un file <filename>pkg-plist</filename>. Questo file contiene - l'elenco di tutti i file che saranno installati dal port. - Dice anche al sistema dei port quale file rimuovere durante la - disinstallazione.</para> - </listitem> - </itemizedlist> - - <para>Alcuni port hanno altri file, come - <filename>pkg-message</filename>. Il sistema dei port li usa - per affrontare speciali situazioni. Se vuoi maggiori dettagli - su questi file, e sui port in generale, leggi attentamente il - <ulink url="&url.books.porters-handbook;/index.html">Manuale del Porter - di FreeBSD</ulink>.</para> - - <para>Il port include istruzioni su come compilare il codice sorgente, - ma non include il codice sorgente stesso. Devi prendere il codice - sorgente da un CDROM o da Internet. L'autore del codice sorgente - può distribuirlo come desidera. Quasi sempre è un file - di archivio tar compresso con gzip, ma potrebbe essere stato compresso - con un altro tool o perfino potrebbe essere non compresso. Il codice - sorgente del programma, in qualsiasi forma sia, è chiamato con - il termine <quote>distfile</quote>. I due metodi per installare un - port di &os; sono descritti qui sotto.</para> - - <note> - <para>Devi essere <username>root</username> per installare i - port.</para> - </note> - - <warning> - <para>Prima di installare qualche port, dovresti assicurarti di avere - l'albero della collezione dei port aggiornato e dovresti verificare - <ulink - url="http://vuxml.freebsd.org/"></ulink> per eventuali problemi di - sicurezza relativi alla tua applicazione.</para> - - <para>Una verifica delle vulnerabilità di sicurezza può - essere fatta in modo automatico con - <application>portaudit</application> prima dell'installazione di nuove - aplicazioni. Questo strumento può essere trovato nella - collezione dei port (<filename - role="package">security/portaudit</filename>). Esegui - <command>portaudit -F</command> prima di installare un nuovo port, - per aggiornare la base di dati delle vulnerabilità. Durante - la verifica giornaliera del sistema verrà fatto un controllo - di integrità e un aggiornamento della base di dati delle - vulnerabilità. Per maggiori informazioni leggi le pagine man - &man.portaudit.1; e &man.periodic.8;.</para> - </warning> - - <sect3 id="ports-cd"> - <title>Installazione dei Port dal CDROM</title> - - <indexterm> - <primary>port</primary> - <secondary>installazione da CDROM</secondary> - </indexterm> - - <para>Le immagini ufficiali su CDROM del progetto FreeBSD non - includono più i distfile. Occupano molto spazio che è - meglio utilizzato per i package precompilati. I prodotti su CDROM - come il FreeBSD PowerPak includono i distfile, e puoi ordinare questi - set da un venditore come <ulink - url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>. - Questa sezione presuppone che tu abbia un simile set di CDROM di - FreeBSD.</para> - - <para>Metti il tuo CDROM di FreeBSD nell'apposito lettore. Montalo - su <filename>/cdrom</filename>. (Se usi un punto di mount differente, - l'installazione non funzionerà.) Per prima cosa, vai nella - directory del port che vuoi installare:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen> - - <para>Una volta dentro la directory <filename>lsof</filename>, - vedrai lo scheletro del port. Il prossimo passo riguarda la - compilazione, o <quote>costruzione</quote>, del port. Questo viene - fatto semplicemente digitando <command>make</command> al prompt. Una - volta che hai fatto questo, dovresti vedere qualcosa simile a quanto - segue:</para> - - <screen>&prompt.root; <userinput>make</userinput> ->> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. ->> Attempting to fetch from file:/cdrom/ports/distfiles/. -===> Extracting for lsof-4.57 -... -[l'output dell'estrazione è stato tagliato] -... ->> Checksum OK for lsof_4.57D.freebsd.tar.gz. -===> Patching for lsof-4.57 -===> Applying FreeBSD patches for lsof-4.57 -===> Configuring for lsof-4.57 -... -[l'output della configurazione è stato tagliato] -... -===> Building for lsof-4.57 -... -[l'output della compilazione è stato tagliato] -... -&prompt.root;</screen> - - <para>Nota che una volta terminata la compilazione ritornerai al tuo - prompt. Il prossimo passo riguarda l'installazione del - port. Per installarlo, devi semplicemente affiancare una parola al - comando <command>make</command>, e questa parola è - <command>install</command>:</para> - - <screen>&prompt.root; <userinput>make install</userinput> -===> Installing for lsof-4.57 -... -[l'output dell'installazione è stato tagliato] -... -===> Generating temporary packing list -===> Compressing manual pages for lsof-4.57 -===> Registering installation for lsof-4.57 -===> SECURITY NOTE: - I binari di questo port richiedono l'esecuzione con alti privilegi. -&prompt.root;</screen> - - <para>Quando ritornerai al tuo prompt, dovresti essere in grado di - eseguire l'applicazione che hai appena installato. Siccome - <command>lsof</command> è un programma che lavora con alti - privilegi, viene mostrato un avvertimento di sicurezza. Durante la - compilazione e l'installazione dei port, dovresti fare attenzione ad - ogni avvertimento che appare.</para> - - <note> - <para>Potresti anche evitare un passaggio lanciando solamente - <command>make install</command> invece dei due passi separati - <command>make</command> e <command>make install</command>.</para> - </note> - - <note> - <para>Alcune shell mantengono una cache dei comandi che sono - disponibili nelle directory elencate nella variabile d'ambiente - <envar>PATH</envar>, per velocizzare le operazioni di ricerca dei - file eseguibili di questi comandi. Se stai usando una di queste - shell, potresti dover usare il comando <command>rehash</command> - dopo l'installazione di un port, prima di poter usare il nuovo - comando. Questo succede sia per le shell che fanno parte del - sistema base (come <command>tcsh</command>) sia per le shell - che sono disponibili dai port (per esempio, - <filename role="package">shells/zsh</filename>).</para> - </note> - - <note> - <para>Per cortesia sii consapevole che le licenze di alcuni port non - permettono l'inclusione degli stessi sul CDROM. Questa limitazione - potrebbe essere dovuta dalla necessità di compilare un form - di registrazione prima di scaricare il software, o perché la - ridistribuzione non è permessa, o per altre ragioni. Se - desideri installare un port non incluso nel CDROM, dovrai essere - collegato ad Internet per farlo (vedi la <link - linkend="ports-inet">prossima sezione</link>).</para> - </note> - </sect3> - - <sect3 id="ports-inet"> - <title>Installazione dei Port da Internet</title> - - <para>Questa sezione presuppone che tu abbia una connessione ad Internet - funzionante. Se non ce l'hai, dovrai utilizzare <link - linkend="ports-cd">l'installazione da CDROM</link>, oppure dovrai - copiare manualmente il distfile in - <filename>/usr/ports/distfiles</filename>.</para> - - <para>L'installazione di un port da Internet viene fatta nello stesso - modo con cui viene fatta l'installazione da CDROM. L'unica differenza - tra i due modi è che il distfile del port viene preso da - Internet invece che dal CDROM.</para> - - <para>I passi richiesti sono gli stessi:</para> - - <screen>&prompt.root; <userinput>make install</userinput> ->> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. ->> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/. -Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% -439860 bytes transferred in 18.0 seconds (23.90 kBps) -===> Extracting for lsof-4.57 -... -[l'output dell'estrazione è stato tagliato] -... ->> Checksum OK for lsof_4.57D.freebsd.tar.gz. -===> Patching for lsof-4.57 -===> Applying FreeBSD patches for lsof-4.57 -===> Configuring for lsof-4.57 -... -[l'output della configurazione è stato tagliato] -... -===> Building for lsof-4.57 -... -[l'output della compilazione è stato tagliato] -... -===> Installing for lsof-4.57 -... -[l'output dell'installazione è stato tagliato] -... -===> Generating temporary packing list -===> Compressing manual pages for lsof-4.57 -===> Registering installation for lsof-4.57 -===> SECURITY NOTE: - I binari di questo port richiedono l'esecuzione con alti privilegi. -&prompt.root;</screen> - - <para>Come puoi vedere, la sola differenza sta nella riga che dice - da dove il sistema sta ottenendo il distfile del port.</para> - - <para>Il sistema dei port usa &man.fetch.1; per scaricare i file, - il quale rispetta varie variabili d'ambiente, incluse - <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, - e <envar>FTP_PASSWORD</envar>. Puoi aver bisogno di settarne - qualcuna se sei dietro a un firewall, o se usi un proxy FTP/HTTP. - Guarda &man.fetch.3; per la lista completa.</para> - - <para>Gli utenti che non possono essere sempre connessi ad Internet - possono usare l'opzione <command>make - <maketarget>fetch</maketarget></command>. Esegui tale comando in - cima alla directory (<filename>/usr/ports</filename>) e i file - richiesti saranno scaricati. Questo comando funziona anche nelle - categorie di livello inferiore, per esempio: - <filename>/usr/ports/net</filename>. Nota che se un port dipende - da una libreria o da altri port, quel comando <emphasis>non</emphasis> - preleverà anche i distfile di questi port. Sostituisci - <maketarget>fetch</maketarget> con - <maketarget>fetch-recursive</maketarget> se vuoi prelevare anche - tutte le dipendenze di un port.</para> - - <note> - <para>Puoi compilare tutti i port di una categoria o perfino tutti - i port eseguendo <command>make</command> in cima alla directory, - in modo simile a quanto fatto per il suddetto metodo <command>make - <makevar>fetch</makevar></command>. Comunque, questo è - rischioso poichè alcuni port non possono coesistere. Inoltre, - alcuni port potrebbero richiedere di installare due diversi file con - lo stesso nome.</para> - </note> - - <para>In alcuni casi rari, gli utenti potrebbero voler acquisire i - tarball da un sito diverso dal <makevar>MASTER_SITES</makevar> - (la locazione di default dove i file sono scaricati). Puoi - sovrascrivere l'opzione <makevar>MASTER_SITES</makevar> con il comando - seguente:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> -&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ -ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> - - <para>In questo esempio abbiamo settato <makevar>MASTER_SITES</makevar> - a <hostid - role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para> - - <note> - <para>Alcuni port permettono (o perfino richiedono) l'impostazione - di alcune opzioni di compilazione che abilitano/disabilitano parti - dell'applicazione opzionali, settaggi di sicurezza, e altre - personalizzazioni. Alcune applicazioni che mi vengono in mente sono - <filename role="package">www/mozilla</filename>, <filename - role="package">security/gpgme</filename>, e <filename - role="package">mail/sylpheed-claws</filename>. Quando sono - disponibili simili opzioni viene visualizzato un - messaggio.</para> - </note> - </sect3> - - <sect3> - <title>Cambiare le Directory dei Port di Default</title> - - <para>Qualche volta è utile (o necessario) utilizzare - directory per i distfile e i port diverse da quelle di default. Le - variabili <makevar>PORTSDIR</makevar> e <makevar>PREFIX</makevar> - possono sovrascrivere le directory di default. Per esempio:</para> - - <screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen> - - <para>compilerà il port in - <filename>/usr/home/example/ports</filename> e installerà ogni - cosa sotto <filename>/usr/local</filename>.</para> - - <screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen> - - <para>compilerà in <filename>/usr/ports</filename> ed - installerà in - <filename>/usr/home/example/local</filename>.</para> - - <para>E naturalmente,</para> - - <screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen> - - <para>è una combinazione dei due (è troppo lungo da - scrivere per intero su questa pagina, ma dovrebbe darti lo stesso - un'idea generale).</para> - - <para>Alternativamente, queste variabili potrebbero essere settate nel - tuo ambiente. Leggi la pagina man della tua shell per sapere come - fare.</para> - </sect3> - - <sect3> - <title>Avere a che Fare con <command>imake</command></title> - - <para>Alcuni port che usano <command>imake</command> (una parte dell'X - Window System) non funzionano bene con - <makevar>PREFIX</makevar>, e si ostinano ad installarsi sotto - <filename>/usr/X11R6</filename>. In modo analogo, alcuni port di Perl - ignorano <makevar>PREFIX</makevar> e si installano nell'albero del - Perl. Far rispettare a questi port <makevar>PREFIX</makevar> è - spesso un lavoro difficile o persino impossibile.</para> - </sect3> - </sect2> - - <sect2 id="ports-removing"> - <title>Rimozione dei Port Installati</title> - - <indexterm> - <primary>port</primary> - <secondary>rimozione</secondary> - </indexterm> - - <para>Ora che sai come installare i port, probabilmente ti chiederai come - rimuoverli, caso mai ne installassi uno e successivamente ti accorgessi - che hai installato il port sbagliato. Rimuoveremo il port utilizzato - nel nostro esempio precedente (che era <command>lsof</command> se non - sei stato attento). Come con l'installazione dei port, la prima cosa - che devi fare è andare nella directory del port, - <filename>/usr/ports/sysutils/lsof</filename>. Dopo aver cambiato - directory, sei pronto per disinstallare <command>lsof</command>. - Questo viene fatto con il comando - <command>make deinstall</command>:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput> -&prompt.root; <userinput>make deinstall</userinput> -===> Deinstalling for lsof-4.57</screen> - - <para>È stato abbastanza facile. In questo modo hai rimosso - <command>lsof</command> dal tuo sistema. Se volessi reinstallarlo, puoi - farlo lanciando <command>make reinstall</command> dalla directory - <filename>/usr/ports/sysutils/lsof</filename>.</para> - - <para>Le sequenze <command>make deinstall</command> e <command>make - reinstall</command> non funzionano più una volta che hai dato - un <command>make clean</command>. Se vuoi disinstallare un port dopo un - <command>make clean</command>, usa &man.pkg.delete.1; come - discusso nella <link linkend="packages-using">sezione del Manuale - riguardante i Package</link>.</para> - </sect2> - - <sect2 id="ports-disk-space"> - <title>Port e Spazio su Disco</title> - - <indexterm> - <primary>port</primary> - <secondary>spazio su disco</secondary> - </indexterm> - - <para>Usando la collezione dei port puoi facilmente esaurire lo spazio del - tuo disco. Per questa ragione dovresti sempre ricordarti di ripulire - le directory di lavoro dei port usando l'opzione <command>make - <makevar>clean</makevar></command>. Questo rimuoverà la - directory <filename>work</filename> usata per la compilazione ed - l'installazione del port. Inoltre puoi rimuovere i file tar dalla - directory <filename>distfiles</filename>, e rimuovere i port installati - che non sono più utilizzati.</para> - - <para>Alcuni utenti limitano le categorie dei port mettendo un elemento - nel file <filename>refuse</filename>. In questo modo, quando viene - eseguita l'applicazione <application>CVSup</application>, questa non - scaricherà i file delle categorie specificate nel file - <filename>refuse</filename>.</para> - </sect2> - - <sect2 id="ports-upgrading"> - <title>Aggiornamento dei Port</title> - - <indexterm> - <primary>portupgrade</primary> - </indexterm> - - <indexterm> - <primary>port</primary> - <secondary>aggiornamento</secondary> - </indexterm> - - <note> - <para>Dopo che hai aggiornato la tua collezione dei port, prima di - tentare di aggiornare un port, dovresti verificare il file - <filename>/usr/ports/UPDATING</filename>. Questo file riporta alcuni - problemi che gli utenti potrebbero incontrare durante l'aggiornamento - di un port con le relative soluzioni.</para> - </note> - - <para>Mantenere i tuoi port aggiornati può essere un lavoro noioso. - Per esempio, per aggiornare dovresti andare nella directory del port, - compilare il port, disinstallare il vecchio port, installare quello - nuovo, e quindi ripulire la directory di lavoro. Immagina di fare - tutto ciò per cinque port, noioso vero? Questo era uno dei - maggiori problemi per gli amministratori di sistema, e ora abbiamo - strumenti che fanno questo lavoro per noi. Per esempio l'utility - <filename role="package">sysutils/portupgrade</filename> fa tutto - questo! Installalo come qualsiasi altro port, usando il comando - <command>make <makevar>install clean</makevar></command>.</para> - - <para>Ora crea un database con il comando <command>pkgdb -F</command>. - Verrà letta la lista dei port installati e verrà creato - un file database nella directory <filename>/var/db/pkg</filename>. - D'ora in avanti, quando esegui <command>portupgrade -a</command>, questo - leggerà il database e il file dei port - <filename>INDEX</filename>. Infine, - <application>portupgrade</application> incomincerà a scaricare, - compilare, effettuare backup, installare, e ripulire i port che devono - essere aggiornati. <application>portupgrade</application> è - fornito di molte opzioni a seconda dei casi di utilizzo, tra i quali - uno è particolarmente importante.</para> - - <para>Se vuoi aggiornare solo una determinata applicazione, e non il - database completo, usa <command>portupgrade - <replaceable>pkgname</replaceable></command>, con l'opzione - <option>-r</option> se <application>portupgrade</application> dovrebbe - agire anche su tutti i package che dipendono dal dato package, o con - l'opzione <option>-R</option> per agire su tutti i package richiesti - dal dato package. Se vuoi usare i package invece dei port per - l'installazione, usa l'opzione <option>-P</option> e se vuoi scaricare - solo i distfile senza compilare o installare nulla, allora usa l'opzione - <option>-F</option>. Per maggiori informazioni guarda la pagina man di - &man.portupgrade.1;.</para> - - <note> - <para>È importante aggiornare in modo regolare il database dei - package usando il comando <command>pkgdb -F</command> per rattoppare - eventuali incoerenze, specialmente quando - <application>portupgrade</application> te lo chiede. Non interrompere - <application>portupgrade</application> mentre sta aggiornando il - database dei package, poichè ciò comporterà - un database inconsistente.</para> - </note> - - <para>Esistono altre utility che fanno simili lavori, controlla la - directory <filename>ports/sysutils</filename> e guarda se ti viene - qualche idea.</para> - </sect2> - </sect1> - - <sect1 id="ports-nextsteps"> - <title>Attività del Dopo Installazione</title> - - <para>Di solito dopo aver installato una nuova applicazione dovresti - leggere la documentazione che potrebbe essere stata inclusa, modificare - qualche file di configurazione, assicurarti che l'applicazione parta nella - fase di avvio (se è un demone), e così via;.</para> - - <para>I passi precisi che devi seguire per configurare un'applicazione - sono ovviamente diversi da applicazione a applicazione. Comunque, se hai - appena installato una nuova applicazione e ti stai chiedendo - <quote>Cosa faccio ora?</quote> questi consigli potrebbero - aiutarti:</para> - - <itemizedlist> - <listitem> - <para>Usa &man.pkg.info.1; per scoprire quali file sono stati - installati, e dove sono stati installati. Per esempio, se hai appena - installato la versione 1.0.0 di FooPackage, allora questo - comando</para> - - <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen> - - <para>mostrerà tutti i file installati dal package. Fai molta - attenzione ai file nelle directory <filename>man/</filename>, che - sono le pagine man, a quelli nella directory - <filename>etc/</filename>, che sono i file di configurazione, e a - quelli in <filename>doc/</filename>, che forniscono una documentazione - più esauriente.</para> - - <para>Se non sei sicuro della versione dell'applicazione che hai appena - installato, questo comando</para> - - <screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen> - - <para>troverà tutti i package installati che contengono nel nome - <replaceable>foopackage</replaceable>. Rimpiazza - <replaceable>foopackage</replaceable> nella tua riga di comando a - seconda delle tue necessità.</para> - </listitem> - - <listitem> - <para>Una volta che hai scoperto dove sono state posizionate le pagine - man dell'applicazione, esaminale usando &man.man.1;. Analogamente, - esamina i file di configurazione d'esempio, ed ogni ulteriore - documentazione che può essere stata fornita.</para> - </listitem> - - <listitem> - <para>Se l'applicazione ha un sito web, cerca della documentazione - aggiuntiva, le domande più frequenti (FAQ), ed altro ancora. - Se non sei sicuro dell'indirizzo del sito web questo potrebbe essere - presente nell'output di</para> - - <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen> - - <para>Una riga contenete <literal>WWW:</literal>, se presente, dovrebbe - fornire l'URL del sito dell'applicazione.</para> - </listitem> - - <listitem> - <para>I port che dovrebbero avviarsi in fase di avvio (come i server - Internet) di solito installano uno script di esempio in - <filename>/usr/local/etc/rc.d</filename>. Dovresti verificare questo - script ed eventualmente modificarlo o rinominarlo. Vedi la sezione - <link linkend="configtuning-starting-services">Avvio dei - Servizi</link> per maggiori informazioni.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="ports-broken"> - <title>Avere a che Fare con Port non Funzionanti</title> - - <para>Se ti dovessi imbattere in un port che per te non funziona, ci - sono alcune cose che puoi fare, tra le quali:</para> - - <orderedlist> - <listitem> - <para>Aggiustarlo! Il <ulink - url="&url.books.porters-handbook;/index.html">Manuale del - Porter</ulink> contiene informazioni dettagliate - sull'infrastruttura dei <quote>Ports</quote> affinchè - tu possa aggiustare quel port che occasionalmente non funziona o - perfino proporne uno tutto tuo!</para> - </listitem> - - <listitem> - <para>Brontolare—<emphasis>solo attraverso email</emphasis>! - Prima manda una email a colui che mantiene il port. - Digita <command>make maintainer</command> o leggi il - <filename>Makefile</filename> per trovare il suo indirizzo email. - Ricorda di includere nel messaggio il nome e la versione del port - (manda la riga <literal>$FreeBSD:</literal> del - <filename>Makefile</filename>) e l'output che descrive - l'errore. Se non ottieni risposta dal maintainer, puoi usare - &man.send-pr.1; per inoltrare il report del bug.</para> - </listitem> - - <listitem> - <para>Prendi il package da un sito FTP vicino a te. La - <quote>principale</quote> collezione dei package è su <hostid - role="fqdn">ftp.FreeBSD.org</hostid> nella <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">directory - dei package</ulink>, ma <emphasis>prima</emphasis> assicurati di - controllare il tuo mirror locale! È più probabile - che funzionino i package rispetto alla compilazione dal sorgente e - sono anche molto più sbrigativi. Usa il programma - &man.pkg.add.1; per installare i package sul tuo sistema.</para> - </listitem> - </orderedlist> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/ppp-and-slip/Makefile b/it_IT.ISO8859-15/books/handbook/ppp-and-slip/Makefile deleted file mode 100644 index 04846f53a0..0000000000 --- a/it_IT.ISO8859-15/books/handbook/ppp-and-slip/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= ppp-and-slip/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/ppp-and-slip/chapter.sgml b/it_IT.ISO8859-15/books/handbook/ppp-and-slip/chapter.sgml deleted file mode 100644 index 2d0a8b7460..0000000000 --- a/it_IT.ISO8859-15/books/handbook/ppp-and-slip/chapter.sgml +++ /dev/null @@ -1,56 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="ppp-and-slip"> - <title>PPP e SLIP</title> - - <sect1> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="userppp"> - <title>Using User PPP</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="ppp"> - <title>Using Kernel PPP</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="pppoe"> - <title>Using <application>PPP</application> over Ethernet (PPPoE)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="pppoa"> - <title>Using <application>PPP</application> over ATM (PPPoA)</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="slip"> - <title>Using SLIP</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/preface/preface.sgml b/it_IT.ISO8859-15/books/handbook/preface/preface.sgml deleted file mode 100644 index 71b4e66b9f..0000000000 --- a/it_IT.ISO8859-15/books/handbook/preface/preface.sgml +++ /dev/null @@ -1,589 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.24+ ---> - -<preface id="book-preface"> - <title>Prefazione</title> - - <bridgehead id="preface-audience" renderas="sect1">A chi si - rivolge</bridgehead> - - <para>Gli utenti alla prime armi con FreeBSD scopriranno che la prima sezione - di questo libro guida l'utente attraverso il processo di installazione di - FreeBSD e introduce delicatamente i concetti e le convenzioni su cui si basa - &unix;. Affrontare questa sezione richiede poco più che il desiderio - di esplorare, e l'abilità di far propri i nuovi concetti appena - vengono introdotti.</para> - - <para>Una volta superata questa distanza, la seconda sezione, ben più - grande, del Manuale è una guida di riferimento completa a tutti i - tipi di argomenti di interesse per l'amministratore di un sistema FreeBSD. - Alcuni di questi capitoli suggeriscono di effettuare prima la lettura di - qualche altro capitolo, e questo è evidenziato nel sommario - all'inizio di ogni capitolo.</para> - - <para>Per una lista di fonti di informazioni aggiuntive, guarda l'<xref - linkend="bibliography">.</para> - - <bridgehead id="italian-notes" renderas="sect1">Note alla Edizione - Italiana</bridgehead> - - <para>La traduzione di questo manuale sta vedendo impegnate numerose persone - facenti parte del <ulink url="http://www.gufi.org/~alex/">FreeBSD Italian - Documentation Project</ulink>. Il progetto è partito da una - iniziativa del <ulink url="http://www.gufi.org/">Gruppo Utenti FreeBSD - Italia (GUFI)</ulink> ed è coordinato da &a.it.alex;, con - l'ausilio della mailing list <email>traduzioni@gufi.org</email>.</para> - - <para>Come puoi vedere, il lavoro di traduzione è ancora in corso ed - è portato avanti esclusivamente da volontari. Le persone che hanno - contribuito (o stanno contribuendo) alla realizzazione del progetto sono, - in ordine sparso:</para> - - <itemizedlist> - <listitem> - <para>&a.it.alex;</para> - </listitem> - - <listitem> - <para>&a.it.andrex;</para> - </listitem> - - <listitem> - <para>&a.it.daniele;</para> - </listitem> - - <listitem> - <para>&a.it.ddan;</para> - </listitem> - - <listitem> - <para>&a.it.eugenio;</para> - </listitem> - - <listitem> - <para>&a.it.ferruccio;</para> - </listitem> - - <listitem> - <para>&a.it.gabriele;</para> - </listitem> - - <listitem> - <para>&a.it.gmarco;</para> - </listitem> - - <listitem> - <para>&a.it.inzet;</para> - </listitem> - - <listitem> - <para>&a.it.kaos;</para> - </listitem> - - <listitem> - <para>&a.it.lapo;</para> - </listitem> - - <listitem> - <para>&a.it.lcard;</para> - </listitem> - - <listitem> - <para>&a.it.mark;</para> - </listitem> - - <listitem> - <para>&a.it.matteo;</para> - </listitem> - - <listitem> - <para>&a.it.max;</para> - </listitem> - - <listitem> - <para>&a.it.nicola;</para> - </listitem> - - <listitem> - <para>&a.it.rodario;</para> - </listitem> - - <listitem> - <para>&a.it.rudy;</para> - </listitem> - - <listitem> - <para>&a.it.salvo;</para> - </listitem> - - <listitem> - <para>&a.it.surrender;</para> - </listitem> - - <listitem> - <para>&a.it.valerio;</para> - </listitem> - </itemizedlist> - - <bridgehead id="preface-overview" renderas="sect1">Organizzazione di Questo - Libro</bridgehead> - - <para>Questo libro è diviso in cinque sezioni distinte logicamente. La - prima sezione, <emphasis>Per Cominciare</emphasis>, copre l'installazione - e l'uso basilare di FreeBSD. Ci si aspetta che il lettore segua questi - capitoli in sequenza, possibilmente saltando i capitoli che trattano - argomenti familiari. La seconda sezione, <emphasis>Compiti - Comuni</emphasis> copre alcune funzionalità di FreeBSD - frequentemente utilizzate. Questa sezione, e tutte le sezioni successive, - possono essere lette non in ordine. Ogni capitolo inizia con un succinto - sommario che descrive ciò che il capitolo copre e ciò che il - lettore dovrebbe aspettarsi di conoscere dopo la lettura dello stesso. - Questo ha l'intenzione di permettere al lettore di trovare velocemente i - capitoli di proprio interesse. La terza sezione, <emphasis>Amministrazione - del Sistema</emphasis>, copre argomentazioni di amministrazione. La - quarta sezione <emphasis>Comunicazione di Rete</emphasis>, copre argomenti - di rete e relativi servizi. La quinta sezione contiene appendici con - informazioni di riferimento.</para> - - <variablelist> - <varlistentry> - <term><emphasis><xref linkend="introduction">, - Introduzione</emphasis></term> - - <listitem> - <para>Introduce FreeBSD ai nuovi utenti. Descrive la storia del FreeBSD - Project, gli obbiettivi e il modello di sviluppo.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="install">, Installazione</emphasis></term> - - <listitem> - <para>Segue l'utente attraverso l'intera procedura di installazione. - Sono trattati alcuni argomenti avanzati di installazione, come - l'installazione attraverso la console seriale.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="basics">, Basi di &unix;</emphasis></term> - - <listitem> - <para>Tratta i comandi e le funzionalità di base del sistema - operativo FreeBSD. Se hai familiarità con &linux; o con altri - tipi di &unix; allora puoi probabilmente saltare questo - capitolo.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="ports">, Installazione delle - Applicazioni</emphasis></term> - - <listitem> - <para>Copre l'installazione del software di terze parti sia con - l'innovativo <quote>Ports Collection</quote> di FreeBSD che con i - comuni pacchetti binari.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="x11">, L'X Window System</emphasis></term> - - <listitem> - <para>Descrive X Window System in generale e l'uso di - <application>&xfree86;</application> su FreeBSD in particolare. - Inoltre descrive i comuni ambienti desktop - <application>KDE</application> e - <application>GNOME</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="desktop">, Applicazioni - Desktop</emphasis></term> - - <listitem> - <para>Elenca le più comuni applicazioni desktop, come browser - web e suite di produttività, e descrive come installarle su - FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="multimedia">, Multimedia</emphasis></term> - - <listitem> - <para>Mostra come configurare il supporto audio/video per il sistema. - Inoltre descrive alcune applicazioni di esempio.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="kernelconfig">, Configurazione del Kernel - di FreeBSD</emphasis></term> - - <listitem> - <para>Spiega perché potresti aver bisogno di configurare un nuovo - kernel e fornisce istruzioni dettagliate per la configurazione, la - creazione, e l'installazione di un kernel personalizzato.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="printing">, Stampa</emphasis></term> - - <listitem> - <para>Spiega come gestire le stampanti su FreeBSD, incluse informazioni - sulle pagine banner, sull'accounting di stampa, e sulla configurazione - iniziale.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="linuxemu">, Compatibilità con i - Binari di &linux;</emphasis></term> - - <listitem> - <para>Descrive le caratteristiche di compatibilità con &linux; di - FreeBSD. Inoltre fornisce dettagliate istruzioni sull'installazione - di molte comuni applicazioni &linux; come - <application>&oracle;</application>, - <application>&sap.r3;</application>, - e <application>&mathematica;</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="config-tuning">, Configurazione e Messa a - Punto</emphasis></term> - - <listitem> - <para>Descrive i parametri disponibili agli amministratori di sistema - per ottimizzare le performance di un sistema FreeBSD. Inoltre - descrive i vari file di configurazione usati in FreeBSD e dove - trovarli.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="boot">, La Procedura di - Avvio</emphasis></term> - - <listitem> - <para>Descrive la procedura di avvio di FreeBSD e spiega come - controllare questo processo con le opzioni di configurazione.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="users">, Gestione degli Utenti e degli - Account di Base</emphasis></term> - - <listitem> - <para>Descrive la creazione e la manipolazione degli account degli - utenti. Inoltre parla delle limitazioni delle risorse che possono - essere impostate sugli utenti e di altri compiti di gestione - degli account.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="security">, Sicurezza</emphasis></term> - - <listitem> - <para>Elenca vari tool disponibili per aiutarti a mantenere il tuo - sistema FreeBSD sicuro, inclusi Kerberos, IPsec, OpenSSH, e firewall - di rete.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="mac">, Controllo di Accesso - Vincolato</emphasis></term> - - <listitem> - <para>Descrive il Controllo di Accesso Vincolato (MAC) e come questo - meccanismo può essere usato per fortificare un sistema - FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="disks">, Archiviazione dei - Dati</emphasis></term> - - <listitem> - <para>Descrive come gestire i dispositivi di archiviazione e i - file system con FreeBSD. Questo include dischi fisici, array RAID, - dispositivi ottici e a nastro, dischi di memoria, e file system di - rete.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="vinum-vinum">, Il Gestore di Volumi - Vinum</emphasis></term> - - <listitem> - <para>Descrive come usare Vinum, un gestore di volumi che permette di - creare dischi logici indipendenti dal dispositivo, con supporto - RAID-0, RAID-1 e RAID-5 via software.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="l10n">, Localizzazione</emphasis></term> - - <listitem> - <para>Descrive come usare FreeBSD in altre lingue oltre all'inglese. - Copre la localizzazione a livello sia del sistema che - applicativo.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="cutting-edge">, Lo Stato - dell'Arte</emphasis></term> - - <listitem> - <para>Spiega le differenze tra FreeBSD-STABLE, FreeBSD-CURRENT, e le - release FreeBSD. Descrive quali utenti possano trarre beneficio - seguendo un sistema di sviluppo e spiega come effettuare questa - procedura.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="serialcomms">, Comunicazioni - Seriali</emphasis></term> - - <listitem> - <para>Spiega come connettere terminali e modem al tuo sistema FreeBSD - sia per connessioni in ingresso che in uscita.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="ppp-and-slip">, PPP e - SLIP</emphasis></term> - - <listitem> - <para>Descrive come usare PPP, SLIP, o PPP over Ethernet per connettersi - a sistemi remoti con FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="mail">, Posta Elettronica</emphasis></term> - - <listitem> - <para>Spiega i differenti componenti di un mail server e introduce - semplici configurazioni per il mail server più comune: - <application>sendmail</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="network-servers">, Servizi di - Rete</emphasis></term> - - <listitem> - <para>Fornisce istruzioni dettagliate e file di configurazione di - esempio per erigere la tua macchina FreeBSD come un server NFS - (Network File System), un server per la risoluzione dei nomi, un - server NIS (Network Information System), o un server per la - sincronizzazione dell'ora.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="advanced-networking">, Networking - Avanzato</emphasis></term> - - <listitem> - <para>Descrive molti argomenti sul networking, incluso come condividere - una connessione a Internet con altri computer sulla stessa LAN, - argomenti di routing avanzati, rete wireless, bluetooth, ATM, IPv6, e - altro ancora.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="mirrors">, Ottenere - FreeBSD</emphasis></term> - - <listitem> - <para>Elenca varie fonti per ottenere FreeBSD su CD-ROM o DVD - così come vari siti su Internet che permettono di scaricare e - installare FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="bibliography">, - Bibliografia</emphasis></term> - - <listitem> - <para>Questo libro tocca svariati argomenti che possono lasciarti - desideroso di spiegazioni più dettagliate. La bibliografia - elenca molti ottimi libri che sono referenziati nel testo.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="eresources">, Risorse su - Internet</emphasis></term> - - <listitem> - <para>Elenca i numerosi forum disponibili per gli utenti FreeBSD dove - poter inviare domande e intraprendere conversazioni tecniche su - FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><emphasis><xref linkend="pgpkeys">, Chiavi PGP</emphasis></term> - - <listitem> - <para>Elenca i fingerprint PGP di molti sviluppatori di FreeBSD.</para> - </listitem> - </varlistentry> - </variablelist> - - <bridgehead id="preface-conv" renderas="sect1">Convenzioni usate in questo - libro</bridgehead> - - <para>Per fornire un testo consistente e facile da leggere, sono state - seguite numerose convenzioni in tutto il libro.</para> - - <bridgehead id="preface-conv-typographic" renderas=sect2>Convenzioni - Tipografiche</bridgehead> - - <variablelist> - <varlistentry> - <term><emphasis>Italico</emphasis></term> - - <listitem> - <para>Un font <emphasis>italico</emphasis> è per i nomi dei - file, per gli URL, per il testo enfatizzato, e per il primo utilizzo - dei termini tecnici.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>Monospazio</varname></term> - - <listitem> - <para>Un font <varname>monospazio</varname> è usato per i - messaggi di errore, i comandi, le variabili di ambiente, i nomi dei - port, i nomi di host, i nomi degli utenti, i nomi dei gruppi, i nomi - dei device, le variabili, e i frammenti di codice.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><application>Grassetto</application></term> - - <listitem> - <para>Un font in <application>grassetto</application> è per le - applicazioni, i comandi, e i tasti.</para> - </listitem> - </varlistentry> - </variablelist> - - <bridgehead id="preface-conv-commands" renderas="sect2">Input - dell'Utente</bridgehead> - - <para>I tasti sono visualizzati in <keycap>grassetto</keycap> per - differenziarli dal testo normale. Le combinazioni di tasti che devono - essere digitate contemporaneamente sono visualizzate con un - `<literal>+</literal>' tra i tasti, come:</para> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>Alt</keycap> - <keycap>Del</keycap> - </keycombo></para> - - <para>Significa che l'utente deve premete i tasti <keycap>Ctrl</keycap>, - <keycap>Alt</keycap>, e <keycap>Del</keycap> nello stesso momento.</para> - - <para>I tasti che devono essere digitati in sequenza saranno separati da - virgole, come per esempio:</para> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>X</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>S</keycap> - </keycombo></para> - - <para>Vuol dire che l'utente deve digitare i tasti <keycap>Ctrl</keycap> e - <keycap>X</keycap> contemporaneamente e poi i tasti <keycap>Ctrl</keycap> e - <keycap>S</keycap>.</para> - - <bridgehead id="preface-conv-examples" renderas="sect2">Esempi</bridgehead> - - <para>Gli esempi che iniziano con <devicename>E:\></devicename> indicano - un comando &ms-dos;. A meno di note specifiche, questi comandi possono - essere eseguiti da una finestra <quote>Prompt dei comandi</quote> in un - moderno ambiente µsoft.windows;.</para> - - <screen><prompt>E:\></prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen> - - <para>Gli esempi che iniziano con &prompt.root; indicano un comando che deve - essere invocato dal superuser in FreeBSD. Puoi effettuare il login come - <username>root</username> per digitare il comando, o loggarti con il tuo - normale account e usare &man.su.1; per acquisire i privilegi da - superuser.</para> - - <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen> - - <para>Gli esempi che iniziano con &prompt.user; indicano un comando che deve - essere eseguito da un normale utente. Dove non indicato, è usata - la sintassi C-shell per impostare variabili di ambiente e altri comandi di - shell.</para> - - <screen>&prompt.user; <userinput>top</userinput></screen> - - <bridgehead id="preface-acknowledgements" - renderas="sect1">Riconoscimenti</bridgehead> - - <para>Il libro che stai leggendo rappresenta gli sforzi di molte centinaia di - persone in tutto il mondo. Sia che abbiano inviato correzioni per errori - di battitura, sia che abbiano inviato interi capitoli, tutti i contributi - sono stati utili.</para> - - <para>Molte società hanno supportato lo sviluppo di questo documento - pagando gli autori per lavorarci sopra a tempo pieno, pagando per la - pubblicazione, ecc. In particolare BSDi (successivamente acquisita da - <ulink url="http://www.windriver.com">Wind River Systems</ulink>) ha pagato - i membri del FreeBSD Documentation Project per lavorare a tempo pieno sul - miglioramento di questo libro fino alla pubblicazione della prima edizione - inglese stampata nel Marzo 2000 (ISBN 1-57176-241-8). Wind River Systems - poi ha pagato numerosi autori aggiuntivi per fare una serie di miglioramenti - all'infrastruttura di stampa e per aggiungere altri capitoli al testo. - Questo lavoro è culminato nella pubblicazione della seconda edizione - inglese stampata nel Novembre 2001 (ISBN 1-57176-303-1). Nel 2003-2004, - <ulink url="http://www.freebsdmall.com">FreeBSD Mall, Inc</ulink>, ha pagato - diversi contributori per migliorare il Manuale in preparazione per la - terza edizione inglese cartacea.</para> -</preface> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "preface") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/printing/Makefile b/it_IT.ISO8859-15/books/handbook/printing/Makefile deleted file mode 100644 index 50122d5aff..0000000000 --- a/it_IT.ISO8859-15/books/handbook/printing/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= printing/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/printing/chapter.sgml b/it_IT.ISO8859-15/books/handbook/printing/chapter.sgml deleted file mode 100644 index eb383055be..0000000000 --- a/it_IT.ISO8859-15/books/handbook/printing/chapter.sgml +++ /dev/null @@ -1,62 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="printing"> - <title>Stampa</title> - - <sect1> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="printing-intro-spooler"> - <title>Introduction</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="printing-intro-setup"> - <title>Basic Setup</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="printing-advanced"> - <title>Advanced Printer Setup</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="printing-using"> - <title>Using Printers</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="printing-lpd-alternatives"> - <title>Alternatives to the Standard Spooler</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="printing-troubleshooting"> - <title>Troubleshooting</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/security/Makefile b/it_IT.ISO8859-15/books/handbook/security/Makefile deleted file mode 100644 index dc53e3d058..0000000000 --- a/it_IT.ISO8859-15/books/handbook/security/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= security/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/security/chapter.sgml b/it_IT.ISO8859-15/books/handbook/security/chapter.sgml deleted file mode 100644 index df5776bbd9..0000000000 --- a/it_IT.ISO8859-15/books/handbook/security/chapter.sgml +++ /dev/null @@ -1,323 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.207 ---> - -<chapter id="security"> - <title>Sicurezza</title> - - <sect1> - <title>Sinossi</title> - - <para>Questo capitolo dà una introduzione di base sui concetti dei - sistemi di sicurezza, alcune buone regole di comportamento e alcuni - argomenti avanzati per &os;. Molti degli argomenti qua tratati possono - essere applicati anche ai sistemi e alla sicurezza su Internet in - generale. Internet non è più il luogo - <quote>amichevole</quote> dove ognuno vuole essere il tuo amichevole - vicino. Mettere in sicurezza il tuo ssitema è un imperativo per la - protezione dei tuoi dati, della tua proprietà intelletuale, il tuo - tempo e molto altro dalla mano di hackere simili.</para> - - <para>&os; dà un insieme di utility e di meccanismi per assicurare - l'integrità e la sicurezza del tuo sistema e della tua rete.</para> - - <para>Dopo la lettura di questo capitolo, conoscerai:</para> - - <itemizedlist> - <listitem> - <para>Concetti di base dei sistemi di sicurezza, rispetto a &os;.</para> - </listitem> - - <listitem> - <para>Vari meccanismi di crittografia disponibili in &os;, - come <acronym>DES</acronym> e <acronym>MD5</acronym>.</para> - </listitem> - - <listitem> - <para>Come configurare l'autenticazione OTP (password a singolo - uso).</para> - </listitem> - - <listitem> - <para>Come configurare <application>KerberosIV</application> su release - &os; precedenti alla 5.0.</para> - </listitem> - - <listitem> - <para>Come configurare <application>Kerberos5</application> su &os; 5.0 - o successive.</para> - </listitem> - - <listitem> - <para>Come creare firewall usando <acronym>IPFW</acronym>.</para> - </listitem> - - <listitem> - <para>Come configurare IPsec e creare una <acronym>VPN</acronym> tra - macchine &os;/&windows;.</para> - </listitem> - - <listitem> - <para>Come configurare e usare <application>OpenSSH</application>, - l'implementaizone <acronym>SSH</acronym> usata da &os;.</para> - </listitem> - - <listitem> - <para>Come configurare e caricare i moduli aggiuntivi per il controllo - degli accessi usando il Framework <acronym>MAC</acronym> di - TrustedBSD.</para> - </listitem> - - <listitem> - <para>Cosa sono le <acronym>ACL</acronym> del file system e come - usarle.</para> - </listitem> - - <listitem> - <para>Come utilizzare le pubblicazioni sugli avvisi di sicurezza di - &os;.</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo dovresti:</para> - - <itemizedlist> - <listitem> - <para>Capire concetti base di &os; e Internet.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="security-intro"> - <title>Introduzione</title> - - <para>La sicurezza è una funzione che inizia e finisce con - l'amministratore di sistema. Nonostante ogni sistema multi-utente &unix; - BSD abbia della sicurezza insita, il lavoro di costruire e mantenere - meccanismi di sicurezza aggiuntivi in modo da mantenere - <quote>onesti</quote> gli utenti è probabilmente uno dei maggiori - lavori di un amministratore di sistema. La macchine sono sicure solo - quanto le si rende e le richieste di sicurezza si scontrano sempre con - l'umana necessità per la comodità. I sistemi &unix;, in - generale, sono capaci di eseguire un gran numero di processi contemporanei - e ognuno di questi processi opera come server — nel senso che - entità esterne possono connettersi e parlarci. Mentre i mini e i - mainframe di ieri diventano i desktop di oggi, mentre i computer diventano - interconnessi e internet-connessim, la sicurezza diventa un problema - sempre maggiore.</para> - - <para>Il modo migliore per implementare la sicurezza è con un - approccio <quote>a cipolla</quote>. In pratica, quello che vuoi fare - è creare tanti livelli di sicurezza quanto è conveniente e - poi tenere sotto controllo il sistema per vedere eventuali intrusioni. - Non vuoi esagerare nella sicurezza o interferirai con l'individuazione e - quest'ultima è una delle parti più importanti di ogni - meccanismo di sicurezza. Per esempio, ha poco senso imopstare il flag - <literal>schg</literal> (vedi &man.chflags.1;) su ogni binario di sistema - dato che questo potrà sì proteggere temporaneamente i - binari, ma evita che l'attaccante faccia una modifica facilmente - individuabile e potrebbe far in modo che il tuo meccanismo di sicurezza - non individui l'attaccante del tutto.</para> - - <para>La sicurezza di un sistema riguarda anche il gestire varie forme di - attacco, compresi attacchi che tentano di bloccare, o comunque rendere - inusabile, il sistema, anche se non necessariamente cercano di - compromettere l'account di root <username>root</username> (<quote>rompere - root</quote>). I problemi di sicurezza possono essere suddivisi in - svariate categorie:</para> - - <orderedlist> - <listitem> - <para>Attacchi che limitano la disponibilità dei servizi - (<quote>Denial of service</quote> o, in breve, DoS).</para> - </listitem> - - <listitem> - <para>Compromissione degli account utente.</para> - </listitem> - - <listitem> - <para>Compromissione di root tramite server accessibili.</para> - </listitem> - - <listitem> - <para>Compromissione di root tramite gli account utente.</para> - </listitem> - - <listitem> - <para>Crazione di backdoor (letteralmente <quote>porte sul - retro</quote>, ovvero accessi secondari personalizzati).</para> - </listitem> - </orderedlist> - - <indexterm> - <primary>attacchi DoS</primary> - <see>Denial of Service (DoS)</see> - </indexterm> - <indexterm> - <primary>sicurezza</primary> - <secondary>attacchi DoS</secondary> - <see>Denial of Service (DoS)</see> - </indexterm> - <indexterm><primary>Denial of Service (DoS)</primary></indexterm> - - <para>Un attacco DoS è un'azione che priva la macchina di risorse. - Tipicamente un attacco DoS è un meccanismo a forza-bruta che tenta - di bloccare e comunque rendere inusabile una macchina travolgendo di - richieste i server che rende disponibili o direttamente lo stack di rete. - Alcuni attacchi DoS tentano di trarre vantaggio da bug nello stack di rete - per bloccare la macchina con un singolo pacchetto. Questo genere di - attacchi può evitato solo mettendo a posto il bug direttamente nel - kernel. Gli attacchi sui server possono spesso essere evitati - specificando con attenzione dei limiti sul carico che i server stessi - devono accettare in caso che il sistema lavori in condizioni avverse. - Gli attacchi a forza-bruta generati da un'intera rete di attaccanti sono - più difficili da gestire. Ad esempio un attacco con pacchetti - in spoof (ovvero con il campo mittente falsato) è praticamente - impossibile da fermare, a meno di staccare del tutto il sistema da - Internet. Potrà anche non fermare la tua macchina, ma sicuramente - può saturare la tua connessione Internet.</para> - - <indexterm> - <primary>sicurezza</primary> - <secondary>compromissione degli account</secondary> - </indexterm> - - <para>La compromissione di un account utente è ancora più comune di un - attacco DoS. Molti sysadmin usano ancora i server standard <application>telnetd</application>, <application>rlogind</application>, - <application>rshd</application> e <application>ftpd</application> sulle loro macchine. Questi programmi, normalmente, non usano connessioni crittate. Il risultato è che quando hai una base utenti di medie dimensioni, uno o più degli utenti connessi al tuo sistema da remoto (il modo più comune e conveniente per collegarsi a un sisetma) avrà una password compromessa da un'operaizone di sniffing. Gli amministratori di sistema attenti controllano i registri degli accessi remoto cercando indirizzi sospetti anche tra gli accessi permessi.</para> - - <para>Bisogna sempre dare per scontato che una volta che un attaccante ha - accesso ad un account utente, può rompere anche <username>root</username>. - In realtà, comunque, in un sistema ben configurato e mantenuto, questo non è necessariamente vero. La distinzione è importante perché senza accesso a <username>root</username> l'attaccante ni genere non può nascondere le proprie tracce e può, alla peggio, rovinare i files dell'utente o mandaer la macchina in crash. La compromissione degli account utente è molto comune dato che gli utenti tendono a non prendere precauzioni tanto quanto i sysadmin.</para> - - <indexterm> - <primary>sicurezza</primary> - <secondary>backdoor</secondary> - </indexterm> - - <para>Gli amministratori di sistema devono ricordare che su una macchina ci - sono potenzialmente molti modi per rompere <username>root</username>. - L'attaccante potrebbe conoscere la password di <username>root</username>, potrebbe trovare un bug in un programma server in esecuzione con diritti di <username>root</username> e sfruttarlo per entrare da remoto, oppure una volta ottenuto un account utente potrebbe fare lo stesso con un bug in un programma con suid <username>root</username>. - If an attacker has found a way to break <username>root</username> - on a machine, the attacker may not have a need - to install a backdoor. Many of the <username>root</username> holes - found and closed to date involve a considerable amount of work - by the attacker to cleanup after himself, so most attackers install - backdoors. A backdoor provides the attacker with a way to easily - regain <username>root</username> access to the system, but it - also gives the smart system administrator a convenient way - to detect the intrusion. - Making it impossible for an attacker to install a backdoor may - actually be detrimental to your security, because it will not - close off the hole the attacker found to break in the first - place.</para> - - - <para>Security remedies should always be implemented with a - multi-layered <quote>onion peel</quote> approach and can be - categorized as follows:</para> - - <orderedlist> - <listitem> - <para>Securing <username>root</username> and staff accounts.</para> - </listitem> - - <listitem> - <para>Securing <username>root</username> — root-run servers - and suid/sgid binaries.</para> - </listitem> - - <listitem> - <para>Securing user accounts.</para> - </listitem> - - <listitem> - <para>Securing the password file.</para> - </listitem> - - <listitem> - <para>Securing the kernel core, raw devices, and - filesystems.</para> - </listitem> - - <listitem> - <para>Quick detection of inappropriate changes made to the - system.</para> - </listitem> - - <listitem> - <para>Paranoia.</para> - </listitem> - </orderedlist> - - <para>The next section of this chapter will cover the above bullet - items in greater depth.</para> - </sect1> - - <sect1 id="securing-freebsd"> - <title>Securing &os;</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="crypt"> - <title>DES, MD5, and Crypt</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="skey"> - <title>S/Key</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="kerberos"> - <title>Kerberos</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="firewalls"> - <title>Firewalls</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="openssl"> - <title>OpenSSL</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="ipsec"> - <title>IPsec</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="openssh"> - <title>OpenSSH</title> - - <sect2 id="security-ssh-tunneling"> - <title>SSH Tunneling</title> - - <para>Traduzione in corso</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/serialcomms/Makefile b/it_IT.ISO8859-15/books/handbook/serialcomms/Makefile deleted file mode 100644 index 1bfc6afff8..0000000000 --- a/it_IT.ISO8859-15/books/handbook/serialcomms/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= serialcomms/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/serialcomms/chapter.sgml b/it_IT.ISO8859-15/books/handbook/serialcomms/chapter.sgml deleted file mode 100644 index 6008b0c133..0000000000 --- a/it_IT.ISO8859-15/books/handbook/serialcomms/chapter.sgml +++ /dev/null @@ -1,2912 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.94 ---> - -<chapter id="serialcomms"> - <title>Comunicazioni Seriali</title> - - <sect1 id="serial-synopsis"> - <title>Sinossi</title> - - <indexterm><primary>comunicazioni seriali</primary></indexterm> - - <para>&unix; ha sempre avuto un supporto per le comunicazioni seriali. - In effetti, le prime vere macchine &unix; si appoggiavano a linee seriali - per l'input e l'output da e verso l'utente. Le cose sono cambiate molto - dai giorni in cui un <quote>terminale</quote> consisteva in una stampante - da 10 caratteri al secondo o in una tastiera. - Questo capitolo coprirà alcuni dei modi nei quali - FreeBSD usa le comunicazioni seriali.</para> - - <para>Dopo aver letto questo capitolo, saprai:</para> - - <itemizedlist> - <listitem> - <para>Come connettere terminali al tuo sistema FreeBSD.</para> - </listitem> - - <listitem> - <para>Come usare un modem per collegarti telefonicamente - ad una macchina remota.</para> - </listitem> - - <listitem> - <para>Come permettere a utenti remoti di effettuare - login sul tuo sistema via modem.</para> - </listitem> - - <listitem> - <para>Come avviare il tuo sistema da una console seriale.</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - - <itemizedlist> - <listitem> - <para>Sapere come configurare ed installare un nuovo kernel - (<xref linkend="kernelconfig">).</para> - </listitem> - - <listitem> - <para>Comprendere i permessi ed i processi &unix; - (<xref linkend="basics">).</para> - </listitem> - - <listitem> - <para>Avere accesso al manuale tecnico per l'hardware seriale - (modem o scheda multiporta) che vuoi usare con FreeBSD.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="serial"> - <title>Introduzione</title> - - <sect2 id="serial-terminology"> - <title>Terminologia</title> - - <variablelist> - <varlistentry> - <term>bps</term> - - <indexterm><primary>bit per secondo</primary></indexterm> - - <listitem> - <para>Bits per Second (Bit per Secondo) — la frequenza alla - quale vengono trasmessi i dati</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>DTE</term> - - <indexterm><primary>DTE</primary></indexterm> - - <listitem> - <para>Data Terminal Equipment (Attrezzatura per il Terminale Dati) - — ad esempio, il tuo computer</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>DCE</term> - - <indexterm><primary>DCE</primary></indexterm> - - <listitem> - <para>Data Communications Equipment (Attrezzatura per le - Comunicazioni Dati) — il tuo modem</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RS-232</term> - - <indexterm><primary>cavi RS-232C</primary></indexterm> - - <listitem> - <para>Standard EIA per le comunicazioni tra hardware seriale</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Nel parlare della velocità di comunicazione, questa - sezione non usa il termine <quote>baud</quote>. Il baud si riferisce - al numero di transizioni degli stati elettrici che possono essere - effettuati in un periodo di tempo, mentre i <quote>bps</quote> - (bit per secondo) sono il termine <emphasis>corretto</emphasis> da usare - (o almeno non sembra irritare troppo i perfezionisti).</para> - </sect2> - - <sect2 id="serial-cables-ports"> - <title>Cavi e Porte</title> - - <para>Per collegare un modem o un terminale alla tua macchina FreeBSD, - avrai bisogno di una porta seriale sul tuo computer e del cavo - appropriato per il tuo dispositivo seriale. Se sei già pratico - con l'hardware ed i cavi necessari, puoi saltare tranquillamente questa - sezione.</para> - - <sect3 id="term-cables"> - <title>Cavi</title> - - <para>Ci sono parecchi tipi diversi di cavi seriali. I due - tipi più comuni per i nostri scopi sono i cavi null-modem - ed i cavi standard (<quote>dritti</quote>) RS-232. - La documentazione per il tuo hardware dovrebbe descrivere il tipo - di cavi necessari.</para> - - <sect4 id="term-cables-null"> - <title>Cavi null-modem</title> - - <indexterm><primary>cavo null-modem</primary></indexterm> - - <para>Un cavo null-modem lascia passare alcuni segnali, come - <quote>signal ground</quote>, direttamente, ma inverte altri - segnali. Ad esempio, il pin <quote>send data</quote> in un estremo - va sul pin <quote>receive data</quote> nell'altro.</para> - - <para>Se ti piace fare i cavi da solo, puoi costruire un cavo - null-modem da usare con i terminali. Questa tabella mostra i nomi - dei segnali RS-232C ed i numeri dei pin su un connettore - DB-25.</para> - - <informaltable frame="none"> - <tgroup cols="5"> - <thead> - <row> - <entry>Segnale</entry> - - <entry>Pin #</entry> - - <entry></entry> - - <entry>Pin #</entry> - - <entry>Segnale</entry> - </row> - </thead> - - <tbody> - <row> - <entry>SG</entry> - - <entry>7</entry> - - <entry>si connette a</entry> - - <entry>7</entry> - - <entry>SG</entry> - </row> - - <row> - <entry>TD</entry> - - <entry>2</entry> - - <entry>si connette a</entry> - - <entry>3</entry> - - <entry>RD</entry> - </row> - - <row> - <entry>RD</entry> - - <entry>3</entry> - - <entry>si connette a</entry> - - <entry>2</entry> - - <entry>TD</entry> - </row> - - <row> - <entry>RTS</entry> - - <entry>4</entry> - - <entry>si connette a</entry> - - <entry>5</entry> - - <entry>CTS</entry> - </row> - - <row> - <entry>CTS</entry> - - <entry>5</entry> - - <entry>si connette a</entry> - - <entry>4</entry> - - <entry>RTS</entry> - </row> - - <row> - <entry>DTR</entry> - - <entry>20</entry> - - <entry>si connette a</entry> - - <entry>6</entry> - - <entry>DSR</entry> - </row> - - <row> - <entry>DCD</entry> - - <entry>8</entry> - - <entry></entry> - - <entry>6</entry> - - <entry>DSR</entry> - </row> - - <row> - <entry>DSR</entry> - - <entry>6</entry> - - <entry>si connette a</entry> - - <entry>20</entry> - - <entry>DTR</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>Collega internamente al cappuccio del connettore <quote>Data - Set Ready</quote> (DSR) e <quote>Data Carrier Detect</quote> - (DCD), e quindi a <quote>Data Terminal Ready</quote> (DTR) in - quello remoto.</para> - </note> - </sect4> - - <sect4 id="term-cables-std"> - <title>Cavi Standard RS-232C</title> - - <indexterm><primary>cavi RS-232C</primary></indexterm> - - <para>Un cavo seriale standard passa tutti i segnali RS-232C diretti. - Cioè, il pin <quote>send data</quote> su un estremo del cavo - va nel pin <quote>send data</quote> sull'altro estremo. Questo - è il tipo di cavo da usare per collegare un modem al tuo - sistema FreeBSD, ed è anche appropriato per alcuni - terminali.</para> - </sect4> - </sect3> - - <sect3 id="term-ports"> - <title>Porte</title> - - <para>Le porte seriali sono i dispositivi attraverso i quali vengono - trasferiti i dati tra il computer FreeBSD ed il terminale. Questa - sezione descrive il tipo di porte che esistono e come vengono indicate - in FreeBSD.</para> - - <sect4 id="term-portkinds"> - <title>Tipi di Porte</title> - - <para>Esistono parecchi tipi di porte seriali. Prima di comprare o - costruire un cavo, avrai bisogno di assicurarti che sia adatto alle - porte sul terminale e sul sistema FreeBSD.</para> - - <para>La maggior parte dei terminali avrà porte DB25. - I personal computer, compresi i PC con FreeBSD, avranno porte DB25 o - DB9. Se hai una scheda seriale multiporta nel tuo PC, potresti - avere porte RJ-12 o RJ-45.</para> - - <para>Guarda la documentazione fornita con l'hardware per - le specifiche del tipo di porta usata. Spesso basta anche - un'ispezione visiva della porta.</para> - </sect4> - - <sect4 id="term-portnames"> - <title>Nomi delle Porte</title> - - <para>In FreeBSD, si accede ad ogni porta seriale attraverso una voce - nella directory <filename>/dev</filename>. Ci sono due differenti - tipi di voci:</para> - - <itemizedlist> - <listitem> - <para>Le porte di ingresso vengono dette - <filename>/dev/ttyd<replaceable>N</replaceable></filename> - dove <replaceable>N</replaceable> è il numero di porta, - cominciando da zero. Generalmente, puoi usare la porta di - ingresso per i terminali. Le porte di ingresso richiedono che - la linea fornisca un segnale detto data carrier detect (DCD) per - funzionare correttamente.</para> - </listitem> - - <listitem> - <para>Le porte di uscita vengono dette - <filename>/dev/cuaa<replaceable>N</replaceable></filename>. - In genere non si usano porte di uscita per i terminali, ma solo - per i modem. Puoi usare la porta di uscita se il cavo seriale - o il terminale non supportano il segnale di carrier - detect.</para> - </listitem> - </itemizedlist> - - <para>Se hai connesso un terminale sulla prima porta seriale - (<devicename>COM1</devicename> in &ms-dos;), allora userai - <filename>/dev/ttyd0</filename> per riferirti al terminale. Se il - terminale è sulla seconda porta seriale (anche nota come - <devicename>COM2</devicename>), usa - <filename>/dev/ttyd1</filename>, e così via.</para> - </sect4> - </sect3> - </sect2> - - <sect2> - <title>Configurazione del Kernel</title> - - <para>FreeBSD supporta quattro porte seriali di default. Nel mondo - &ms-dos;, queste sono note come <devicename>COM1</devicename>, - <devicename>COM2</devicename>, <devicename>COM3</devicename>, e - <devicename>COM4</devicename>. FreeBSD attualmente supporta - schede d'interfaccia seriale multiporta <quote>stupide</quote>, - come le BocaBoard 1008 e 2016, così come le schede multiporta - intelligenti come quelle fatte dalla Digiboard - e dalla Stallion Technologies. Ad ogni modo, il kernel di default - usa solo le porte COM standard.</para> - - <para>Per vedere se il tuo kernel riconosce una delle tue porte seriali, - guarda i messaggi mentre il kernel viene avviato, o usa il comando - <command>/sbin/dmesg</command> per far scorrere di nuovo i - messaggi di avvio del kernel. In particolare, cerca dei messaggi - che inizino con i caratteri <literal>sio</literal>.</para> - - <tip> - <para>Per vedere solo i messaggi che hanno la parola - <literal>sio</literal>, usa il comando:</para> - - <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen> - </tip> - - <para>Ad esempio, su un sistema con quattro porte seriali, questi sono - i messaggi dati dall'avvio del kernel specifici delle porte - seriali:</para> - - <screen>sio0 at 0x3f8-0x3ff irq 4 on isa -sio0: type 16550A -sio1 at 0x2f8-0x2ff irq 3 on isa -sio1: type 16550A -sio2 at 0x3e8-0x3ef irq 5 on isa -sio2: type 16550A -sio3 at 0x2e8-0x2ef irq 9 on isa -sio3: type 16550A</screen> - - <para>Se il tuo kernel non riconosce tutte le tue porte seriali, - probabilmente avrai bisogno di configurare un kernel FreeBSD - adattato al tuo sistema. Per informazioni dettagliate sulla - configurazione del kernel, vedi più avanti <xref - linkend="kernelconfig">.</para> - - <para>Le linee rilevanti per i dispositivi nella tua configurazione - del kernel dovrebbero apparire così, con FreeBSD 4.X:</para> - - <programlisting>device sio0 at isa? port IO_COM1 irq 4 -device sio1 at isa? port IO_COM2 irq 3 -device sio2 at isa? port IO_COM3 irq 5 -device sio3 at isa? port IO_COM4 irq 9</programlisting> - - - <para>e così, con FreeBSD 5.X:</para> - - <programlisting>device sio</programlisting> - - <para>Puoi commentare o rimuovere completamente le linee per i - dispositivi che non hai nel caso di FreeBSD 4.X; per - FreeBSD 5.X devi modificare il file - <filename>/boot/device.hints</filename> per configurare le porte - seriali. Guarda la pagina man di &man.sio.4; - per informazioni aggiuntive sulla configurazione delle porte seriali e - delle schede multiporta. - Stai attento se stai usando un file di configurazione - già usato per una versione differente di FreeBSD, poiché - i flag dei dispositivi e la sintassi sono cambiati tra una versione e - l'altra.</para> - - <note> - <para><literal>port IO_COM1</literal> è una sostituzione per - <literal>port 0x3f8</literal>, <literal>IO_COM2</literal> è - <literal>0x2f8</literal>, <literal>IO_COM3</literal> è - <literal>0x3e8</literal>, e <literal>IO_COM4</literal> è - <literal>0x2e8</literal>, che sono indirizzi comuni per le rispettive - porte seriali; gli interrupt 4, 3, 5, e 9 sono linee di richiesta di - interrupt piuttosto comuni. Da notare anche che le normali porte - seriali <emphasis>non possono</emphasis> condividere degli interrupt - sui bus ISA dei PC (le schede multiporta hanno dell'elettronica - integrata che permette a tutte le 16550A sulla scheda di condividere - uno o due linee di richiesta dell'interrupt).</para> - </note> - </sect2> - - <sect2> - <title>File Speciali di Dispositivo</title> - - <para>Alla maggior parte dei dispositivi nel kernel si accede attraverso - <quote>file speciali di dispositivo</quote>, che si trovano - nella directory <filename>/dev</filename>. Ai dispositivi - <devicename>sio</devicename> si accede attraverso i - <filename>/dev/ttyd<replaceable>N</replaceable></filename> - (ingresso) e <filename>/dev/cuaa<replaceable>N</replaceable></filename> - (uscita). FreeBSD fornisce anche dei dispositivi di inizializzazione - (<filename>/dev/ttyid<replaceable>N</replaceable></filename> e - <filename>/dev/cuaia<replaceable>N</replaceable></filename>) e dei - dispositivi di blocco - (<filename>/dev/ttyld<replaceable>N</replaceable></filename> e - <filename>/dev/cuala<replaceable>N</replaceable></filename>). I - dispositivi di inizializzazione vengono usati per inizializzare - i parametri delle porte di comunicazione ogni volta che una porta - viene aperta, come <literal>crtscts</literal> per i modem che usano - le segnalazioni <literal>RTS/CTS</literal> per il controllo di flusso. - I dispositivi di blocco vengono usati per fissare i flag sulle porte - ed evitare che altri utenti o programmi cambino certi parametri; - guarda le pagine man di &man.termios.4;, &man.sio.4;, e &man.stty.1; - per maggiori informazioni sulle impostazioni dei terminali, sui - dispositivi di blocco ed inizializzazione, e sull'impostazione delle - opzioni del terminale, rispettivamente.</para> - - <sect3> - <title>Creazione dei File Speciali di Dispositivo</title> - - <note> - <para>FreeBSD 5.0 include il file system &man.devfs.5; - che crea automaticamente nodi per i dispositivi necessari. - Se stai usando una versione di FreeBSD con il - <literal>devfs</literal> abilitato puoi saltare tranquillamente - questa sezione.</para> - </note> - - <para>Uno script di shell di nome <command>MAKEDEV</command> nella - directory <filename>/dev</filename> gestisce i file di dispositivo. - Per usare <command>MAKEDEV</command> nella creazione del - file di dispositivo per <devicename>COM1</devicename> (porta 0), - fai <command>cd</command> su <filename>/dev</filename> e dai il - comando <command>MAKEDEV ttyd0</command>. Allo stesso modo, per - creare il file di dispositivo per <devicename>COM2</devicename> - (porta 1), usa <command>MAKEDEV ttyd1</command>.</para> - - <para><command>MAKEDEV</command> non crea solo i file speciali - <filename>/dev/ttyd<replaceable>N</replaceable></filename>, - ma anche i nodi - <filename>/dev/cuaa<replaceable>N</replaceable></filename>, - <filename>/dev/cuaia<replaceable>N</replaceable></filename>, - <filename>/dev/cuala<replaceable>N</replaceable></filename>, - <filename>/dev/ttyld<replaceable>N</replaceable></filename>, e - <filename>/dev/ttyid<replaceable>N</replaceable></filename>.</para> - - <para>Dopo aver creato i nuovi file di dispositivo, fa attenzione nel - controllare i permessi sui file (specialmente sui file - <filename>/dev/cua*</filename>) per assicurarti che solo gli - utenti che dovrebbero effettivamente avere accesso a questi - dispositivi possano leggerli e - scriverli — magari non vorrai permettere al tuo utente medio - di usare il tuo modem per chiamare verso l'esterno. I permessi - predefiniti su - <filename>/dev/cua*</filename> dovrebbero essere adatti:</para> - - <screen>crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1 -crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1 -crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen> - - <para>Questi permessi permettono all'utente <username>uucp</username> e - agli utenti nel gruppo <username>dialer</username> di usare i - dispositivi di uscita.</para> - </sect3> - </sect2> - - <sect2 id="serial-hw-config"> - <title>Configurazione della Porta Seriale</title> - - <indexterm><primary><devicename>ttyd</devicename></primary></indexterm> - <indexterm><primary><devicename>cuaa</devicename></primary></indexterm> - - <para>Il dispositivo - <devicename>ttyd<replaceable>N</replaceable></devicename> (o - <devicename>cuaa<replaceable>N</replaceable></devicename>) è il - normale dispositivo che si apre per le proprie applicazioni. - Quando un processo apre il dispositivo, avrà un insieme di - impostazioni di I/O predefinite per il terminale. - Puoi visualizzare queste impostazioni con il comando:</para> - - <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen> - - <para>Quando cambi le impostazioni per questo dispositivo, queste rimangono - efficaci finché il dispositivo non viene chiuso. Quando viene - riaperto, ritorna all'insieme di default. Per effettuare dei cambiamenti - all'insieme predefinito, modifica le impostazioni per il dispositivo di - <quote>stato iniziale</quote>. Ad esempio, - per attivare di default modalità <option>CLOCAL</option>, - comunicazione a 8 bit, e controllo di flusso <option>XON/XOFF</option> per - <devicename>ttyd5</devicename>, scrivi:</para> - - <screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen> - - <indexterm> - <primary>file rc</primary> - <secondary><filename>rc.serial</filename></secondary> - </indexterm> - - <para>Le inizializzazioni di sistema per i dispositivi seriali sono - controllate in <filename>/etc/rc.serial</filename>. Questo file - influisce sui valori predefiniti dei dispositivi seriali.</para> - - <para>Per evitare cambiamenti da parte di qualche applicazione, - modifica il dispositivo di <quote>blocco dello stato</quote>. - Ad esempio, per bloccare la velocità di - <devicename>ttyd5</devicename> a 57600 bps, scrivi:</para> - - <screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen> - - <para>Ora, un applicazione che apra <devicename>ttyd5</devicename> e cerchi - di cambiare la velocità della porta resterà bloccata a - 57600 bps.</para> - - <indexterm><primary><command>MAKEDEV</command></primary></indexterm> - - <para>Naturalmente, dovresti rendere i dispositivi di stato iniziale e stato - di blocco scrivibili solo da <username>root</username>.</para> - </sect2> - </sect1> - - <sect1 id="term"> - <sect1info> - <authorgroup> - <author> - <firstname>Sean</firstname> - - <surname>Kelly</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Terminali</title> - - <indexterm><primary>terminali</primary></indexterm> - - <para>I terminali forniscono un sistema di accesso conveniente ed a basso - costo al tuo sistema FreeBSD quando non sei davanti alla console del - computer o connesso ad una rete. Questa sezione descrive l'uso dei - terminali con FreeBSD.</para> - - <sect2 id="term-uses"> - <title>Uso e Tipi di Terminali</title> - - <para>I sistemi &unix; originali non avevano console. Invece, la gente - effettuava il login ed avviava programmi attraverso terminali connessi - alle porte seriali del computer. Ciò era abbastanza simile - all'uso di modem e programmi terminale per collegarsi telefonicamente - ad un sistema remoto e lavorare da riga di comando.</para> - - <para>I PC di oggi hanno console capaci di grafica di alta qualità, - ma l'abilità di stabilire una sessione di login su una porta - seriale esiste ancora in quasi ogni sistema operativo in stile &unix; di - oggi; FreeBSD non fa eccezione. - Usando un terminale attaccato ad una porta seriale inutilizzata, puoi - effettuare il login ed eseguire qualsiasi programma testuale che - potresti lanciare normalmente dalla console o da una finestra - <command>xterm</command> in X Window.</para> - - <para>Un utente aziendale può connettere molti terminali ad un - sistema FreeBSD e porli sulle scrivanie dei propri impiegati. Un utente - casalingo può usare qualcosa come un vecchio PC IBM o un - &macintosh; come terminale connesso a un computer più potente che - faccia girare FreeBSD. - Puoi anche trasformare quello che sarebbe un computer singolo utente in - un potente sistema per utenti multipli.</para> - - <para>Per FreeBSD, esistono tre tipi di terminali:</para> - - <itemizedlist> - <listitem> - <para><link linkend="term-dumb">terminali <quote>stupidi</quote></link></para> - </listitem> - - <listitem> - <para><link linkend="term-pcs">PC che interpretano - terminali</link></para> - </listitem> - - <listitem> - <para><link linkend="term-x">terminali X</link></para> - </listitem> - </itemizedlist> - - <para>Le sottosezioni rimanenti descrivono ognuno di questi tipi.</para> - - <sect3 id="term-dumb"> - <title>Terminali <quote>Stupidi</quote></title> - - <para>Questi terminali sono oggetti hardware specializzati che - permettono di connettere dei computer tramite linee seriali. - Essi vengono detti <quote>stupidi</quote> poiché hanno solo la - potenza di calcolo necessaria per mostrare, inviare, e ricevere testo. - Non potete eseguire nessun programma su di essi. - È il computer al quale vi collegate che ha la potenza - per eseguire editor di testo, compilatori, email, giochi, e - così via.</para> - - <para>Ci sono centinaia di tipi di terminali di questo tipo, venduti - da molti produttori, incluso il VT-100 della Digital Equipment - Corporation e il WY-75 della Wyse. Quasi tutti funzioneranno con - FreeBSD. Alcuni terminali di alto livello possono anche mostrare - della grafica, ma solo alcuni - pacchetti software possono avvalersi di queste caratteristiche.</para> - - <para>I terminali stupidi sono popolari negli ambienti di lavoro nei - quali i lavoratori non hanno bisogno di accedere ad applicazioni - grafiche come quelle fornite dal sistema X Window.</para> - </sect3> - - <sect3 id="term-pcs"> - <title>PC che Emulano Terminali</title> - - <para>Se un <link linkend="term-dumb">terminale stupido</link> ha appena - le capacità per mostrare, inviare, e ricevere testo, allora di - certo un qualunque personal computer può funzionare come un - terminale stupido. - Tutto ciò di cui hai bisogno è il cavo appropriato ed un - qualche programma per l'<emphasis>emulazione di terminale</emphasis> - sul tuo computer.</para> - - <para>Una simile configurazione è comune in molte case. Ad - esempio, se il tuo - coniuge sta lavorando alla console del sistema FreeBSD, tu puoi fare - del lavoro testuale allo stesso momento da un PC meno potente - connesso come terminale al sistema FreeBSD.</para> - </sect3> - - <sect3 id="term-x"> - <title>Terminali X</title> - - <para>I terminali X sono i terminali più sofisticati tra quelli - disponibili. Invece di collegarsi alla porta seriale, in genere - ci si collega ad essi tramite un rete come Ethernet. Invece di essere - relegati alle applicazioni testuali, essi possono mostrare - applicazioni X.</para> - - <para>Introduciamo i terminali X solo per una questione di completezza. - Ad ogni modo, questo capitolo <emphasis>non</emphasis> affronta in - modo completo l'installazione, la configurazione, o l'uso dei - terminali X.</para> - </sect3> - </sect2> - - <sect2 id="term-config"> - <title>Configurazione</title> - - <para>Questa sezione descrive quello che hai bisogno di configurare sul - tuo sistema FreeBSD per abilitare una sessione di login via terminale. - Si assume che tu abbia già configurato il kernel con il supporto - per la porta seriale alla quale è connesso il terminale — - e che questo sia già connesso.</para> - - <para>Dovresti ricordare dal <xref linkend="boot"> che il processo - <command>init</command> è responsabile del controllo di tutti i - processi e dell'inizializzazione del sistema all'avvio. Uno dei compiti - svolti da <command>init</command> è la lettura del file - <filename>/etc/ttys</filename> e l'avvio di un processo - <command>getty</command> sui terminali disponibili. - Il processo <command>getty</command> è responsabile della lettura - di un nome di login e dell'avvio del programma - <command>login</command>.</para> - - <para>Dunque, per configurare i terminali per il tuo sistema FreeBSD - devono essere effettuati come <username>root</username> i seguenti - passi:</para> - - <procedure> - <step> - <para>Aggiungi una linea a <filename>/etc/ttys</filename> relativa al - file in <filename>/dev</filename> per la porta seriale, se non - è già presente.</para> - </step> - - <step> - <para>Specifica che <command>/usr/libexec/getty</command> deve essere - eseguito sulla porta, e specifica il tipo appropriato di - <replaceable>getty</replaceable> dal file - <filename>/etc/gettytab</filename>.</para> - </step> - - <step> - <para>Specifica il tipo di terminale predefinito.</para> - </step> - - <step> - <para>Imposta la porta su <quote>on</quote>.</para> - </step> - - <step> - <para>Specifica se la porta deve essere - <quote>sicura</quote>.</para> - </step> - - <step> - <para>Forza <command>init</command> alla rilettura del file - <filename>/etc/ttys</filename>.</para> - </step> - </procedure> - - <para>Come passo opzionale, potresti desiderare di creare un tipo di - <replaceable>getty</replaceable> personale da usare nel secondo passo - aggiungendo una linea in <filename>/etc/gettytab</filename>. Questo - capitolo non spiega come fare ciò; sei incoraggiato a leggere le - pagine man di &man.gettytab.5; e &man.getty.8; per maggiori - informazioni.</para> - - <sect3 id="term-etcttys"> - <title>Aggiunta di un Elemento in <filename>/etc/ttys</filename></title> - - <para>Il file <filename>/etc/ttys</filename> elenca tutte le porte - del tuo sistema FreeBSD dalle quali vuoi permettere un login. - Ad esempio, la prima console virtuale <filename>ttyv0</filename> - è elencata in questo file. Si può accedere al sistema - dalla console grazie a questa voce. Questo file contiene anche delle - voci per altre console virtuali, porte seriali, e pseudo-tty. Per un - terminale connesso fisicamente, basta copiare l'elenco delle porte - seriali in <filename>/dev</filename> - senza la parte <filename>/dev</filename> (ad esempio, - <filename>/dev/ttyv0</filename> verrà scritta come - <devicename>ttyv0</devicename>).</para> - - <para>Un'installazione predefinita di FreeBSD include un file - <filename>/etc/ttys</filename> con supporto per le prime - quattro porte seriali: da <filename>ttyd0</filename> a - <filename>ttyd3</filename>. Se vuoi collegare un terminale - a una di queste porte, non hai bisogno di aggiungere un'altra - voce.</para> - - <example id="ex-etc-ttys"> - <title>Aggiunta di Voci per Altri Terminali a - <filename>/etc/ttys</filename></title> - - <para>Supponiamo che si vogliano collegare due terminali ad un - sistema: un Wyse-50 ed un vecchio PC IBM 286 con - <application>Procomm</application> come programma di emulazione di - terminale VT-100. Colleghiamo il Wyse alla seconda porta seriale - ed il 286 alla sesta (una porta su scheda seriale multiporta). - Le voci corrispondenti nel file <filename>/etc/ttys</filename> - apparirebbero così:</para> - - <programlisting>ttyd1<co - id="co-ttys-line1col1"> "/usr/libexec/getty std.38400"<co - id="co-ttys-line1col2"> wy50<co - id="co-ttys-line1col3"> on<co - id="co-ttys-line1col4"> insecure<co - id="co-ttys-line1col5"> -ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure</programlisting> - - <calloutlist> - <callout arearefs="co-ttys-line1col1"> - <para>Il primo campo in genere specifica il nome del file - speciale per il terminale, come si trova in - <filename>/dev</filename>.</para> - </callout> - - <callout arearefs="co-ttys-line1col2"> - <para>Il secondo campo è il comando da eseguire per questa - linea, generalmente &man.getty.8;. - <command>getty</command> inizializza ed apre la linea, - imposta la velocità, richiede all'utente un nome di login - e poi esegue il programma &man.login.1;.</para> - - <para>Il programma <command>getty</command> accetta un parametro - (opzionale) da riga di comando, il tipo di - <replaceable>getty</replaceable>. Un tipo di - <replaceable>getty</replaceable> configura le caratteristiche - della linea del terminale, come la frequenza di bit per secondo - e la parità. Il programma <command>getty</command> legge - questa caratteristiche dal file - <filename>/etc/gettytab</filename>.</para> - - <para>Il file <filename>/etc/gettytab</filename> - contiene molte voci per le linee di terminale sia vecchie che - nuove. In quasi tutti i casi, le voci che cominciano per - <literal>std</literal> funzioneranno con i terminali connessi - fisicamente. Queste voci ignorano la parità. - C'è una voce <literal>std</literal> per ogni frequenza di - bps da 110 a 115200. Naturalmente, puoi aggiungere le tue - voci a questo file. La pagina man di &man.gettytab.5; - fornisce maggiori informazioni.</para> - - <para>Nell'impostare il tipo di <replaceable>getty</replaceable> - nel file <filename>/etc/ttys</filename>, assicurati - che le impostazioni di comunicazione sul terminale - corrispondano.</para> - - <para>Nel nostro esempio, il Wyse-50 non usa parità e si - connette a 38400 bps. Il PC 286 non usa parità - e si connette a 19200 bps.</para> - </callout> - - <callout arearefs="co-ttys-line1col3"> - <para>Il terzo campo è il tipo di terminale generalmente - collegato alla linea tty. Per le porte dial-up, viene usato - tipicamente <literal>unknown</literal> o - <literal>dialup</literal> poiché gli utenti possono - collegarsi con praticamente qualunque tipo di terminale o - programma. - Per i terminali connessi direttamente, il tipo di terminale - non cambia, quindi puoi mettere un vero tipo di terminale - preso dal file database di &man.termcap.5; in questo - campo.</para> - - <para>Per il nostro esempio, il Wyse-50 usa il tipo - per il vero terminale mentre il PC 286 con - <application>Procomm</application> in esecuzione - verrà impostato per emulare un VT-100.</para> - </callout> - - <callout arearefs="co-ttys-line1col4"> - <para>Il quarto campo specifica se la porta deve essere abilitata. - Scrivere <literal>on</literal> qui farà sì che il - processo <command>init</command> avvii il programma nel secondo - campo, <command>getty</command>. Se metti - <literal>off</literal> in questo campo, non ci sarà - nessun <command>getty</command>, e dunque nessun login sulla - porta.</para> - </callout> - - <callout arearefs="co-ttys-line1col5"> - <para>Il campo finale è usato per specificare se la porta - è sicura. - Segnare una porta come sicura significa - confidare nel fatto che non ci sia rischio nel permettere - all'account di <username>root</username> (o ad un altro con - user ID uguale a 0) di effettuare il login da quella porta. - Porte insicure non permettono il login a - <username>root</username>. - Su una porta insicura, gli utenti devono effettuare - un login con accesso non privilegiato, e poi usare &man.su.1; o - un meccanismo simile per ottenere privilegi superiori.</para> - - <para>È fortemente consigliato l'uso di - <quote>insecure</quote> anche per i terminali che si trovano - dietro porte chiuse a chiave. - È abbastanza semplice effettuare il login e usare - <command>su</command> se si ha bisogno di privilegi da - superutente.</para> - </callout> - </calloutlist> - </example> - </sect3> - - <sect3 id="term-hup"> - <title>Come Forzare <command>init</command> a Rileggere - <filename>/etc/ttys</filename></title> - - <para>Dopo aver effettuato i cambiamenti necessari al file - <filename>/etc/ttys</filename> si deve mandare un segnale SIGHUP - (hangup) al processo <command>init</command> affinché sia - costretto a rileggere il suo file di configurazione. - Ad esempio:</para> - - <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> - - <note> - <para><command>init</command> è sempre il primo processo - eseguito su un sistema dunque avrà sempre PID 1.</para> - </note> - - <para>Se tutto è stato impostato correttamente, tutti i cavi sono - collegati, ed i terminali sono accesi, allora un processo - <command>getty</command> dovrebbe essere in esecuzione su ogni - terminale e a questo punto dovresti vedere dei prompt per il login sui - tuoi terminali.</para> - </sect3> - </sect2> - - <sect2 id="term-debug"> - <title>Risoluzione dei Problemi di Connessione</title> - - <para>Anche con la più meticolosa attenzione ai dettagli, qualcosa - potrebbe comunque andare storto nell'impostazione di un terminale. - Questa è una lista dei sintomi e di alcuni suggerimenti per - risolverli.</para> - - <sect3> - <title>Non Appare Nessun Prompt per il Login</title> - - <para>Assicurati che il terminale sia connesso e acceso. - Se è un personal computer che funziona da terminale, - assicurati che il programma di emulazione di terminale sia attivo - sulla porta seriale giusta.</para> - - <para>Assicurati che il cavo sia ben connesso sia al terminale che - al computer FreeBSD. Assicurati che sia il giusto tipo di - cavo.</para> - - <para>Assicurati che il terminale e FreeBSD siano concordi sul - valore di bps e sulle impostazioni di parità. Se hai un - terminale con un display video, assicurati - che il contrasto e la luminosità siano giusti. Se è - un terminale di stampa, assicurati che ci siano carta e inchiostro - sufficienti.</para> - - <para>Assicurati che il processo <command>getty</command> sia attivo - per quel terminale. Ad esempio, per avere una lista dei processi - <command>getty</command> con <command>ps</command>, scrivi:</para> - - <screen>&prompt.root; <userinput>ps -axww | grep getty</userinput></screen> - - <para>dovresti vedere una voce per il terminale. Ad esempio, - la schermata seguente mostra che - <command>getty</command> è in esecuzione sulla seconda - porta seriale <literal>ttyd1</literal> e sta usando la voce - <literal>std.38400</literal> in - <filename>/etc/gettytab</filename>:</para> - - <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1</screen> - - <para>Se non c'è nessun processo <command>getty</command> in - esecuzione, assicurati di aver abilitato la porta in - <filename>/etc/ttys</filename>. - Ricordati anche di eseguire <command>kill -HUP 1</command> - dopo aver modificato il file <filename>ttys</filename>.</para> - - <para>Se il processo <command>getty</command> è attivo ma - il terminale non mostra ancora un prompt di login, - o se mostra un prompt ma non ti permette di digitare nulla, - il tuo terminale o il tuo cavo potrebbero non supportare la - transazione hardware. Prova a cambiare il valore in - <filename>/etc/ttys</filename> da <literal>std.38400</literal> a - <literal>3wire.38400</literal> (e ricordati di dare un - <command>kill -HUP 1</command> dopo aver modificato - <filename>/etc/ttys</filename>). - La voce <literal>3wire</literal> è simile a - <literal>std</literal>, ma ignora l'handshake hardware. - Potresti aver bisogno di ridurre i baud o - di abilitare un controllo di flusso software usando - <literal>3wire</literal> per evitare dei buffer - overflow.</para> - </sect3> - - <sect3> - <title>Compaiono Caratteri Strani Invece di un Prompt di Login</title> - - <para>Assicurati che il terminale e FreeBSD siano concordi sui bps - e sulle impostazioni di parità. Verifica i processi - <command>getty</command> per assicurarti che sia in funzione il - tipo corretto di <replaceable>getty</replaceable>. - Se non è così, - modifica <filename>/etc/ttys</filename> ed esegui <command>kill - -HUP 1</command>.</para> - </sect3> - - <sect3> - <title>I Caratteri Appaiono Duplicati; la Password Viene Visualizzata - Quando la Scrivo</title> - - <para>Cambia l'impostazione del terminale (o del programma di - emulazione) da <quote>half duplex</quote> o - <quote>local echo</quote> a <quote>full duplex</quote>.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="dialup"> - <sect1info> - <authorgroup> - <author> - <firstname>Guy</firstname> - - <surname>Helmer</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Sean</firstname> - - <surname>Kelly</surname> - - <contrib>Aggiunte di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Servizio di Ricezione Chiamate</title> - - <indexterm><primary>servizio di ricezione chiamate</primary></indexterm> - - <para>La configurazione del sistema FreeBSD per il servizio di ricezione - chiamate è molto simile alla connessione di terminali tranne per il - fatto che si ha a che fare con dei modem invece che con dei - terminali.</para> - - <sect2> - <title>Modem Esterni contro Modem Interni</title> - - <para>I modem esterni sembrerebbero migliori per chiamare, - poiché i modem esterni spesso possono essere configurati in - maniera semipermanente tramite dei parametri immagazzinati in RAM non - volatile e generalmente forniscono degli indicatori luminosi che - mostrano lo stato degli importanti segnali RS-232. Le lucine - lampeggianti impressionano gli ospiti, ma sono anche molto - utili per vedere se un modem sta funzionando in maniera - appropriata.</para> - - <para>I modem interni in genere mancano della RAM non-volatile, quindi - la loro configurazione può essere limitata solo impostando i DIP - switch. Se il tuo modem interno ha delle luci indicatrici di - segnale, probabilmente è difficile vederle quando il case del - sistema è al suo posto.</para> - - <sect3> - <title>Modem e Cavi</title> - - <indexterm><primary>modem</primary></indexterm> - - <para>Se stai usando un modem esterno, allora avrai bisogno - del cavo appropriato. Un cavo seriale standard RS-232C - dovrebbe essere sufficiente, posto che tutti i normali segnali siano - connessi:</para> - - <itemizedlist> - <listitem> - <para>Sent Data (<acronym>TD</acronym>)</para> - </listitem> - - <listitem> - <para>Received Data (<acronym>RD</acronym>)</para> - </listitem> - - <listitem> - <para>Request to Send (<acronym>RTS</acronym>)</para> - </listitem> - - <listitem> - <para>Clear to Send (<acronym>CTS</acronym>)</para> - </listitem> - - <listitem> - <para>Data Set Ready (<acronym>DSR</acronym>)</para> - </listitem> - - <listitem> - <para>Data Terminal Ready (<acronym>DTR</acronym>)</para> - </listitem> - - <listitem> - <para>Carrier Detect (<acronym>CD</acronym>)</para> - </listitem> - - <listitem> - <para>Signal Ground (<acronym>SG</acronym>)</para> - </listitem> - </itemizedlist> - - <para>FreeBSD necessita dei segnali <acronym>RTS</acronym> e - <acronym>CTS</acronym> per il controllo di flusso a velocità - superiori a 2400 bps, del segnale <acronym>CD</acronym> per - identificare quando c'è stata una risposta alla chiamata o - quando una linea è stata scollegata, e del - segnale <acronym>DTR</acronym> per dare il reset al modem dopo che una - sessione è terminata. Alcuni cavi sono connessi senza alcuni - dei segnali necessari, dunque se hai dei problemi, come una sessione - di login che non scompare quando la linea è sconnessa, potresti - avere un problema col cavo.</para> - - <para>Come altri sistemi operativi &unix;, FreeBSD usa i segnali - hardware per scoprire quando una chiamata è stata accettata - o quando una linea è stata scollegata e per scollegare e - resettare il modem dopo una chiamata. - FreeBSD evita di mandare comandi al modem - o di leggere i valori riportati dal modem. Se hai familiarità - con la connessione dei modem a BBS di PC, questo potrebbe sembrarti - scomodo.</para> - </sect3> - </sect2> - - <sect2> - <title>Considerazioni sull'Interfaccia Seriale</title> - - <para>FreeBSD supporta interfacce di comunicazione EIA RS-232C - (CCITT V.24) basate su NS8250, NS16450, NS16550, e NS16550A. - I dispositivi 8250 e 16450 hanno buffer di un singolo carattere. - Il dispositivo 16550 fornisce un buffer di 16 caratteri, che permette - prestazioni del sistema migliori. (Dei bug nel normale 16550 - impediscono l'uso del buffer di 16 caratteri, quindi usate 16550A se - possibile). - A causa del buffer a singolo carattere questi dispositivi richiedono - un lavoro maggiore da parte del sistema operativo rispetto ai - dispositivi a 16 caratteri di buffer, le schede d'interfaccia seriale - basate su 16550A sono preferibili. Se il sistema ha molte porte - seriali attive o dovrà sopportare un grosso carico, le schede - basate su 16550A sono migliori per comunicazioni a basso tasso - d'errore.</para> - </sect2> - - <sect2> - <title>Breve Panoramica</title> - - <indexterm><primary>getty</primary></indexterm> - - <para>Come con i terminali, <command>init</command> lancia un processo - <command>getty</command> per ogni porta seriale configurata - per connessioni in ingresso. Ad esempio, se un modem è connesso - a <filename>/dev/ttyd0</filename>, il comando - <command>ps ax</command> mostrerà questo:</para> - - <screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0</screen> - - <para>Quando un utente chiama la linea del modem e questo si collega, il - modem riporterà la linea <acronym>CD</acronym> (Carrier Detect). - Il kernel nota che la portante è stata rilevata e completa - l'apertura della porta con <command>getty</command>. - <command>getty</command> invia un prompt <prompt>login:</prompt> alla - velocità iniziale di linea specificata. - <command>getty</command> aspetta per verificare che vengano ricevuti - caratteri legittimi, e, in una tipica configurazione, se trova dei - caratteri strani (probabilmente perché la velocità del - modem è differente da quella di - <command>getty</command>), <command>getty</command> cerca - di calibrare la velocità di linea fino a ricevere dei caratteri - ragionevoli.</para> - - <indexterm> - <primary><command>/usr/bin/login</command></primary> - </indexterm> - - <para>Dopo che l'utente ha inserito il suo nome di login, - <command>getty</command> esegue - <filename>/usr/bin/login</filename>, che completa il login - richiedendo la password per l'utente ed avviandone la shell.</para> - </sect2> - - <sect2> - <title>File di Configurazione</title> - - <para>Ci sono tre file di configurazione di sistema nella directory - <filename>/etc</filename> che avrai probabilmente bisogno di modificare - per permettere chiamate in ingresso sul tuo sistema FreeBSD. Il primo, - <filename>/etc/gettytab</filename>, contiene le informazioni di - configurazione per il demone <filename>/usr/libexec/getty</filename>. - Il secondo, <filename>/etc/ttys</filename> contiene le informazioni che - dicono a <filename>/sbin/init</filename> quali dispositivi - <filename>tty</filename> devono avere processi <command>getty</command> - in esecuzione. - Infine, si possono mettere comandi di inizializzazione nello script - <filename>/etc/rc.serial</filename>.</para> - - <para>Ci sono due scuole di pensiero riguardo i modem su &unix;. - Un gruppo preferisce configurare i propri modem in maniera che - qualunque sia la velocità con la quale un utente remoto si - collega, l'interfaccia locale RS-232 computer-modem funzioni ad una - velocità fissa. - Il beneficio di questa configurazione è che l'utente - remoto vede sempre un prompt di login immediato. - Il lato negativo è che il sistema non sa quale sia la vera - velocità di trasmissione - dati di un utente, quindi programmi a tutto schermo come Emacs - non modificheranno i loro metodi di rappresentazione dello schermo per - ottimizzare la risposta su connessioni lente.</para> - - <para>L'altra scuola di pensiero configura le proprie interfacce RS-232 - verso il modem per variare la propria velocità rispetto a quella - di connessione dell'utente remoto. - Ad esempio, le connessioni V.32bis (14.4 Kbps) faranno sì - che il modem faccia funzionare la propria interfaccia RS-232 a - 19.2 Kbps, mentre le connessioni a 2400 bps faranno sì - che funzioni a 2400 bps. - Poiché <command>getty</command> non comprende nessun valore - restituito dal modem riguardo la velocità di connessione, - <command>getty</command> darà un messaggio - <prompt>login:</prompt> ad una velocità iniziale fissata e - aspetterà i caratteri in risposta. Se l'utente vede caratteri - strani, si assume che sappia che dovrà premere - <keycode>Invio</keycode> finché non vedrà un prompt - riconoscibile. Se le frequenze di trasmissione non concordano, - <command>getty</command> vedrà tutto ciò che l'utente - preme come <quote>spazzatura</quote>, cercherà di passare alla - velocità seguente e invierà - il prompt <prompt>login:</prompt> di nuovo. Questa procedura - potrebbe continuare ad nauseam, ma normalmente ci vogliono solo una o - due pressioni sui tasti prima che l'utente veda un buon prompt. - Ovviamente, questa - sequenza di login non è pulita come la precedente a - <quote>velocità fissata</quote>, ma un utente su una - connessione a bassa velocità dovrebbe ricevere una risposta - interattiva migliore da programmi a tutto schermo.</para> - - <para>Questa sezione cercherà di fornire informazioni di - configurazione bilanciate, ma è indirizzata verso l'approccio di - avere la frequenza di trasmissione del modem - che segue la velocità della connessione.</para> - - <sect3> - <title><filename>/etc/gettytab</filename></title> - - <indexterm> - <primary><filename>/etc/gettytab</filename></primary> - </indexterm> - - <para><filename>/etc/gettytab</filename> è un file di - configurazione sul modello di &man.termcap.5; per &man.getty.8;. - Si prega di vedere la pagina man di &man.gettytab.5; per le - informazioni complete sul formato del file - e la lista delle sue possibilità.</para> - - <sect4> - <title>Configurazione a Velocità Fissa</title> - - <para>Se stai fissando la frequenza di comunicazione del modem ad - una velocità particolare, probabilmente non avrai bisogno di - effettuare nessun cambiamento a - <filename>/etc/gettytab</filename>.</para> - </sect4> - - <sect4> - <title>Configurazione a Velocità Concordata</title> - - <para>C'è bisogno di impostare una voce in - <filename>/etc/gettytab</filename> per dare a - <command>getty</command> le informazioni sulla velocità che - si vuole usare per il modem. Se si possiede un modem a - 2400 bps, probabilmente è possibile usare - la voce <literal>D2400</literal> già esistente.</para> - - <programlisting># -# Terminali chiamanti veloci, a rotazione 2400/1200/300 -# (può impostarsi in tutti i modi) -# -D2400|d2400|Fast-Dial-2400:\ - :nx=D1200:tc=2400-baud: -3|D1200|Fast-Dial-1200:\ - :nx=D300:tc=1200-baud: -5|D300|Fast-Dial-300:\ - :nx=D2400:tc=300-baud:</programlisting> - - <para>Se si possiede un modem con velocità maggiore, - probabilmente sarà necessario - aggiungere una voce in <filename>/etc/gettytab</filename>; qui - c'è un esempio per modem a 14.4 Kbps modem con una - velocità massima d'interfaccia di 19.2 Kbps:</para> - - <programlisting># -# Aggiunte per un modem V.32bis -# -um|V300|High Speed Modem at 300,8-bit:\ - :nx=V19200:tc=std.300: -un|V1200|High Speed Modem at 1200,8-bit:\ - :nx=V300:tc=std.1200: -uo|V2400|High Speed Modem at 2400,8-bit:\ - :nx=V1200:tc=std.2400: -up|V9600|High Speed Modem at 9600,8-bit:\ - :nx=V2400:tc=std.9600: -uq|V19200|High Speed Modem at 19200,8-bit:\ - :nx=V9600:tc=std.19200:</programlisting> - - <para>Questo risulterà in una connessione a 8-bit, senza - parità.</para> - - <para>L'esempio precedente avvia la comunicazione a 19.2 Kbps - (per una connessione V.32bis), poi cicla tra 9600 bps (per - V.32), 2400 bps, 1200 bps, 300 bps, e poi ancora a - 19.2 Kbps. - Il ciclo sulle frequenze di comunicazione è implementato con - <literal>nx=</literal> (<quote>next table</quote>). - Ogni linea usa una voce <literal>tc=</literal> (<quote>table - continuation</quote>) per continuare a leggere le impostazioni - <quote>standard</quote> per una frequenza particolare.</para> - - <para>Se hai un modem a 28.8 Kbps e/o vuoi avvantaggiarti della - compressione su un modem a 14.4 Kbps, hai bisogno di usare una - frequenza di comunicazione più alta di 19.2 Kbps. Qui - c'è un esempio di voce per <filename>gettytab</filename> che - imposta la velocità a 57.6 Kbps:</para> - - <programlisting># -# Aggiunte per modem V.32bis o V.34 Modem -# Impostazione a 57.6 Kbps -# -vm|VH300|Very High Speed Modem at 300,8-bit:\ - :nx=VH57600:tc=std.300: -vn|VH1200|Very High Speed Modem at 1200,8-bit:\ - :nx=VH300:tc=std.1200: -vo|VH2400|Very High Speed Modem at 2400,8-bit:\ - :nx=VH1200:tc=std.2400: -vp|VH9600|Very High Speed Modem at 9600,8-bit:\ - :nx=VH2400:tc=std.9600: -vq|VH57600|Very High Speed Modem at 57600,8-bit:\ - :nx=VH9600:tc=std.57600:</programlisting> - - <para>Se hai una CPU lenta o un carico di sistema pesante e non hai - porte seriale 16550A, potresti ricevere errori - <errorname>sio</errorname> <quote>silo</quote> a - 57.6 Kbps.</para> - </sect4> - </sect3> - - <sect3 id="dialup-ttys"> - <title><filename>/etc/ttys</filename></title> - - <indexterm><primary><filename>/etc/ttys</filename></primary></indexterm> - - <para>La configurazione del file <filename>/etc/ttys</filename> - è stata affrontata nella <xref linkend="ex-etc-ttys">. - La configurazione dei modem è simile ma dobbiamo passare - un argomento differente a <command>getty</command> e specificare un - tipo di terminale differente. Il formato generale per la - configurazione sia a velocità fissata che per quella - concordata è:</para> - - <programlisting>ttyd0 "/usr/libexec/getty <replaceable>xxx</replaceable>" dialup on</programlisting> - - <para>Il primo elemento nella linea precedente è il file di - dispositivo per questa voce — <literal>ttyd0</literal> significa - che <filename>/dev/ttyd0</filename> è il file che verrà - tenuto d'occhio da <command>getty</command>. Il secondo elemento, - <literal>"/usr/libexec/getty <replaceable>xxx</replaceable>"</literal> - (<replaceable>xxx</replaceable> verrà rimpiazzato dalla - capacità iniziale di <filename>gettytab</filename>) è - il processo che <command>init</command> eseguirà sul - dispositivo. Il terzo elemento, <literal>dialup</literal>, è - il tipo predefinito di terminale. Il quarto parametro, - <literal>on</literal>, indica a <command>init</command> che quella - linea è operativa. Potrebbe esserci un quinto parametro, - <literal>secure</literal>, ma dovrebbe essere usato solo per i - terminali che siano fisicamente sicuri (come la console di - sistema).</para> - - <para>Il tipo di terminale predefinito (<literal>dialup</literal> - nell'esempio precedente) potrebbe dipendere dalle preferenze locali. - <literal>dialup</literal> è il terminale tradizionale - predefinito sulle linee di ingresso in maniera che gli utenti possano - personalizzare i loro script di login per notare quando il terminale - è <literal>dialup</literal> e modificare - automaticamente il loro tipo di terminale. Ad ogni modo, l'autore - ritiene più semplice specificare <literal>vt102</literal> come - tipo di terminale predefinito, poiché l'utente può usare - semplicemente un'emulazione VT102 sul suo sistema remoto.</para> - - <para>Dopo aver effettuato i cambiamenti a - <filename>/etc/ttys</filename>, puoi inviare un segnale - <acronym>HUP</acronym> a <command>init</command> per fargli - rileggere il file. Puoi usare il comando - <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> - per inviare il segnale. Se questa è la prima volta che cambi - le impostazioni del sistema, puoi aspettare finché il modem non - sia configurato in maniera appropriata e connesso, prima di inviare il - segnale a <command>init</command>.</para> - - <sect4> - <title>Configurazione a Velocità Fissa</title> - - <para>Per una configurazione a velocità fissa, la voce - in <filename>ttys</filename> ha bisogno di una voce che gestisca la - velocità fissa anche per <command>getty</command>. - Per un modem la cui velocità sulla porta - sia bloccata a 19.2 Kbps, la voce in <filename>ttys</filename> - potrebbe essere così:</para> - - <programlisting>ttyd0 "/usr/libexec/getty std.19200" dialup on</programlisting> - - <para>Se il tuo modem è bloccato su una frequenza di - trasmissione differente, sostituisci il valore appropriato per - <literal>std.<replaceable>velocità</replaceable></literal> - al posto di <literal>std.19200</literal>. Assicurati di usare - un tipo valido elencato in - <filename>/etc/gettytab</filename>.</para> - </sect4> - - <sect4> - <title>Configurazione a Velocità Concordata</title> - - <para>In una configurazione a velocità concordata, la voce in - <filename>ttys</filename> deve fare riferimento alla voce - iniziale <quote>auto-baud</quote> (sic) in - <filename>/etc/gettytab</filename>. Ad esempio, se hai aggiunto la - riga suggerita precedentemente per un modem con velocità - variabile che inizi a 19.2 Kbps (la riga in - <filename>gettytab</filename> contenente - il punto d'avvio <literal>V19200</literal>), la riga in - <filename>ttys</filename> potrebbe essere questa:</para> - - <programlisting>ttyd0 "/usr/libexec/getty V19200" dialup on</programlisting> - </sect4> - </sect3> - - <sect3> - <title><filename>/etc/rc.serial</filename></title> - - <indexterm> - <primary>file rc</primary> - <secondary><filename>rc.serial</filename></secondary> - </indexterm> - - <para>I modem ad alta velocità, come i V.32, i V.32bis, e i V.34, - necessitano di un controllo di flusso hardware - (<filename>RTS/CTS</filename>). - Puoi aggiungere dei comandi <command>stty</command> al file - <filename>/etc/rc.serial</filename> per impostare i - flag di controllo di flusso nel kernel FreeBSD per le porte del - modem.</para> - - <para>Ad esempio per impostare il flag <literal>termios</literal> - <varname>crtscts</varname> sui dispositivi di inizializzazione - di ingresso e uscita della porta seriale numero 1 - (<devicename>COM2</devicename>), si possono aggiungere le - seguenti linee a <filename>/etc/rc.serial</filename>:</para> - - <programlisting># Configurazione iniziale della porta seriale -stty -f /dev/ttyid1 crtscts -stty -f /dev/cuaia1 crtscts</programlisting> - </sect3> - </sect2> - - <sect2> - <title>Impostazioni del Modem</title> - - <para>Se hai uno di quei modem i cui parametri possono essere impostati in - maniera permanente in RAM non volatile, avrai bisogno di usare un - programma terminale (come Telix su &ms-dos; o <command>tip</command> - sotto FreeBSD) per impostare i parametri. Collegati al modem usando le - stesse velocità iniziali e di comunicazione - che userebbe <command>getty</command> e configura la RAM non volatile - secondo queste necessità:</para> - - <itemizedlist> - <listitem> - <para><acronym>CD</acronym> attivo per la connessione</para> - </listitem> - - <listitem> - <para><acronym>DTR</acronym> attivo per l'operazione; l'assenza del - DTR porta allo scollegamento della linea e al reset del modem</para> - </listitem> - - <listitem> - <para><acronym>CTS</acronym> controllo di flusso dei dati - trasmessi</para> - </listitem> - - <listitem> - <para>Disabilita il controllo di flusso - <acronym>XON/XOFF</acronym></para> - </listitem> - - <listitem> - <para><acronym>RTS</acronym> controllo di flusso dei dati - ricevuti</para> - </listitem> - - <listitem> - <para>Modalità silenziosa (nessun codice di risposta)</para> - </listitem> - - <listitem> - <para>Nessun echo dei comandi</para> - </listitem> - </itemizedlist> - - <para>Leggi la documentazione del tuo modem per capire quali - comandi e/o impostazioni per i DIP switch sia necessario - fornirgli.</para> - - <para>Ad esempio, per impostare i parametri precedenti su un &usrobotics; - &sportster; 14.400 esterno, si potrebbero dare questi comandi - al modem:</para> - - <programlisting>ATZ -AT&C1&D2&H1&I0&R2&W</programlisting> - - <para>Potresti anche sfruttare questa opportunità per raffinare - le impostazioni del modem, ad esempio per decidere se dovrà usare - V.42bis e/o la compressione MNP5.</para> - - <para>Il modem esterno &usrobotics; &sportster; 14.400 ha anche dei DIP - switch che devono essere impostati; per altri modem, forse potrai usare - queste impostazioni come esempio:</para> - - <itemizedlist> - <listitem> - <para>Switch 1: SU — DTR Normale</para> - </listitem> - - <listitem> - <para>Switch 2: N/D (Codici di Risposta Verbali/Codici di Risposta - Numerici</para> - </listitem> - - <listitem> - <para>Switch 3: SU — Sopprime i Codici di Risposta</para> - </listitem> - - <listitem> - <para>Switch 4: GIÙ — Nessun echo, comandi offline </para> - </listitem> - - <listitem> - <para>Switch 5: SU — Auto risposta</para> - </listitem> - - <listitem> - <para>Switch 6: SU — Carrier Detect Normale</para> - </listitem> - - <listitem> - <para>Switch 7: SU — Carica i valori predefiniti - dall'NVRAM</para> - </listitem> - - <listitem> - <para>Switch 8: N/D (Modalità intelligente/modalità - stupida)</para> - </listitem> - </itemizedlist> - - <para>I codici di risposta dovrebbero essere disabilitati/soppressi per i - modem chiamanti per evitare i problemi che possono capitare - se <command>getty</command> dà incidentalmente un prompt - <prompt>login:</prompt> ad un modem che si trova in modalità - di comando ed il modem restituisce l'eco del comando o un codice di - risposta. Questa sequenza può portare ad una lunga, stupida - conversazione tra <command>getty</command> ed il modem.</para> - - <sect3> - <title>Configurazione a Velocità Fissa</title> - - <para>Per una configurazione a velocità fissa, avrai bisogno di - configurare il modem affinché mantenga una frequenza dati - da modem a computer indipendente dalla frequenza di comunicazione. - Su un modem esterno &usrobotics; &sportster; 14.400 - questi comandi bloccheranno la velocità dati tra modem e - computer alla velocità con la quale i comandi sono stati - inviati:</para> - - <programlisting>ATZ -AT&B1&W</programlisting> - </sect3> - - <sect3> - <title>Configurazione a Velocità Concordata</title> - - <para>Per una configurazione a velocità concordata, sarà - necessario configurare il modem affinché modifichi la frequenza - dei dati della porta seriale relativamente alla velocità di - arrivo. Su un modem esterno &usrobotics; &sportster; 14.400, questi - comandi causeranno il blocco della frequenza di trasmissione dati con - correzione d'errore del modem sulla velocità con il quale - è stato inviato il comando, ma permetteranno variazioni della - velocità della porta seriale per le connessioni senza - correzione d'errore:</para> - - <programlisting>ATZ -AT&B2&W</programlisting> - </sect3> - - <sect3> - <title>Verifica della Configurazione del Modem</title> - - <para>La maggior parte dei modem ad alta velocità fornisce - comandi per verificare i parametri funzionali usati dal modem in - maniera più o meno comprensibile. - Sui modem esterni &usrobotics; &sportster; 14.400, il comando - <command>ATI5</command> mostra le impostazioni che sono immagazzinate - nella RAM non volatile. Per vedere i veri parametri operativi del - modem (così come vengono influenzati dai DIP switch del modem), - usa i comandi <command>ATZ</command> e <command>ATI4</command>.</para> - - <para>Se hai modem di marche differenti, verifica il manuale del tuo - modem per vedere come sia possibile un ulteriore controllo sui - parametri di configurazione del modem.</para> - </sect3> - </sect2> - - <sect2> - <title>Risoluzione dei Problemi</title> - - <para>Questi sono un po' di passi che è possibile seguire per - verificare il funzionamento del modem sul tuo sistema.</para> - - <sect3> - <title>Verifica del Sistema FreeBSD</title> - - <para>Collega il modem al sistema FreeBSD, avvia il sistema, e, - se il tuo modem ha luci di indicazione dello stato, guarda se la luce - <acronym>DTR</acronym> del modem si accende quando appare il prompt - <prompt>login:</prompt> sulla console del sistema - — se si accende, dovrebbe significare che FreeBSD ha avviato - un processo <command>getty</command> sulla porta di comunicazione - appropriata e sta aspettando una chiamata dal modem.</para> - - <para>Se l'indicatore <acronym>DTR</acronym> non lampeggia, effettua il - login sul sistema FreeBSD dalla console e dai il comando <command>ps - ax</command> per verificare se FreeBSD sta cercando di eseguire un - processo <command>getty</command> sulla porta corretta. Dovresti - vedere linee come queste tra i processi mostrati:</para> - - <screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 - 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1</screen> - - <para>Se vedi qualcosa di diverso, come questo:</para> - - <screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0</screen> - - <para>ed il modem non ha ancora accettato chiamate, ciò - significa che <command>getty</command> ha completato l'apertura della - porta di comunicazione. - Questo potrebbe indicare un problema nei cavi o un modem - mal configurato, poiché <command>getty</command> non dovrebbe - completare l'apertura della porta fino al rilevamento del segnale - <acronym>CD</acronym> (carrier detect).</para> - - <para>Se non vedi nessun processo <command>getty</command> in attesa - sulla porta <filename>ttyd<replaceable>N</replaceable></filename> - scelta, ricontrolla le voci in <filename>/etc/ttys</filename> per - vedere se ci sono errori lì. Inoltre, controlla il file di log - <filename>/var/log/messages</filename> per vedere se ci sono messaggi - di <command>init</command> o <command>getty</command> - riguardo i loro problemi. Se ci sono messaggi, ri-ricontrolla i file - di configurazione <filename>/etc/ttys</filename> e - <filename>/etc/gettytab</filename>, ed anche i file speciali di - dispositivo <filename>/dev/ttydN</filename>, cercando ogni errore, - voce mancante, o file di dispositivo mancante.</para> - </sect3> - - <sect3> - <title>Tentativo di Connessione in Ingresso</title> - - <para>Cerca di collegarti dall'esterno al sistema; assicurati di usare 8 - bit, nessuna parità, e 1 bit di stop sul sistema remoto. Se - non ottieni un prompt, o vengono visualizzati caratteri strani, prova - a premere <keycode>Invio</keycode> circa una volta per secondo. - Se dopo un po' ancora non vedi un prompt <prompt>login:</prompt>, - prova inviare un'<command>INTERRUZIONE</command>. Se stai usando un - modem ad alta velocità per effettuare la chiamata, prova a - richiamare dopo aver bloccato la velocità dell'interfaccia del - modem (tramite <command>AT&B1</command> su un &usrobotics; - &sportster;, ad esempio).</para> - - <para>Se ancora non ottieni alcun prompt <prompt>login:</prompt>, - verifica <filename>/etc/gettytab</filename> ancora e ricontrolla - che:</para> - - <itemizedlist> - <listitem> - <para>La capacità iniziale specificata in - <filename>/etc/ttys</filename> per quella linea corrisponda a - quella in <filename>/etc/gettytab</filename></para> - </listitem> - - <listitem> - <para>Ogni campo <literal>nx=</literal> corrisponda ad un - valore in <filename>gettytab</filename></para> - </listitem> - - <listitem> - <para>Ogni campo <literal>tc=</literal> corrisponda a un altro nome - di capacità in <filename>gettytab</filename></para> - </listitem> - </itemizedlist> - - <para>Se chiami ma il modem su FreeBSD non risponde, - assicurati che il modem sia configurato per rispondere alla chiamata - quando viene fornito un segnale <acronym>DTR</acronym>. Se il modem - sembra essere configurato correttamente, verifica che la linea - <acronym>DTR</acronym> sia attiva controllando - gli indicatori luminosi del modem (se ne ha).</para> - - <para>Se hai già controllato tutto quanto più volte ed - ancora non funziona, fai una pausa e riprova in seguito. Se ancora - non funziona puoi provare a inviare un messaggio di posta elettronica - alla &a.questions; descrivendo il tuo modem ed il tuo problema, e i - bravi ragazzi della lista cercheranno di darti una mano.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="dialout"> - <title>Servizio di Effettuazione Chiamate</title> - - <indexterm><primary>servizio di effettuazione chiamate</primary></indexterm> - - <para>I seguenti sono consigli per far sì che la tua macchina sia in - grado di connettersi tramite modem ad un altro computer. Questo è - appropriato per stabilire una sessione terminale con un host - remoto.</para> - - <para>Questo è utile per collegarsi ad una BBS.</para> - - <para>Questo tipo di connessione può essere estremamente utile per - ottenere un file da Internet se hai problemi con il PPP. Se hai - bisogno di usare l'FTP ed il PPP non funziona, usa la sessione terminale - per eseguire l'FTP. - Poi usa zmodem per trasferire il file sulla tua macchina.</para> - - <sect2> - <title>Il Mio Modem Hayes Stock Non È Supportato, Cosa Posso - Fare?</title> - - <para>Effettivamente, la pagina man di <command>tip</command> - è un po' datata. - C'è un compositore Hayes generico già integrato. Usa - semplicemente <literal>at=hayes</literal> nel tuo - <filename>/etc/remote</filename> file.</para> - - <para>Il driver Hayes non è abbastanza intelligente da riconoscere - alcune delle caratteristiche avanzate dei nuovi modem—messaggi - come <literal>BUSY</literal>, <literal>NO DIALTONE</literal>, o - <literal>CONNECT 115200</literal> lo confonderanno e basta. Dovrai - disattivare questi messaggi quando usate <command>tip</command> (usando - <command>ATX0&W</command>).</para> - - <para>Inoltre, il timeout di composizione per <command>tip</command> - è di 60 secondi. - Il tuo modem dovrebbe usare qualcosa di meno, altrimenti tip - penserà che ci sia un problema di comunicazione. Prova - <command>ATS7=45&W</command>.</para> - - <note> - <para>Come viene fornito, <command>tip</command> non supporta ancora - i modem Hayes completamente. La soluzione è modificare il file - <filename>tipconf.h</filename> nella directory - <filename>/usr/src/usr.bin/tip/tip</filename>. Ovviamente avrai - bisogno della distribuzione con i sorgenti per fare ciò.</para> - - <para>Modifica la linea <literal>#define HAYES 0</literal> a - <literal>#define HAYES 1</literal>. Poi dai i comandi - <command>make</command> e <command>make install</command>. - Tutto funziona bene dopo aver fatto questo.</para> - </note> - </sect2> - - <sect2 id="direct-at"> - <title>Come Dovrei Inserire Questi Comandi AT?</title> - - <indexterm><primary><filename>/etc/remote</filename></primary></indexterm> - - <para>Inserisci quella che viene definita una voce <quote>diretta</quote> - nel file <filename>/etc/remote</filename>. Ad esempio, se il tuo modem - è collegato alla prima porta seriale, - <filename>/dev/cuaa0</filename>, allora inserisci la riga - seguente:</para> - - <programlisting>cuaa0:dv=/dev/cuaa0:br#19200:pa=none</programlisting> - - <para>Usa la frequenza di bps più alta supportata dal tuo modem per - il valore di br. Poi, digita <command>tip cuaa0</command> e verrai - connesso al tuo modem.</para> - - <para>Se non c'è nessuna <filename>/dev/cuaa0</filename> sul tuo - sistema, fai questo:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> &prompt.root; <userinput>sh MAKEDEV cuaa0</userinput></screen> - - <para>O usa <command>cu</command> come <username>root</username> con il - seguente comando:</para> - - <screen>&prompt.root; <userinput>cu -l<replaceable>linea</replaceable> -s <replaceable>velocità</replaceable></userinput></screen> - - <para><replaceable>linea</replaceable> è la porta seriale - (es. <filename>/dev/cuaa0</filename>) e - <replaceable>velocità</replaceable> è la velocità - (es. <literal>57600</literal>). Quando hai finito di inserire i comandi - AT premi <keycap>~.</keycap> per uscire.</para> - </sect2> - - <sect2> - <title>Il Simbolo <literal>@</literal> per il Valore pn Non - Funziona!</title> - - <para>Il simbolo <literal>@</literal> come valore del numero telefonico - dice a tip di andare a cercare un numero telefonico in - <filename>/etc/phones</filename>. - Ma il segno <literal>@</literal> è anche un carattere speciale - nei file come <filename>/etc/remote</filename>. Devi farne l'escape con - un backslash:</para> - - <programlisting>pn=\@</programlisting> - </sect2> - - <sect2> - <title>Come Posso Chiamare Un Numero Telefonico Da Riga di - Comando?</title> - - <para>Metti una cosiddetta voce <quote>generica</quote> in - <filename>/etc/remote</filename>. Ad Esempio:</para> - - <programlisting>tip115200|Chiama un qualunque numero a 115200 bps:\ - :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: -tip57600|Chiama un qualunque numero a 57600 bps:\ - :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:</programlisting> - - <para>Poi puoi fare una cosa simile:</para> - - <screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen> - - <para>Se preferisci <command>cu</command> a <command>tip</command>, - usa una voce generica per <literal>cu</literal>:</para> - - <programlisting>cu115200|Usa cu per chiamare un numero qualsiasi a 115200bps:\ - :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</programlisting> - - <para>e digita:</para> - - <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen> - </sect2> - - <sect2> - <title>Devo Digitare La Frequenza di bps Ogni Volta Che lo Faccio?</title> - - <para>Metti una voce per <literal>tip1200</literal> o - <literal>cu1200</literal>, ma vai avanti e inserisci una qualunque - frequenza di bps appropriata per il valore di br. - <command>tip</command> pensa che un buon valore predefinito sia - 1200 bps, motivo per cui cerca una voce per - <literal>tip1200</literal>. - Non sei obbligato a usare 1200 bps, comunque.</para> - </sect2> - - <sect2> - <title>Accedo ad un Grande Numero di Host attraverso un Server di - Terminali</title> - - <para>Invece di aspettare fino ad essere connesso e poi digitare - <command>CONNECT <host></command> ogni volta, usa la - funzionalità <literal>cm</literal> di tip. Ad esempio, queste - voci in <filename>/etc/remote</filename>:</para> - - <programlisting>pain|pain.deep13.com|La macchina di Forrester:\ - :cm=CONNECT pain\n:tc=deep13: -muffin|muffin.deep13.com|La macchina di Frank:\ - :cm=CONNECT muffin\n:tc=deep13: -deep13:Server di terminali del Gizmonics Institute:\ - :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting> - - <para>ti permetteranno di digitare <command>tip pain</command> o - <command>tip muffin</command> per collegarti agli host pain o muffin, e - <command>tip deep13</command> per il server di terminali.</para> - </sect2> - - <sect2> - <title>Tip Può Provare Più di una Linea per ogni - Sito?</title> - - <para>Questo è spesso un problema quando una università ha - molte linee di modem e molte migliaia di studenti cercano di - usarle.</para> - - <para>Inserisci una voce per la tua università in - <filename>/etc/remote</filename> e usa <literal>@</literal> per il - campo <literal>pn</literal>:</para> - - <programlisting>big-university:\ - :pn=\@:tc=dialout -dialout:\ - :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:</programlisting> - - <para>Poi, elenca i numeri di telefono dell'università in - <filename>/etc/phones</filename>:</para> - - <programlisting>big-university 5551111 -big-university 5551112 -big-university 5551113 -big-university 5551114</programlisting> - - <para><command>tip</command> proverà ognuno di questi secondo - l'ordine, poi smetterà. Se vuoi continuare a riprovare, esegui - <command>tip</command> in un ciclo while.</para> - </sect2> - - <sect2> - <title>Perché Devo Premere <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>P</keycap> - </keycombo> Due Volte per Inviare Un Solo <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>P</keycap> - </keycombo>?</title> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>P</keycap> - </keycombo> è il carattere predefinito per - <quote>forzare</quote>, usato per dire a <command>tip</command> che il - prossimo carattere è un dato letterale. Puoi impostare il - carattere per forzare a qualsiasi altro carattere con il comando di - escape <command>~s</command>, che significa <quote>imposta una - variabile</quote>.</para> - - <para>Digita - <command>~sforce=<replaceable>singolo-carattere</replaceable></command> - seguito da un ritorno a capo. - <replaceable>singolo-carattere</replaceable> è un - qualsiasi carattere singolo. Se non date nessun - <replaceable>singolo-carattere</replaceable>, allora il carattere per - forzare sarà il carattere nullo, che è possibile ottenere - premendo <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>2</keycap> - </keycombo> o <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>Spazio</keycap> - </keycombo>. - Un valore abbastanza buono per il - <replaceable>singolo-carattere</replaceable> è - <keycombo action="simul"> - <keycap>Shift</keycap> - <keycap>Ctrl</keycap> - <keycap>6</keycap> - </keycombo>, che è usato solo da alcuni server di - terminali.</para> - - <para>Potete far sì che il carattere per forzare sia un qualsiasi - carattere vogliate specificando la riga seguente nel file - <filename>$HOME/.tiprc</filename>:</para> - - <programlisting>force=<singolo-carattere></programlisting> - </sect2> - - <sect2> - <title>Improvvisamente Tutto Quello che Digito È in - Maiuscolo??</title> - - <para>Devi aver premuto <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>A</keycap> - </keycombo>, il <quote>raise character</quote>, di - <command>tip</command> progettato specificamente per le persone con il - tasto caps-lock rotto. Usa <command>~s</command> come mostrato prima - per impostare la variabile <literal>raisechar</literal> a qualcosa di - ragionevole. In pratica, puoi impostarla allo stesso valore del - carattere per forzare, se pensi di non usare mai queste due - caratteristiche.</para> - - <para>Qui c'è un file .tiprc di esempio per gli utenti - <application>Emacs</application> che hanno bisogno di premere - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>2</keycap> - </keycombo> e <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>A</keycap> - </keycombo> molto spesso:</para> - - <programlisting>force=^^ -raisechar=^^</programlisting> - - <para>Il carattere ^^ è - <keycombo action="simul"> - <keycap>Shift</keycap> - <keycap>Ctrl</keycap> - <keycap>6</keycap> - </keycombo>.</para> - </sect2> - - <sect2> - <title>Come Posso Trasferire File con <command>tip</command>?</title> - - <para>Se stai parlando ad altri sistemi &unix;, puoi mandare e ricevere - file con <command>~p</command> (put) e - <command>~t</command> (take). Questi comandi eseguono - <command>cat</command> ed <command>echo</command> sul sistema remoto - per accettare e inviare file. La sintassi è:</para> - - <cmdsynopsis> - <command>~p</command> - <arg choice="plain">file-locale</arg> - <arg choice="opt">file-remoto</arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>~t</command> - <arg choice="plain">file-remoto</arg> - <arg choice="opt">file-locale</arg> - </cmdsynopsis> - - <para>non c'è controllo d'errore, quindi probabilmente dovresti - usare un altro protocollo, come zmodem.</para> - </sect2> - - <sect2> - <title>Come Posso Eseguire zmodem con <command>tip</command>?</title> - - <para>Per ricevere file, avvia il programma di invio sul lato remoto. - Poi, digita <command>~C rz</command> per iniziare a ricevere in - locale.</para> - - <para>Per inviare file, avvia il programma di ricezione sul lato remoto. - Poi, digita <command>~C sz <replaceable>files</replaceable></command> - per inviarli sul sistema remoto.</para> - </sect2> - </sect1> - - <sect1 id="serialconsole-setup"> - <sect1info> - <authorgroup> - <author> - <firstname>Kazutaka</firstname> - - <surname>YOKOTA</surname> - - <contrib>Contributo di </contrib> - </author> - </authorgroup> - - <authorgroup> - <author> - <firstname>Bill</firstname> - - <surname>Paul</surname> - - <contrib>Basato su un documento di </contrib> - </author> - </authorgroup> - </sect1info> - - <title>Impostazione della Console Seriale</title> - - <indexterm><primary>console seriale</primary></indexterm> - - <sect2 id="serialconsole-intro"> - <title>Introduzione</title> - - <para>FreeBSD ha la capacità di avviare un sistema con soltanto un - terminale stupido su porta seriale come console. Una configurazione - simile dovrebbe essere utile per due tipi di persone: amministratori di - sistema che desiderano installare FreeBSD su macchine che non hanno - tastiera o monitor connesso, e sviluppatori che vogliono effettuare il - debug del kernel o dei driver.</para> - - <para>Come descritto nel <xref linkend="boot">, FreeBSD implementa un - avviamento composto da tre stadi. I primi due stadi sono - nel blocco di avvio che viene immagazzinato all'inizio - della slice di FreeBSD sul disco d'avvio. Il blocco di avvio - poi carica ed avvia il loader (<filename>/boot/loader</filename>) - come terzo stadio.</para> - - <para>Per poter impostare la console seriale devi configurare il codice - del blocco di avvio, il codice del loader ed il kernel.</para> - </sect2> - - <sect2 id="serialconsole-howto-fast"> - <title>Configurazione della Console Seriale, Versione Essenziale</title> - - <para>Questa sezione presuppone che stai usando una configurazione - di default, conosci come connettere le porte seriali e vuoi solamente - una veloce panoramica su come abilitare una console seriale. Se - incontri difficoltà in questa procedura, consulta una spiegazione - più esaustiva di tutte le opzioni e delle configurazioni avanzate - nella sezione <xref linkend="serialconsole-howto">.</para> - - <procedure> - <step> - <para>Connetti la porta seriale. La console seriale sarà sulla - <devicename>COM1</devicename>.</para> - </step> - - <step> - <para>Esegui <command>echo -h > /boot.config</command> per - abilitare la console seriale per il kernel e per il boot - loader.</para> - </step> - - <step> - <para>Modifica il file <filename>/etc/ttys</filename> e cambia - <literal>off</literal> in <literal>on</literal> per l'entry - <literal>ttyd0</literal>. Questo abilita il prompt di login - sulla console seriale, che rispecchia la tipica configurazione delle - console video.</para> - </step> - - <step> - <para><command>shutdown -r now</command> riavvierà il sistema - con la console seriale abilitata.</para> - </step> - </procedure> - </sect2> - - <sect2 id="serialconsole-howto"> - <title>Configurazione della Console Seriale</title> - - <procedure> - <step> - <para>Preparazione di un cavo seriale.</para> - - <indexterm><primary>cavo null-modem</primary></indexterm> - - <para>Avrai bisogno di un cavo null-modem o di un cavo seriale - standard ed un adattatore null-modem. Guarda - <xref linkend="serial-cables-ports"> per una discussione - sui cavi seriali.</para> - </step> - - <step> - <para>Scollegamento della tastiera.</para> - - <para>La maggior parte dei sistemi PC verifica la presenza di una - tastiera durante il Power-On Self-Test (POST) e dà un errore - se la tastiera non viene rilevata. Alcune macchine si lamentano - parecchio per la mancanza della tastiera e non proseguono l'avvio - finché non viene collegata.</para> - - <para>Se il tuo computer si lamenta per questo errore, - ma si avvia lo stesso, allora non devi fare nulla di speciale. - (Alcune macchine con BIOS Phoenix semplicemente dicono - <errorname>Keyboard failed</errorname> e continuano ad avviarsi - normalmente).</para> - - <para>Se il tuo computer rifiuta di avviarsi senza la tastiera - allora dovrai configurare il BIOS affinché ignori questo - errore (se possibile). Consulta il manuale della tua scheda madre - per maggiori dettagli su come fare ciò.</para> - - <tip> - <para>Impostare la tastiera su <quote>Non installata</quote> nel - setup del BIOS <emphasis>non</emphasis> significa che non - potrai usare la tastiera. Tutto quel che fa è dire al BIOS - di non verificare la presenza di una tastiera all'accensione, in - modo che non segnali che la tastiera non è collegata. - Puoi lasciare la tastiera collegata anche con questa opzione - impostata a <quote>Non installata</quote> e la tastiera - funzionerà lo stesso.</para> - </tip> - - <note> - <para>Se il tuo sistema ha un mouse &ps2;, le possibilità di - dover scollegare il mouse allo stesso modo della tastiera - sono alte. - Questo perché i mouse &ps2; condividono dell'hardware - con la tastiera e lasciando il mouse collegato potresti - ingannare la verifica della tastiera facendogli credere - che sia ancora presente. Si dice che il sistema - Gateway 2000 Pentium 90 MHz con BIOS AMI funzioni - così. - In generale, questo non è un problema perché il - mouse non è comunque particolarmente utile senza la - tastiera.</para> - </note> - </step> - - <step> - <para>Collegamento di un terminale stupido alla - <devicename>COM1</devicename> - (<devicename>sio0</devicename>).</para> - - <para>Se non possiedi un terminale stupido, puoi usare un - vecchio PC/XT con un programma per modem, o la porta seriale di un - altra macchina &unix;. Se non hai una <devicename>COM1</devicename> - (<devicename>sio0</devicename>), trovane una. - Attualmente, non c'è altro modo di scegliere - una porta diversa dalla <devicename>COM1</devicename> - per i blocco di avvio senza doverlo ricompilare. Se stai - già usando la <devicename>COM1</devicename> per un altro - dispositivo, dovrai rimuoverlo temporaneamente ed - installare un nuovo blocco di avvio ed un nuovo kernel - una volta che FreeBSD sia funzionante. (Si assume che la - <devicename>COM1</devicename> sia sempre disponibile - su un server di file/calcolo/terminali; se davvero hai bisogno - della <devicename>COM1</devicename> per qualcos'altro - (e non puoi passare quel qualcosa alla - <devicename>COM2</devicename> (<devicename>sio1</devicename>)), - allora probabilmente non dovresti nemmeno avere a che fare con - tutto questo in primo luogo).</para> - </step> - - <step> - <para>Assicurati che il file di configurazione del tuo kernel abbia - i parametri appropriati impostati per la - <devicename>COM1</devicename> - (<devicename>sio0</devicename>).</para> - - <para>I parametri rilevanti sono:</para> - - <variablelist> - <varlistentry> - <term><literal>0x10</literal></term> - - <listitem> - <para>Abilita il supporto alla console per questa unità. - Gli altri parametri di console sono ignorati se non è - fissato questo. - Attualmente, al massimo un'unità può avere il - supporto alla console; verrà preferita la prima - (secondo l'ordine nel file di configurazione) con questo - parametro. - Questa opzione non renderà la porta seriale la - console. - Imposta il parametro seguente o usa l'opzione - <option>-h</option> descritta più in basso, insieme a - questa impostazione.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>0x20</literal></term> - - <listitem> - <para>Forza questa unità ad essere la console (a meno che - sia presente un'altra console con priorità più - alta), trascurando l'opzione <option>-h</option> discussa - precedentemente. Questo parametro - rimpiazza l'opzione <literal>COMCONSOLE</literal> in FreeBSD - versione 2.<replaceable>X</replaceable>. Il parametro - <literal>0x20</literal> deve essere usato insieme al - <option>0x10</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>0x40</literal></term> - - <listitem> - <para>Riserva questa unità (insieme a - <literal>0x10</literal>) e rende l'unità indisponibile - per l'accesso normale. Non dovresti impostare questo - parametro sull'unità della porta seriale che desideri - usare come console seriale. L'unico uso di questo parametro - è per designare l'unità per il debug remoto - del kernel. Guarda il <ulink - url="&url.books.developers-handbook;/index.html">Developer's - Handbook</ulink> per maggiori informazioni sul - debugging remoto.</para> - - <note> - <para>In FreeBSD 4.0 o successivo, la semantica del - parametro <literal>0x40</literal> è leggermente - differente e c'è un altro parametro per specificare - una porta seriale per il debug remoto.</para> - </note> - </listitem> - </varlistentry> - </variablelist> - - <para>Esempio:</para> - - <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting> - - <para>Guarda la pagina man &man.sio.4; per maggiori dettagli.</para> - - <para>Se i parametri non sono stati impostati, sarà necessario - eseguire UserConfig (su una console differente) o ricompilare il - kernel.</para> - </step> - - <step> - <para>Creazione di <filename>boot.config</filename> nella directory - radice della partizione <literal>a</literal> nel disco di - avvio.</para> - - <para>Questo file istruirà il codice del blocco di avvio su - come vuoi avviare il sistema. Per poter attivare la console - seriale, avrai bisogno di una o più delle seguenti - opzioni—se vuoi opzioni multiple, includile tutte sulla - stessa linea:</para> - - <variablelist> - <varlistentry> - <term><option>-h</option></term> - - <listitem> - <para>Passa dalla console interna a quella seriale. Puoi usarla - per cambiare i dispositivi console. Ad esempio, se avvii - dalla console interna (video), puoi usare - <option>-h</option> per dirigere il loader ed il kernel - in modo che usino la porta seriale come dispositivo per la - console. Alternativamente, se avvii da porta seriale, puoi - usare l'opzione <option>-h</option> per dire al loader ed al - kernel di usare lo schermo come console.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-D</option></term> - - <listitem> - <para>Passa da una configurazione singola a una duplice. Nella - configurazione singola la console sarà o quella interna - (il display video) o la porta seriale, a seconda dello - stato dell'opzione <option>-h</option> già descritta. - Nella configurazione duplice, sia il display video che la - porta seriale diventeranno la console allo stesso momento, - senza curarsi dello stato dell'opzione <option>-h</option>. - Ad ogni modo, nota che questa configurazione duplice ha - effetto solo durante l'esecuzione del blocco di avvio. - Una volta che il loader ha assunto il controllo, la console - specificata da <option>-h</option> diventa l'unica.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-P</option></term> - - <listitem> - <para>Fa sì che il blocco di avvio verifichi la presenza - della tastiera. Se non ne viene rilevata nessuna, le opzioni - <option>-D</option> e <option>-h</option> - vengono impostate automaticamente.</para> - - <note> - <para>A causa delle costrizioni relative allo spazio - nelle versioni attuali del blocco di avvio, l'opzione - <option>-P</option> è in grado di riconoscere solo le - tastiere estese. Le tastiere con meno di 101 tasti (e senza - i tasti F11 e F12) potrebbero non essere rilevate. - Le tastiere su alcuni computer portatili potrebbero - non essere rilevate a causa di questa limitazione. - Se questo è il caso del tuo sistema, - devi abbandonare l'opzione <option>-P</option>. - Sfortunatamente non c'è nessun metodo per aggirare - questo problema.</para> - </note> - </listitem> - </varlistentry> - </variablelist> - - <para>Usa l'opzione <option>-P</option> per selezionare - la console automaticamente, o l'opzione <option>-h</option> per - attivare la console seriale.</para> - - <para>Puoi includere altre opzioni come descritte in - &man.boot.8;.</para> - - <para>Le opzioni, eccetto <option>-P</option>, verranno passate al - loader (<filename>/boot/loader</filename>). Il loader - determinerà quale tra il video interno o la console seriale - debba diventare la console esaminando lo stato dell'opzione - <option>-h</option>. Ciò significa che se specifichi - l'opzione <option>-D</option> ma non la <option>-h</option> - in <filename>/boot.config</filename>, puoi usare la porta seriale - come console soltanto durante l'esecuzione del blocco di avvio; il - loader userà il video interno come console.</para> - </step> - - <step> - <para>Avviamento della macchina.</para> - - <para>Quando avvii la tua macchina FreeBSD, il blocco di avvio - scriverà il contenuto di <filename>/boot.config</filename> - sulla console. Ad esempio:</para> - - <screen>/boot.config: -P -Keyboard: no</screen> - - <para>La seconda linea appare solo se metti l'opzione - <option>-P</option> in <filename>/boot.config</filename> ed indichi - la presenza/assenza della tastiera. Questo messaggio va alla - console seriale o a quella interna, o a entrambe, a seconda - dell'opzione in <filename>/boot.config</filename>.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Opzioni</entry> - - <entry>I messaggi vanno a</entry> - </row> - </thead> - - <tbody> - <row> - <entry>nessuna</entry> - - <entry>console interna</entry> - </row> - - <row> - <entry><option>-h</option></entry> - - <entry>console seriale</entry> - </row> - - <row> - <entry><option>-D</option></entry> - - <entry>console seriale ed interna</entry> - </row> - - <row> - <entry><option>-Dh</option></entry> - - <entry>console seriale ed interna</entry> - </row> - - <row> - <entry><option>-P</option>, tastiera presente</entry> - - <entry>console interna</entry> - </row> - - <row> - <entry><option>-P</option>, tastiera assente</entry> - - <entry>console seriale</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Dopo i messaggi precedenti, ci sarà una piccola pausa - prima che il blocco di avvio continui nel caricamento del loader e - prima che ulteriori messaggi vengano scritti sulla console. - In circostanze normali, non hai necessità di interrompere il - blocco di avvio, ma potresti volerlo fare per verificare che tutto - sia impostato correttamente.</para> - - <para>Premi un tasto qualsiasi, differente da - <keycode>Invio</keycode>, alla console per interrompere il processo - di avvio. Il blocco di avvio aspetterà ulteriori azioni. - Dovresti vedere qualcosa del genere:</para> - - <screen>>> FreeBSD/i386 BOOT -Default: 0:ad(0,a)/boot/loader -boot:</screen> - - <para>Verifica se il messaggio precedente appare sulla console seriale - o su quella interna o su entrambe, secondo le opzioni poste in - <filename>/boot.config</filename>. Se il messaggio appare nella - console corretta, premi <keycode>Invio</keycode> per continuare il - processo di avvio.</para> - - <para>Se vuoi la console seriale ma non riesci a vedere il prompt sul - terminale seriale, qualcosa è sbagliato nelle tue - impostazioni. Nel frattempo, scrivi <option>-h</option> e premi - Invio (se possibile) per dire al blocco di avvio (e al loader e al - kernel) di scegliere la porta seriale per la console. Una volta - che il sistema è attivo, torna indietro e verifica cosa - è andato storto.</para> - </step> - </procedure> - - <para>Dopo che il loader è stato caricato e ti trovi nel terzo - stadio del processo di avvio puoi ancora passare dalla console interna - alla console seriale impostando le variabili d'ambiente appropriate nel - loader. Guarda la <xref linkend="serialconsole-loader">.</para> - </sect2> - - <sect2 id="serialconsole-summary"> - <title>Sommario</title> - - <para>Qui c'è il sommario delle varie impostazioni discusse in - questa sezione e la console eventualmente selezionata.</para> - - <sect3> - <title>Caso 1: Imposti il Flag 0x10 per - <devicename>sio0</devicename></title> - - <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Opzioni in /boot.config</entry> - - <entry>Console durante i blocco di avvio</entry> - - <entry>Console durante il loader</entry> - - <entry>Console nel kernel</entry> - </row> - </thead> - - <tbody> - <row> - <entry>niente</entry> - - <entry>interna</entry> - - <entry>interna</entry> - - <entry>interna</entry> - </row> - - <row> - <entry><option>-h</option></entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-D</option></entry> - - <entry>seriale ed interna</entry> - - <entry>interna</entry> - - <entry>interna</entry> - </row> - - <row> - <entry><option>-Dh</option></entry> - - <entry>seriale ed interna</entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-P</option>, tastiera presente</entry> - - <entry>interna</entry> - - <entry>interna</entry> - - <entry>interna</entry> - </row> - - <row> - <entry><option>-P</option>, tastiera assente</entry> - - <entry>seriale ed interna</entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3> - <title>Caso 2: Imposti il Flag 0x30 per sio0</title> - - <programlisting>device sio0 at isa? port IO_COM1 flags 0x30 irq 4</programlisting> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Opzioni in /boot.config</entry> - - <entry>Console durante i blocco di avvio</entry> - - <entry>Console durante il loader</entry> - - <entry>Console nel kernel</entry> - </row> - </thead> - - <tbody> - <row> - <entry>niente</entry> - - <entry>interna</entry> - - <entry>interna</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-h</option></entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-D</option></entry> - - <entry>seriale ed interna</entry> - - <entry>interna</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-Dh</option></entry> - - <entry>seriale ed interna</entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-P</option>, tastiera presente</entry> - - <entry>interna</entry> - - <entry>interna</entry> - - <entry>seriale</entry> - </row> - - <row> - <entry><option>-P</option>, tastiera assente</entry> - - <entry>seriale ed interna</entry> - - <entry>seriale</entry> - - <entry>seriale</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - </sect2> - - <sect2 id="serialconsole-tips"> - <title>Consigli per una Console Seriale</title> - - <sect3> - <title>Impostazione di una Velocità Maggiore della Porta - Seriale</title> - - <para>Di default, le impostazioni della porta seriale sono: 9600 baud, 8 - bit, nessuna parità, ed 1 bit di stop. Se desideri cambiare - la velocità, avrai bisogno di ricompilare almeno il blocco di - avvio. Aggiungi la linea seguente a - <filename>/etc/make.conf</filename> e compila il nuovo blocco di - avvio:</para> - - <programlisting>BOOT_COMCONSOLE_SPEED=19200</programlisting> - - <para>Guarda <xref linkend="serialconsole-com2"> per istruzioni - dettagliate su come costruire e installare nuovi blocchi di - avvio.</para> - - <para>Se la console seriale è configurata in qualche altra - maniera invece di essere selezionata all'avvio con - <option>-h</option>, o se la console seriale usata dal kernel - è differente da quella usata dal blocco di avvio, allora - dovrai aggiungere anche le opzioni seguenti al file di - configurazione del kernel e compilare un nuovo kernel:</para> - - <programlisting>options CONSPEED=19200</programlisting> - </sect3> - - <sect3 id="serialconsole-com2"> - <title>Utilizzo di una Porta Seriale Differente da - <devicename>sio0</devicename> per la Console</title> - - <para>Usare una porta seriale differente da - <devicename>sio0</devicename> come - console richiede un po' di ricompilazione. Se vuoi usare un'altra - porta seriale per qualche motivo, ricompila il blocco di avvio, il - loader ed il kernel come segue.</para> - - <procedure> - <step> - <para>Ottieni i sorgenti del kernel. (Guarda il <xref - linkend="cutting-edge">)</para> - </step> - - <step> - <para>Modifica <filename>/etc/make.conf</filename> e imposta - <literal>BOOT_COMCONSOLE_PORT</literal> all'indirizzo della - porta che vuoi usare (0x3F8, 0x2F8, 0x3E8 o 0x2E8). Solo - i dispositivi da <devicename>sio0</devicename> a - <devicename>sio3</devicename> (<devicename>COM1</devicename> - a <devicename>COM4</devicename>) possono essere usati; le schede - seriali multiporta non funzioneranno. Non sono necessarie - impostazioni per gli interrupt.</para> - </step> - - <step> - <para>Crea un file di configurazione del kernel personalizzato e - aggiungi i flag appropriati per la porta seriale che intendi - usare. - Ad esempio, se vuoi fare di <devicename>sio1</devicename> - (<devicename>COM2</devicename>) la console:</para> - - <programlisting>device sio1 at isa? port IO_COM2 flags 0x10 irq 3</programlisting> - - <para>o</para> - - <programlisting>device sio1 at isa? port IO_COM2 flags 0x30 irq 3</programlisting> - - <para>I flag di console per le altre porte seriali non dovrebbero - essere impostati.</para> - </step> - - <step> - <para>Ricompila ed installa il blocco di avvio ed il loader:</para> - - <screen>&prompt.root; <userinput>cd /sys/boot</userinput> -&prompt.root; <userinput>make</userinput> -&prompt.root; <userinput>make install</userinput></screen> - </step> - - <step> - <para>Ricompila ed installa il kernel.</para> - </step> - - <step> - <para>Scrivi il blocco di avvio sul disco di avvio con - &man.disklabel.8; ed avvia con il nuovo kernel.</para> - </step> - </procedure> - </sect3> - - <sect3 id="serialconsole-ddb"> - <title>Accesso al Debugger DDB dalla Linea Seriale</title> - - <para>Se desideri entrare nel debugger del kernel dalla console seriale - (utile per diagnostiche remote, ma anche molto pericoloso se generi - un BREAK spurio sulla porta seriale!) allora dovrai compilare - il tuo kernel con le opzioni seguenti:</para> - - <programlisting>options BREAK_TO_DEBUGGER -options DDB</programlisting> - </sect3> - - <sect3> - <title>Come Ottenere un Prompt di Login sulla Console Seriale</title> - - <para>Anche se questo non è necessario, potresti desiderare un - prompt di <emphasis>login</emphasis> sulla linea seriale, ora - che puoi vedere i messaggi di avvio e puoi accedere a sessioni di - debug del kernel attraverso la console seriale. - Qui è spiegato come fare.</para> - - <para>Apri il file <filename>/etc/ttys</filename> con un editor - e trova queste linee:</para> - - <programlisting>ttyd0 "/usr/libexec/getty std.9600" unknown off secure -ttyd1 "/usr/libexec/getty std.9600" unknown off secure -ttyd2 "/usr/libexec/getty std.9600" unknown off secure -ttyd3 "/usr/libexec/getty std.9600" unknown off secure</programlisting> - - <para>I dispositivi da <literal>ttyd0</literal> a - <literal>ttyd3</literal> - corrispondono a <devicename>COM1</devicename> fino a - <devicename>COM4</devicename>. Cambia <literal>off</literal> a - <literal>on</literal> per la porta desiderata. Se hai cambiato la - velocità della porta seriale, dovrai cambiare - <literal>std.9600</literal> affinché corrisponda - all'impostazione corrente, ad es. <literal>std.19200</literal>.</para> - - <para>Potresti anche desiderare cambiare il tipo di terminale da - <literal>unknown</literal> al tipo effettivo del tuo terminale - seriale.</para> - - <para>Dopo avere modificato il file, devi dare un <command>kill -HUP - 1</command> affinché i cambiamenti abbiano effetto.</para> - </sect3> - </sect2> - - <sect2 id="serialconsole-loader"> - <title>Cambiamento della Console dal Loader</title> - - <para>Le sezioni precedenti hanno descritto come impostare la console - seriale lavorando sul blocco di avvio. Questa sezione mostra come - specificare a console inserendo alcuni comandi ed alcune variabili - di ambiente nel loader. Quando il loader verrà invocato al terzo - stadio del processo di avvio, dopo il blocco di avvio, le impostazioni - nel loader prenderanno il posto di quelle nel blocco di avvio.</para> - - <sect3> - <title>Impostazione della Console Seriale</title> - - <para>Puoi facilmente specificare al loader ed al kernel di usare - la console seriale scrivendo una sola riga in - <filename>/boot/loader.rc</filename>:</para> - - <programlisting>set console=comconsole</programlisting> - - <para>Ciò sarà efficace in ogni caso, qualunque siano le - impostazioni nel blocco di avvio discusse nella sezione - precedente.</para> - - <para>Sarebbe meglio mettere la linea precedente come prima linea - di <filename>/boot/loader.rc</filename> in modo da vedere - i messaggi sulla console seriale il prima possibile.</para> - - <para>Altrimenti, puoi specificare la console interna come:</para> - - <programlisting>set console=vidconsole</programlisting> - - <para>Se non imposti la variabile di ambiente - <envar>console</envar> del loader, quest'ultimo, e - conseguentemente anche il kernel, useranno - una console qualunque indicata dall'opzione - <option>-h</option> nel blocco di avvio.</para> - - <para>Nelle versioni 3.2 o successive, è possibile specificare - la console in - <filename>/boot/loader.conf.local</filename> o - <filename>/boot/loader.conf</filename>, piuttosto che in - <filename>/boot/loader.rc</filename>. Con questo metodo il tuo - <filename>/boot/loader.rc</filename> dovrebbe apparire - così:</para> - - <programlisting>include /boot/loader.4th -start</programlisting> - - <para>Poi, crea <filename>/boot/loader.conf.local</filename> ed - aggiungi lì la linea seguente.</para> - - <programlisting>console=comconsole</programlisting> - - <para>o</para> - - <programlisting>console=vidconsole</programlisting> - - <para>Guarda &man.loader.conf.5; per maggiori informazioni.</para> - - <note> - <para>Al momento il loader non ha un'opzione equivalente alla - <option>-P</option> del blocco di avvio, e non c'è - possibilità di scegliere automaticamente la console interna e - la console seriale basandosi sulla presenza di una tastiera.</para> - </note> - </sect3> - - <sect3> - <title>Utilizzo di una Porta Seriale Diversa da - <devicename>sio0</devicename> per la Console</title> - - <para>Sarà necessario ricompilare il loader per usare una - porta seriale differente da <devicename>sio0</devicename> per la - console seriale. Segui la procedura descritta nella <xref - linkend="serialconsole-com2">.</para> - </sect3> - </sect2> - - <sect2 id="serialconsole-caveats"> - <title>Avvertimento</title> - - <para>L'idea di tutto questo è di permettere alla gente di mettere - su server dedicati che non abbiano bisogno di hardware grafico o di - tastiere. Sfortunatamente, mentre la maggior parte dei sistemi - ti permetteranno di avviare senza tastiera, ce ne sono alcuni che - non ti permetteranno di partire senza un adattatore grafico. - Le macchine con BIOS AMI possono essere configurate per partire senza - adattatori grafici cambiando semplicemente il valore di <quote>graphics - adapter</quote> nella configurazione CMOS a <quote>Not - installed</quote>.</para> - - <para>Ad ogni modo, molte macchine non supportano questa opzione e si - rifiuteranno di avviarsi se non si ha hardware grafico nel sistema. - Con queste macchine, avrai bisogno di lasciare un qualche tipo di scheda - grafica attaccata, (anche una scheda monocromatica di recupero) sebbene - non avrai necessità di collegare un monitor. - Potresti anche tentare di installare un BIOS AMI.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/txtfiles.ent b/it_IT.ISO8859-15/books/handbook/txtfiles.ent deleted file mode 100644 index 3e031c08f1..0000000000 --- a/it_IT.ISO8859-15/books/handbook/txtfiles.ent +++ /dev/null @@ -1,74 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Crea le entity per ogni screenshot .txt che deve essere incluso nel - Manuale. - - Ogni entity è chiamata txt.dir.foo, dove dir è la directory - in cui è salvata, e foo è il nome del file, senza - l'estensione '.txt'. - - Le entity devono essere elencate in ordine alfabetico. - - $FreeBSD$ - Original revision: 1.2 ---> - -<!ENTITY txt.install.adduser1 SYSTEM "install/adduser1.txt"> -<!ENTITY txt.install.adduser2 SYSTEM "install/adduser2.txt"> -<!ENTITY txt.install.adduser3 SYSTEM "install/adduser3.txt"> -<!ENTITY txt.install.boot-mgr SYSTEM "install/boot-mgr.txt"> -<!ENTITY txt.install.console-saver1 SYSTEM "install/console-saver1.txt"> -<!ENTITY txt.install.console-saver2 SYSTEM "install/console-saver2.txt"> -<!ENTITY txt.install.console-saver3 SYSTEM "install/console-saver3.txt"> -<!ENTITY txt.install.console-saver4 SYSTEM "install/console-saver4.txt"> -<!ENTITY txt.install.desktop SYSTEM "install/desktop.txt"> -<!ENTITY txt.install.disklabel-auto SYSTEM "install/disklabel-auto.txt"> -<!ENTITY txt.install.disklabel-ed1 SYSTEM "install/disklabel-ed1.txt"> -<!ENTITY txt.install.disklabel-ed2 SYSTEM "install/disklabel-ed2.txt"> -<!ENTITY txt.install.disklabel-fs SYSTEM "install/disklabel-fs.txt"> -<!ENTITY txt.install.disklabel-root1 SYSTEM "install/disklabel-root1.txt"> -<!ENTITY txt.install.disklabel-root2 SYSTEM "install/disklabel-root2.txt"> -<!ENTITY txt.install.disklabel-root3 SYSTEM "install/disklabel-root3.txt"> -<!ENTITY txt.install.dist-set SYSTEM "install/dist-set.txt"> -<!ENTITY txt.install.dist-set2 SYSTEM "install/dist-set2.txt"> -<!ENTITY txt.install.docmenu1 SYSTEM "install/docmenu1.txt"> -<!ENTITY txt.install.ed0-conf SYSTEM "install/ed0-conf.txt"> -<!ENTITY txt.install.ed0-conf2 SYSTEM "install/ed0-conf2.txt"> -<!ENTITY txt.install.edit-inetd-conf SYSTEM "install/edit-inetd-conf.txt"> -<!ENTITY txt.install.fdisk-drive1 SYSTEM "install/fdisk-drive1.txt"> -<!ENTITY txt.install.fdisk-drive2 SYSTEM "install/fdisk-drive2.txt"> -<!ENTITY txt.install.fdisk-edit1 SYSTEM "install/fdisk-edit1.txt"> -<!ENTITY txt.install.fdisk-edit2 SYSTEM "install/fdisk-edit2.txt"> -<!ENTITY txt.install.ftp-anon1 SYSTEM "install/ftp-anon1.txt"> -<!ENTITY txt.install.ftp-anon2 SYSTEM "install/ftp-anon2.txt"> -<!ENTITY txt.install.hdwrconf SYSTEM "install/hdwrconf.txt"> -<!ENTITY txt.install.keymap SYSTEM "install/keymap.txt"> -<!ENTITY txt.install.main-doc SYSTEM "install/main-doc.txt"> -<!ENTITY txt.install.main-keymap SYSTEM "install/main-keymap.txt"> -<!ENTITY txt.install.main-options SYSTEM "install/main-options.txt"> -<!ENTITY txt.install.main-std SYSTEM "install/main-std.txt"> -<!ENTITY txt.install.main1 SYSTEM "install/main1.txt"> -<!ENTITY txt.install.mainexit SYSTEM "install/mainexit.txt"> -<!ENTITY txt.install.media SYSTEM "install/media.txt"> -<!ENTITY txt.install.mouse1 SYSTEM "install/mouse1.txt"> -<!ENTITY txt.install.mouse2 SYSTEM "install/mouse2.txt"> -<!ENTITY txt.install.mouse3 SYSTEM "install/mouse3.txt"> -<!ENTITY txt.install.mouse4 SYSTEM "install/mouse4.txt"> -<!ENTITY txt.install.mouse5 SYSTEM "install/mouse5.txt"> -<!ENTITY txt.install.mouse6 SYSTEM "install/mouse6.txt"> -<!ENTITY txt.install.nfs-server-edit SYSTEM "install/nfs-server-edit.txt"> -<!ENTITY txt.install.options SYSTEM "install/options.txt"> -<!ENTITY txt.install.pkg-cat SYSTEM "install/pkg-cat.txt"> -<!ENTITY txt.install.pkg-confirm SYSTEM "install/pkg-confirm.txt"> -<!ENTITY txt.install.pkg-install SYSTEM "install/pkg-install.txt"> -<!ENTITY txt.install.pkg-sel SYSTEM "install/pkg-sel.txt"> -<!ENTITY txt.install.probstart SYSTEM "install/probstart.txt"> -<!ENTITY txt.install.security SYSTEM "install/security.txt"> -<!ENTITY txt.install.sysinstall-exit SYSTEM "install/sysinstall-exit.txt"> -<!ENTITY txt.install.timezone1 SYSTEM "install/timezone1.txt"> -<!ENTITY txt.install.timezone2 SYSTEM "install/timezone2.txt"> -<!ENTITY txt.install.timezone3 SYSTEM "install/timezone3.txt"> -<!ENTITY txt.install.userconfig SYSTEM "../../../share/images/books/handbook/install/userconfig.txt"> -<!ENTITY txt.install.userconfig2 SYSTEM "../../../share/images/books/handbook/install/userconfig2.txt"> -<!ENTITY txt.install.xf86setup SYSTEM "install/xf86setup.txt"> diff --git a/it_IT.ISO8859-15/books/handbook/users/Makefile b/it_IT.ISO8859-15/books/handbook/users/Makefile deleted file mode 100644 index 4b11d7ebd9..0000000000 --- a/it_IT.ISO8859-15/books/handbook/users/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= users/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/users/chapter.sgml b/it_IT.ISO8859-15/books/handbook/users/chapter.sgml deleted file mode 100644 index 1eb8a48eb9..0000000000 --- a/it_IT.ISO8859-15/books/handbook/users/chapter.sgml +++ /dev/null @@ -1,74 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="users"> - <title>Gestione degli Utenti e degli Account di Base</title> - - <sect1 id="users-synopsis"> - <title>Sinossi</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-introduction"> - <title>Introduction</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-superuser"> - <title>The Superuser Account</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-system"> - <title>System Accounts</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-user"> - <title>User Accounts</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-modifying"> - <title>Modifying Accounts</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-limiting"> - <title>Limiting Users</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-personalizing"> - <title>Personalizing Users</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="users-groups"> - <title>Groups</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/vinum/Makefile b/it_IT.ISO8859-15/books/handbook/vinum/Makefile deleted file mode 100644 index 51d136b3cf..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= vinum/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml deleted file mode 100644 index 5b9f8a95fa..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml +++ /dev/null @@ -1,1478 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.32 ---> - -<chapter id="vinum-vinum"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Greg</firstname> - - <surname>Lehey</surname> - - <contrib>Originariamente scritto da </contrib> - </author> - </authorgroup> - </chapterinfo> - - <title>Il Gestore di Volumi Vinum</title> - - <sect1 id="vinum-synopsis"> - <title>Sinossi</title> - - <para>Qualunque siano i dischi che hai, ci sono sempre dei problemi - potenziali:</para> - - <itemizedlist> - <listitem> - <para>Potrebbero essere troppo piccoli.</para> - </listitem> - - <listitem> - <para>Potrebbero essere troppo lenti.</para> - </listitem> - - <listitem> - <para>Potrebbero essere troppo inaffidabili.</para> - </listitem> - </itemizedlist> - - <para>Un modo in cui alcuni utenti salvaguardano sè stessi contro - questi problemi è attraverso l'uso di dischi multipli, e - talvolta ridondanti.</para> - - <para>In aggiunta a supportare diverse schede e controller per sistemi RAID - hardware, il sistema FreeBSD base include il gestore di volumi Vinum, un - driver di dispositivo a blocchi che implementa dischi virtuali.</para> - - <para>Vinum fornisce più flessibilità, prestazioni, e - affidabilità rispetto all'archiviazione su disco tradizionale, e - implementa i modelli RAID-0, RAID-1, e RAID-5 sia singolarmente che in - combinazione.</para> - - <para>Questo capitolo fornisce una panoramica sui poteziali problemi - dell'archiviazione su disco tradizionale, e un'introduzione al gestore - di volumi Vinum.</para> - </sect1> - - <sect1 id="vinum-intro"> - <title>Dischi Troppo Piccoli</title> - - <indexterm><primary>Vinum</primary></indexterm> - <indexterm> - <primary>RAID</primary> - <secondary>Software</secondary> - </indexterm> - - <para><emphasis>Vinum</emphasis> è un <emphasis>Volume - Manager</emphasis>, ovvero un driver virtuale di disco che si occupa dei - tre problemi indicati nella sinossi. Diamo un'occhiata in dettaglio a - questi problemi, per cui sono state proposte e implementate varie - soluzioni.</para> - - <para>I dischi stanno diventando sempre più grandi, ma questo - è vero anche le necessità di spazio per i dati. Spesso - sentirai il bisogno di avere un file system più grande dei dischi - che possiedi. Effettivamente questo problema non è così - grave come lo era dieci anni fa, ma è sempre presente. Alcuni - sistemi risolvono la questione creando un dispositivo astratto che - ripartisce i suoi dati su vari dischi.</para> - </sect1> - - <sect1 id="vinum-access-bottlenecks"> - <title>Colli di Bottiglia nell'Accesso</title> - - <para>I moderni sistemi hanno frequentemente la necessità di - accedere ai dati in modo concorrente. Ad esempio, un grande server FTP o - HTTP può avere migliaia di sessioni concorrenti e molteplici - connessioni da 100 Mbit/s verso il mondo esterno, ben oltre il - transfer rate (velocità di trasferimento) che la maggior parte dei - dischi può sostenere.</para> - - <para>I dischi odierni possono trasferire sequenzialmente dati fino a - 70 MB/s, ma questo valore ha poca importanza in un ambiente dove - molti processi indipendenti accedono al disco, in quanto raggiungerebbero - solo una frazione di quella velocità. In questi casi è - più interessante vedere il problema dal punto di vista del - sottosistema dischi: il parametro importante è il carico che il - trasferimento pone sul sottosistema, in altre parole il tempo per cui il - trasferimento occupa i dischi necessari per lo stesso.</para> - - <para>In ogni trasferimento da disco il drive deve prima posizionare le - testine, poi aspettare che il primo settore passi sotto la testina di - lettura e solo dopo può effettuare il trasferimento. Queste azioni - possono essere considerate atomiche: non ha alcun senso - interromperle.</para> - - <para><anchor id="vinum-latency">Considera un tipico trasferimento di circa - 10 kB: l'attuale generazione di dischi ad alte prestazioni può - posizionare le testine in circa 3,5 ms. I dischi più veloci - ruotano a 15.000 rpm, quindi la latenza media rotazionale (mezzo - giro) è di 2 ms. A 70 MB/s, il trasferimento in - sé occupa circa 150 μs, quasi nulla in confronto al tempo - di posizionamento. In questo caso il transfer rate effettivo può - scendere fino a poco oltre 1 MB/s e questo è charamente molto - dipendente dalla dimensione del trasferimento.</para> - - <para>La tradizionale e ovvia soluzione a questo collo di bottiglia è - <quote>più assi</quote>: invece di usare un grande disco si usano - molti piccoli dischi con la stessa dimensione totale. Ogni disco è - capace di posizionarsi e trasferire dati indipendentemente quindi la - velocità effettiva aumenta di un fattore vicino al numero di dischi - usati.</para> - - <para>L'esatto fattore di miglioramento è, ovviamente, più - piccolo del numero di dischi: benché ogni disco sia capace di - trasferire in parallelo non c'è modo di assicurare che le richieste - siano distribuite uniformemente tra tutti i dischi. Inevitabilmente il - carico su uno dei dischi è più alto che sugli altri.</para> - - <indexterm><primary>concatenazione dei dischi</primary></indexterm> - <indexterm> - <primary>Vinum</primary> - <secondary>concatenazione</secondary> - </indexterm> - - <para>L'uniformità della distribuzione del carico sui dischi è - fortemente dipendente dal modo in cui i dati sono condivisi tra i dischi - stessi. Nella seguente discussione è conveniente pensare allo - spazio di immagazzinamento come se fosse diviso in un gran numero di - settori identificati da un indirizzo numerico, come pagine in un libro. - Il metodo più ovvio è di dividere il disco virtuale in - gruppi di settori consecutivi della dimensione dei dischi fisici e - immagazzinarli in questa maniera, come strappare un grosso libro in - piccole sezioni. Questo metodo è chiamato - <emphasis>concatenazione</emphasis> e ha il vantaggio di non avere - particolari richieste sulla dimensione degli specifici dischi. - Funziona bene quando l'accesso al - disco virtuale è ben ripartito tra tutto il suo spazio di - indirizzamento. Quando l'accesso è concentrato in una piccola area - il miglioramento è meno marcato. La <xref linkend="vinum-concat"> - illustra la sequenza in cui le unità di immagazzinamento sono - allocate nell'organizzazione concatenata.</para> - - <para> - <figure id="vinum-concat"> - <title>Organizzazione Concatenata</title> - - <graphic fileref="vinum/vinum-concat"> - </figure> - </para> - - <indexterm><primary>striping dei dischi</primary></indexterm> - <indexterm> - <primary>Vinum</primary> - <secondary>striping</secondary> - </indexterm> - <indexterm> - <primary>RAID</primary> - <secondary>livello 0</secondary> - </indexterm> - <indexterm><primary>RAID-0</primary></indexterm> - - <para>Un metodo alternativo è dividere lo spazio in più - piccole componenti di egual dimensione e immagazzinarle sequenzialente su - differenti dispositivi. Per esempio i primi 256 settori potrebbero essere - immagazzinati sul primo disco, i seguenti 256 settori sul disco seguente e - così via. Dopo aver immagazzinato i dati sull'ultimo disco il - processo si ripete finché i dischi non sono pieni. Questo - mappamento è chiamato <emphasis>striping</emphasis> (letteralmente - "a bande") o <acronym>RAID-0</acronym> - <footnote> - <indexterm><primary>RAID</primary></indexterm> - - <para><acronym>RAID</acronym> significa <emphasis>Redundant Array of - Inexpensive Disks</emphasis> (insieme ridondante di dischi non - costosi) e offre varie forme di tolleranza ai problemi. Nel caso del - <acronym>RAID-0</acronym> il termine è leggermente fuorviante: - in effetti non dà alcuna ridondanza.</para> - </footnote>. - Lo striping richiede qualche sforzo aggiuntivo per localizzare i dati e - può causare carico di I/O aggiuntivo quando il trasferimento - è distribuito tra vari dischi, ma aiuta il carico a essere ben - distribuito tra i vari dischi. La <xref linkend="vinum-striped"> illustra - la sequenza in cui i blocchi di dati sono allocati nell'organizzazione in - striping.</para> - - <para> - <figure id="vinum-striped"> - <title>Organizzazione in Striping</title> - - <graphic fileref="vinum/vinum-striped"> - </figure> - </para> - </sect1> - - <sect1 id="vinum-data-integrity"> - <title>Integrità dei Dati</title> - - <para>L'ultimo problema dei dischi attuali è che sono inaffidabili. - Benché la loro affidabilità sia aumentata tremendamente - durante gli ultimi anni sono tuttora il componente di un server che ha - la maggior probabilità di rompersi. Quando succede i risultati - possono essere catastrofici: rimpiazzare un disco rotto e riempirlo dei - dati originari può richiedere giorni.</para> - - <indexterm><primary>mirroring dei dischi</primary></indexterm> - <indexterm> - <primary>Vinum</primary> - <secondary>mirroring</secondary> - </indexterm> - <indexterm> - <primary>RAID</primary> - <secondary>livello 1</secondary> - </indexterm> - <indexterm><primary>RAID-1</primary></indexterm> - - <para>Il metodo tradizionale per affrontare questo problema si chiama - <emphasis>mirroring</emphasis> (letteralmente "specchiatura") e consiste - nel tenere due copie dei dati su hardware fisici differenti. Con - l'avvento dei livelli <acronym>RAID</acronym> questa tecnica è - stata chiamata <acronym>RAID</acronym> di livello 1 o - <acronym>RAID-1</acronym>. Ogni scrittura su disco scrive in entrambe le - locazioni; una lettura può essere soddisfatta da entrambi quindi se - un disco si rompe i dati sono sempre disponibili sull'altro disco.</para> - - <para>Il mirroring ha due problemi:</para> - - <itemizedlist> - <listitem> - <para>Il prezzo. Richiede il doppio dello spazio di - immagazzinamento delle soluzioni non ridondanti.</para> - </listitem> - - <listitem> - <para>L'impatto sulle prestazioni. La scrittura deve essere - compiuta su entrambi i dischi quindi la banda occupata raddoppia. - Le letture non soffrono di problemi sulle prestazioni: possono - perfino essere più veloci.</para> - </listitem> - </itemizedlist> - - <indexterm> - <primary>Vinum</primary> - <secondary>striping con parità</secondary> - </indexterm> - <indexterm> - <primary>RAID</primary> - <secondary>livello 5</secondary> - </indexterm> - <indexterm><primary>RAID-5</primary></indexterm> - - <para>Una soluzione alternativa è la - <emphasis>parità</emphasis>, implementata nel - <acronym>RAID</acronym> di livello 2, 3, 4 e 5. Di questi, il - <acronym>RAID-5</acronym> è il più interessante. La sua - implementazione in Vinum è una variante dell'organizzazione in - striping che dedica un blocco di ogni banda alla parità degli - altri blocchi. Per come è implementato in Vinum, ogni blocco - <acronym>RAID-5</acronym> è simile a un blocco in striping, con - la differenza che implementa il <acronym>RAID-5</acronym> includendo un - blocco di parità per ogni banda. Come richiesto dal - <acronym>RAID-5</acronym> la locazione di questi blocchi di parità - cambia da ogni banda alla successiva. I numeri nei blocchi dati indicano - il numero dei blocchi relativi.</para> - - <para> - <figure id="vinum-raid5-org"> - <title>Organizzazione RAID-5</title> - - <graphic fileref="vinum/vinum-raid5-org"> - </figure> - </para> - - <para>Comparandolo al mirroring, il <acronym>RAID-5</acronym> ha il - vantaggio di richiedere molto meno spazio di immagazzinamento. La - velocità di lettura è simile all'organizzazione in - striping, ma in scrittura l'accesso è significativamente più - lento, circa il 25% della performance di lettura. Se uno dei dischi si - rompe l'aggregato continua a lavorare con performance peggiorate: la - lettura da uno dei dischi rimanenti continua normalmente, ma la lettura - dal disco rotto è ricalcolata dai corrispondenti blocchi dei - dischi rimanenti.</para> - </sect1> - - <sect1 id="vinum-objects"> - <title>Oggetti Vinum</title> - - <para>Per risolvere questi problemi Vinum implementa una categoria di - oggetti a quattro livelli:</para> - - <itemizedlist> - <listitem> - <para>L'oggetto più visibile è il disco virtuale, - chiamato <emphasis>volume</emphasis>. I volumi hanno essenzialmente - le stesse proprietà di un disco &unix;, benché ci - sia qualche differenza minore. Non hanno limiti di dimensione.</para> - </listitem> - - <listitem> - <para>I volumi sono composti da <emphasis>plex</emphasis>, ognuno dei - quali rappresenta il completo spazio di indirizzamento del volume. - È quindi questo il livello della gerarchia che gestisce la - ridondanza dei dati. Pensa ai plex come a singoli dischi collegati - tra loro in mirroring, ognuno contenete gli stessi dati.</para> - </listitem> - - <listitem> - <para>Dato che Vinum vive all'interno del framework &unix; di - immagazzinamento dei dati sarebbe possibile utilizzare le partizioni - &unix; come blocchi basilari per costruire i plex multidisco, ma - questo approccio sarebbe in effetti troppo poco flessibile: i dischi - &unix; possono avere solo un limitato numero di partizioni; al - contrario Vinum suddivide le singole partizioni &unix; - (<emphasis>drive</emphasis>, ovvero dischi) in aree contigue chiamate - <emphasis>subdisks</emphasis> (sottodischi), che solo a loro volta - utilizzati come elementi per costruire i plex.</para> - </listitem> - - <listitem> - <para>I sottodischi risiedono su <emphasis>drive</emphasis> Vinum, che - attualmente sono partizioni &unix;. I drive Vinum possono - contenere qualsiasi quantità di sottodischi. Con l'eccezione - di una piccola area all'inizio del drive, che è usata per - immagazzinare informazioni sulla configurazione e sullo stato, - l'intero drive è disponibile per l'ìimmagazzinamento - dei dati.</para> - </listitem> - </itemizedlist> - - <para>La sezione seguente descrive come gli oggetti sopra discussi possano - dare le funzionalità richieste.</para> - - <sect2> - <title>Considerazioni sulle Dimensioni dei Volumi</title> - - <para>I plex possono contenere molteplici sottodischi distribuiti tra - tutti i drive presenti nella configurazione di Vinum, questo permette - alla dimensione dei plex, e quindi anche dei volumi, di non essere - limitata dalla dimensione dei singoli dischi.</para> - </sect2> - - <sect2> - <title>Immagazzinamento Ridondante dei Dati</title> - - <para>Vinum implementa il mirroring collegando più plex allo stesso - volume, ogni plex contiene la rappresentazione di tutti i dati del - volume. Un volume può contenere da uno ad otto plex.</para> - - <para>Nonostante un plex rappresenti i dati di un volume per intero, - è possibile che parti di questa rappresentazione vengano a - mancare o per scelta (non definendo dei sottodischi per alcune parti del - plex) o per accidente (come risultato della rottura del disco che le - conteneva). Finché almeno un plex contiene i dati di tutto lo - spazio d'indirizzamento del volume, il volume stesso è - completamente funzionale.</para> - </sect2> - - <sect2> - <title>Considerazioni sulle Prestazioni</title> - - <para>Vinum implementa sia la concatenazione che lo striping al livello di - plex:</para> - - <itemizedlist> - <listitem> - <para>Un <emphasis>plex concatenato</emphasis> usea lo spazio di - indirizzamento di ogni sottodisco a turno.</para> - </listitem> - - <listitem> - <para>Un <emphasis>plex in striping</emphasis> suddivide i dati tra - ogni sottodisco. I sottodischi devono tutti avere la stessa - dimensione e devono essere presenti almeno due sottodischi - perché esista differenza da un plex concatenato.</para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Quale Organizzazione per i Plex?</title> - - <para>La versione di Vinum distribuita con FreeBSD &rel.current; - implementa due tipi di plex:</para> - - <itemizedlist> - <listitem> - <para>I plex concatenati, che sono i più flessibili: possono - contenere qualsiasi numero di sottodischi e questi possono avere - qualsiasi dimensione. Il plex può essere esteso aggiungendo - sottodischi. Richiede meno tempo di <acronym>CPU</acronym> di un - plex in striping, benché la differenza in carico di - <acronym>CPU</acronym> non sia misurabile. D'altro canto sono - più suscettibili agli hot spot (letteralmente <quote>zona - calda</quote>): casi in cui un disco è molto attivo mentre - gli altri sono fermi.</para> - </listitem> - - <listitem> - <para>Il più grande vantaggio dei plex in striping - (<acronym>RAID-0</acronym>) è la loro capacità di - ridurre gli hot spot: scegliendo una dimensione di striping ottimale - (circa 256 kB) si può ridistribuire il carico sui drive. - Gli svantaggi di questo approccio sono codice più complesso e - restrizioni sui sottodischi: devono essere tutti della stessa - dimensione, inoltre estendere il plex aggiungendo sottodischi - è così complicato che attualmente Vinum non lo - implementa. Vinum aggiunge anche un'ulteriore restrizione - elementare: un plex in striping deve contenere almeno due - sottodischi, dato che sarebbe altrimenti indistinguibile da un plex - concatenato.</para> - </listitem> - </itemizedlist> - - <para>La <xref linkend="vinum-comparison"> riassume vantaggi e svantaggi - di ogni tipo di organizzazione dei plex.</para> - - <table id="vinum-comparison" frame="none"> - <title>Organizzazione dei Plex Vinum</title> - - <tgroup cols="5"> - <thead> - <row> - <entry>Tipo di plex</entry> - - <entry>Sottodischi minimi</entry> - - <entry>Sottodischi aggiungibili</entry> - - <entry>Dimensioni forzatamente uguali</entry> - - <entry>Applicazione</entry> - </row> - </thead> - - <tbody> - <row> - <entry>concatenato</entry> - - <entry>1</entry> - - <entry>sì</entry> - - <entry>no</entry> - - <entry>Immagazzinamento di grandi moli di dati con la massima - flessibilità e prestazioni moderate</entry> - </row> - - <row> - <entry>striping</entry> - - <entry>2</entry> - - <entry>no</entry> - - <entry>sì</entry> - - <entry>Alte prestazioni in casi di accessi altamente - concorrenti</entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - </sect1> - - <sect1 id="vinum-examples"> - <title>Alcuni Esempi</title> - - <para>Vinum mantiene un <emphasis>database della configurazione</emphasis> - che descrive gli oggetti del sistema conosciuti. Inizialmente l'utente - crea il database della configurazione da uno o più file di - configurazione, con l'aiuto del programma &man.vinum.8;. Vinum - immagazzina una copia del database di configurazione in ogni slice del - disco (che Vinum chiama <emphasis>device</emphasis>, ovvero - <quote>dispositivo</quote>) sotto il suo controllo. - Questo database è aggiornato a ogni cambi - di stato in modo che un riavvio possa recuperare accuratamente lo stato di - ogni oggetto Vinum.</para> - - <sect2> - <title>Il File di Configurazione</title> - - <para>Il file di configurazione descrive singoli oggetti Vinum. La - definizione di un semplice volume potrebbe essere:</para> - - <programlisting> drive a device /dev/da3h - volume myvol - plex org concat - sd length 512m drive a</programlisting> - - <para>Questo file descrive quattro oggetti Vinum:</para> - - <itemizedlist> - <listitem> - <para>La linea <emphasis>drive</emphasis> descrive la partizione del - disco (<emphasis>drive</emphasis>) e la sua locazione relativa - all'hardware sottostante. Gli viene assegnato il nome simbolico - <emphasis>a</emphasis>. Questa separazione dei nomi simbolici dai - nomi di dispositivo permette di muovere i dischi da una locazione ad - un'altra senza confusione.</para> - </listitem> - - <listitem> - <para>La linea <emphasis>volume</emphasis> descrive un volume. - L'unico attributo richiesto è il nome, in questo caso - <emphasis>myvol</emphasis>.</para> - </listitem> - - <listitem> - <para>La linea <emphasis>plex</emphasis> definisce un plex. - L'unico parametro richiesto è il tipo di organizzazione, in - questo caso <emphasis>concat</emphasis>. Non è necessario - un nome: il sistema genera un nome automaticamente a partire dal - nome del volume, aggiungendo un suffisso - <emphasis>.p</emphasis><emphasis>x</emphasis>, dove - <emphasis>x</emphasis> indica il numero del plex nel volume. Il - plex verrà quindi chiamato - <emphasis>myvol.p0</emphasis>.</para> - </listitem> - - <listitem> - <para>La linea <emphasis>sd</emphasis> descrive un sottodisco. - Le spefiche minime sono il nome del drive su cui immagazzinarlo e - la lunghezza del sottodisco. Come per i plex non è - necessario un nome: il sistema assegna automaticamente nomi - derivati dal nome del plex, agigungendo il suffisso - <emphasis>.s</emphasis><emphasis>x</emphasis>, dove - <emphasis>x</emphasis> indica il numero del sottdisco nel plex, - quindi Vinum darà a questo sottodisco il nome di - <emphasis>myvol.p0.s0</emphasis>.</para> - </listitem> - </itemizedlist> - - <para>Dopo aver elaborato questo file, &man.vinum.8; produce il seguente - output:</para> - - <programlisting width="97"> &prompt.root; vinum -> <userinput>create config1</userinput> - Configuration summary - Drives: 1 (4 configured) - Volumes: 1 (4 configured) - Plexes: 1 (8 configured) - Subdisks: 1 (16 configured) - - D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%) - - V myvol State: up Plexes: 1 Size: 512 MB - - P myvol.p0 C State: up Subdisks: 1 Size: 512 MB - - S myvol.p0.s0 State: up PO: 0 B Size: 512 MB</programlisting> - - <para>Questo output mostra il formato di elenco breve di &man.vinum.8;, - che è rappresentato graficamente nella - <xref linkend="vinum-simple-vol">.</para> - - <para> - <figure id="vinum-simple-vol"> - <title>Un Semplice Volume Vinum</title> - - <graphic fileref="vinum/vinum-simple-vol"> - </figure> - </para> - - <para>Questa figura e quelle che seguono rappresentano un volume - contenente dei plex che a loro volta contengono dei sottodischi. - In questo semplice esempio il volume contiene un plex e il plex - contiene un sottodisco.</para> - - <para>Questo particolare volume non ha specifici vantaggi su una - convenzionale partizione di disco. Contiene un singolo plex, quindi non - è ridondante. Il plex contiene un solo sottodisco, quindi non - c'è differenza nell'immagazzinamento dei dati. Le sezioni - seguenti mostrano vari metodi di configurazione più - interessanti.</para> - </sect2> - - <sect2> - <title>Aumentare la Resistenza alle Rotture: il Mirroring</title> - - <para>Il mirroring può aumentare, in un volume, la resistenza alle - rotture. Quando si definisce un volume in mirroring è importante - assicurarsi che i sottodischi di ogni plex siano su dischi differenti, - in modo che la rottura di un drive non blocchi entrambi i plex. La - seguente configurazione mostra un volume in mirroring:</para> - - <programlisting> drive b device /dev/da4h - volume mirror - plex org concat - sd length 512m drive a - plex org concat - sd length 512m drive b</programlisting> - - <para>In questo esempio non è necessario specificare nuovamente la - definizione del drive<emphasis>a</emphasis>, dato che Vinum mantiene - traccia di tutti gli oggetti nel suo database di configurazione. Dopo - aver elaborato questa definizione, la configurazione appare - così:</para> - - - <programlisting width="97"> Drives: 2 (4 configured) - Volumes: 2 (4 configured) - Plexes: 3 (8 configured) - Subdisks: 3 (16 configured) - - D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%) - D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%) - - V myvol State: up Plexes: 1 Size: 512 MB - V mirror State: up Plexes: 2 Size: 512 MB - - P myvol.p0 C State: up Subdisks: 1 Size: 512 MB - P mirror.p0 C State: up Subdisks: 1 Size: 512 MB - P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB - - S myvol.p0.s0 State: up PO: 0 B Size: 512 MB - S mirror.p0.s0 State: up PO: 0 B Size: 512 MB - S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB</programlisting> - - <para><xref linkend="vinum-mirrored-vol"> mostra la struttura - graficamente.</para> - - <para> - <figure id="vinum-mirrored-vol"> - <title>Un Volume Vinum in Mirroring</title> - - <graphic fileref="vinum/vinum-mirrored-vol"> - </figure> - </para> - - <para>In questo esempio ogni plex contiene l'intero spazio di - indirizzamento di 512 MB. Come nel precedente esempio ogni plex - contiene un solo sottodisco.</para> - </sect2> - - <sect2> - <title>Ottimizzazione delle Prestazioni</title> - - <para>Il volume in mirroring dell'esempio precedente è più - resistente alle rotture di un volume non in mirroring, ma le sue - prestazioni sono inferiori: ogni scrittura sul volume richiede una - scrittura su ognuno dei drive, utilizzando quindi una maggior frazione - della banda passante totale dei dischi. Considerazioni sulle - prestazioni portano ad un differente approccio: al posto del mirroring, - i dati vengono posti su più dischi possibile utilizzando lo - striping. La seguente configruazione mostra un volume con un plex in - striping su quattro dischi:</para> - - <programlisting> drive c device /dev/da5h - drive d device /dev/da6h - volume stripe - plex org striped 512k - sd length 128m drive a - sd length 128m drive b - sd length 128m drive c - sd length 128m drive d</programlisting> - - <para>Come prima non è necessario definire i drive che Vinum - già conosce. Dopo aver elaborato queste definizioni la - configurazione appare così:</para> - - <programlisting width="92"> Drives: 4 (4 configured) - Volumes: 3 (4 configured) - Plexes: 4 (8 configured) - Subdisks: 7 (16 configured) - - D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%) - D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%) - D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%) - D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%) - - V myvol State: up Plexes: 1 Size: 512 MB - V mirror State: up Plexes: 2 Size: 512 MB - V striped State: up Plexes: 1 Size: 512 MB - - P myvol.p0 C State: up Subdisks: 1 Size: 512 MB - P mirror.p0 C State: up Subdisks: 1 Size: 512 MB - P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB - P striped.p1 State: up Subdisks: 1 Size: 512 MB - - S myvol.p0.s0 State: up PO: 0 B Size: 512 MB - S mirror.p0.s0 State: up PO: 0 B Size: 512 MB - S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB - S striped.p0.s0 State: up PO: 0 B Size: 128 MB - S striped.p0.s1 State: up PO: 512 kB Size: 128 MB - S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB - S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB</programlisting> - - <para> - <figure id="vinum-striped-vol"> - <title>Un Volume Vinum in Striping</title> - - <graphic fileref="vinum/vinum-striped-vol"> - </figure> - </para> - - <para>Questo volume è rappresentato nella - <xref linkend="vinum-striped-vol">. L'intensità delle strisce - indica la posizione all'interno dello spazio di inidirizzamento del - plex: le più chiare all'inizio, le più scure alla - fine.</para> - </sect2> - - <sect2> - <title>Resistenza alle Rotture e Prestazioni</title> - - <para><anchor id="vinum-resilience">Con hardware a sufficenza è - possibile creare volumi con miglioramenti sia nella resistenza alle - rotture che nelle prestazioni, comparati alle normali partizioni - &unix;. Una tipica configurazione potrebbe essere:</para> - - <programlisting> volume raid10 - plex org striped 512k - sd length 102480k drive a - sd length 102480k drive b - sd length 102480k drive c - sd length 102480k drive d - sd length 102480k drive e - plex org striped 512k - sd length 102480k drive c - sd length 102480k drive d - sd length 102480k drive e - sd length 102480k drive a - sd length 102480k drive b</programlisting> - - <para>I sottodischi del secondo plex sono spostati di due posti rispetto a - quelli del primo plex: questo aumenta le probabilità che le - scritture non utilizzino lo stesso sottodisco anche in caso che un - trasferimento utilizzi entrambi i drive.</para> - - <para>La <xref linkend="vinum-raid10-vol"> rappresenta la struttura di - questo volume.</para> - - <para> - <figure id="vinum-raid10-vol"> - <title>Un Volume Vinum in Mirroring e Striping</title> - - <graphic fileref="vinum/vinum-raid10-vol"> - </figure> - </para> - </sect2> - </sect1> - - <sect1 id="vinum-object-naming"> - <title>Nomenclatura degli Oggetti</title> - - <para>Come descritto sopra, Vinum assegna nomi di default a plex e - sottodischi, benché questi possano essere cambiati. Cambiare il - nome di default non è raccomandato: l'esperienza con il VERITAS - volume manager, che permette la nomenclatura arbitraria degli oggetti, ha - mostrato che questa flessibilità non porta vantaggi significativi e - può causare confusione.</para> - - <para>I nomi possono contenere ogni carattere non blank (i caratteri di - spazio, tabulazione, cambio riga) ma è consigliato limitarsi a - lettere, cifre e il carattere di underscore (il carattere di - sottolineatura). I nomi di volumi, plex e sottodischi possono essere - lunghi fino a 64 caratteri, i nomi di drive invece hanno un massimo di 32 - caratteri.</para> - - <indexterm><primary>/dev/vinum</primary></indexterm> - - <para>I nomi assegnati agli oggetti Vinum sono nella gerarchia - <filename>/dev/vinum</filename>. - La configurazione di Vinum mostrata sopra creerebbe i seguenti - dispositivi:</para> - - <itemizedlist> - <listitem> - <para>I dispositivi di controllo - <filename>/dev/vinum/control</filename> e - <filename>/dev/vinum/controld</filename>, utilizzati - rispettivamente da &man.vinum.8; e dal demone Vinum.</para> - </listitem> - - <listitem> - <para>Voci di dispositivi a blocchi e a caratteri per ogni volume. - Questi sono i principali dispositivi utilizzati da Vinum. I - dispositivi a blocchi hanno il nome dei relativi volumi, quelli a - caratteri, seguendo la tradizione BSD, hanno una lettera - <emphasis>r</emphasis> all'inizio del nome. Quindi la configurazione - vista sopra genererebbe i dispositivi a blocchi - <filename>/dev/vinum/myvol</filename>, - <filename>/dev/vinum/mirror</filename>, - <filename>/dev/vinum/striped</filename>, - <filename>/dev/vinum/raid5</filename> e - <filename>/dev/vinum/raid10</filename>, e i dispositivi a - caratteri <filename>/dev/vinum/rmyvol</filename>, - <filename>/dev/vinum/rmirror</filename>, - <filename>/dev/vinum/rstriped</filename>, - <filename>/dev/vinum/rraid5</filename> e - <filename>/dev/vinum/rraid10</filename>. - In questo c'è un ovvio problema: è possibile avere due - volumi chiamati <emphasis>r</emphasis> e <emphasis>rr</emphasis> che - avrebbero un conflitto nel creare il nodo - <filename>/dev/vinum/rr</filename>: sarebbe il dispositivo a - caratteri per il volume <emphasis>r</emphasis> o il dispositivo a - blocchi per il volume <emphasis>rr</emphasis>? Attualmente Vinum non - si interessa di questo conflitto: il volume definito per primo prende - il nome.</para> - </listitem> - - <listitem> - <para>Una directory <filename>/dev/vinum/drive</filename> con voci - per ogni disco. Queste voci sono in effetti dei collegamenti simbolici - ai rispettivi nodi di disco.</para> - </listitem> - - <listitem> - <para>Una directory <filename>/dev/vinum/volume</filename> con voci per - ogni volume. Contiene sottodirectory per ogni plex, che a loro volta - contengono sottodirectory per ogni sottodisco.</para> - </listitem> - - <listitem> - <para>Le directory <filename>/dev/vinum/plex</filename>, - <filename>/dev/vinum/sd</filename> e - <filename>/dev/vinum/rsd</filename> contengono i dispositivi a - blocchi per ogni plex, dispositivo a blocchi e dispositivo a caratteri - per ogni sottodisco rispettivamente.</para> - </listitem> - </itemizedlist> - - <para>Ad esempio, considera il seguente file di configurazione:</para> - - <programlisting> drive drive1 device /dev/sd1h - drive drive2 device /dev/sd2h - drive drive3 device /dev/sd3h - drive drive4 device /dev/sd4h - volume s64 setupstate - plex org striped 64k - sd length 100m drive drive1 - sd length 100m drive drive2 - sd length 100m drive drive3 - sd length 100m drive drive4</programlisting> - - <para>Dopo aver elaborato questo file, &man.vinum.8; crea la seguente - struttura in <filename>/dev/vinum</filename>:</para> - - <programlisting> brwx------ 1 root wheel 25, 0x40000001 Apr 13 16:46 Control - brwx------ 1 root wheel 25, 0x40000002 Apr 13 16:46 control - brwx------ 1 root wheel 25, 0x40000000 Apr 13 16:46 controld - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 drive - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex - crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 rs64 - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rsd - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rvol - brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64 - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd - drwxr-xr-x 3 root wheel 512 Apr 13 16:46 vol - - /dev/vinum/drive: - total 0 - lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive1 -> /dev/sd1h - lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive2 -> /dev/sd2h - lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive3 -> /dev/sd3h - lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive4 -> /dev/sd4h - - /dev/vinum/plex: - total 0 - brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 - - /dev/vinum/rsd: - total 0 - crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0 - crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1 - crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2 - crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3 - - /dev/vinum/rvol: - total 0 - crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64 - - /dev/vinum/sd: - total 0 - brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0 - brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1 - brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2 - brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3 - - /dev/vinum/vol: - total 1 - brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64 - drwxr-xr-x 3 root wheel 512 Apr 13 16:46 s64.plex - - /dev/vinum/vol/s64.plex: - total 1 - brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 - drwxr-xr-x 2 root wheel 512 Apr 13 16:46 s64.p0.sd - - /dev/vinum/vol/s64.plex/s64.p0.sd: - total 0 - brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0 - brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1 - brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2 - brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3</programlisting> - - <para>Benché sia raccomandato non allocare nomi specifici a plex e - sottodischi, i drive di Vinum devono avere un nome. Questo permette di - spostare un disco in una differente locazione e continuare a riconoscerlo - automaticamente. I nomi di drive possono essere lunghi fino a 32 - caratteri.</para> - - <sect2> - <title>Creare i File System</title> - - <para>I volumi appaiono al sistema identici ai dischi, con un'eccezione. - Differentemente dai dischi &unix;, Vinum non partiziona i volumi, - che quindi non contengono una tabella delle partizioni. Questo ha reso - necessario modificare alcuni programmi di utilità del disco, tra - cui &man.newfs.8;, che prcedentemente cercava di interpretare l'ultima - lettera di un volume Vinum come un identificatore di partizione. - Ad esempio un disco potrebbe avere un nome come - <filename>/dev/ad0a</filename> o <filename>/dev/da2h</filename>. - Questi nomi rappresentano la prima partizione - (<devicename>a</devicename>) del primo (0) disco IDE - (<devicename>ad</devicename>) e l'ottava partizione - (<devicename>h</devicename>) del terzo (2) disco SCSI - (<devicename>da</devicename>), rispettivamente. Al contrario un volume - Vinum potrebbe essere chiamato - <filename>/dev/vinum/concat</filename>, un nome che non ha alcuna - relazione con nomi di partizione.</para> - - <para>Normalmente &man.newfs.8; interpreta il nome del disco e si lamenta - se non riesce a comprenderlo. Per esempio:</para> - - <screen>&prompt.root; <userinput>newfs /dev/vinum/concat</userinput> -newfs: /dev/vinum/concat: can't figure out file system partition</screen> - - <note><para>Queste informazioni sono valide solo per versioni di FreeBSD - precedenti alla 5.0:</para></note> - - <para>Per poter creare un file system su questo volume usa &man.newfs.8; - con l'opzione <option>-v</option>:</para> - - <screen>&prompt.root; <userinput>newfs -v /dev/vinum/concat</userinput></screen> - </sect2> - </sect1> - - <sect1 id="vinum-config"> - <title>Configurare Vinum</title> - - <para>Il kernel <filename>GENERIC</filename> non contiene Vinum. - È possibile creare un kernel speciale che lo contenga, ma questo - non è raccomandato: il metodo standard per lanciare Vinum è - come modulo del kernel (<acronym>kld</acronym>). Non è neanche - necessario usare &man.kldload.8; per Vinum: quando lanci &man.vinum.8; il - programma controlla se il modulo è stato caricato e, in caso non - sia caricato, lo carica automaticamente.</para> - - <sect2> - <title>Avvio</title> - - <para>Vinum immagazzina le informazioni sulla configurazione dei dischi - essenzialmente nella stessa forma dei file di configurazione. Quando - legge il database di configurazione Vinum riconosce un numero di - parole chiave che non sono permesse nei file di configurazione, ad - esempio un file di configurazione del disco potrebbe contenere il - seguente testo:</para> - - <programlisting width="119">volume myvol state up -volume bigraid state down -plex name myvol.p0 state up org concat vol myvol -plex name myvol.p1 state up org concat vol myvol -plex name myvol.p2 state init org striped 512b vol myvol -plex name bigraid.p0 state initializing org raid5 512b vol bigraid -sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b -sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b -sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b -sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b -sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b -sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b -sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b -sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b -sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b -sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b -sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b -sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b -sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b</programlisting> - - <para>Le ovvie differenze sono qua la presenza di informazioni esplicite - sulle locazioni e sulla nomenclatura (entrambe permesse, ma scoraggiate, - all'utente) e le informazioni sugli stati (che non sono disponibili - all'utente). Vinum non immagazzina informazioni sui drive tra le - informazioni della configurazione: trova i drive scandendo le partizioni - dei dischi configurati alla ricerca di un'etichetta Vinum. Questo - permette a Vinum di identificare i drive correttamente anche se gli - è stato assegnato un differente codice identificativo di drive - &unix;.</para> - - <sect3 id="vinum-rc-startup"> - <title>Avvio Automatico</title> - - <para>Per poter lanciare Vinum automaticamente all'avvio del sistema - assicuratevi che le seguenti linee siano nel vostro - <filename>/etc/rc.conf</filename>:</para> - - <programlisting>start_vinum="YES" # set to YES to start vinum</programlisting> - - <para>Se non hai un file <filename>/etc/rc.conf</filename>, creane uno - con questo contenuto. Questo ordinerà al sistema di caricare - il Vinum <acronym>kld</acronym> all'avvio, inizializzando ogni oggetto - menzionato nella configurazione. Questo viene fatto prima del mount - dei file system quindi è possibile fare automaticamente - &man.fsck.8; e mount dei file system su volumi Vinum.</para> - - <para>Quando esegui Vinum con il comando <command>vinum start</command> - Vinum legge il database di configurazione da uno dei drive Vinum. In - circostanze normali ogni drive contiene una copia identica del - database di configurazione quindi non conta da quale disco viene - letto. Dopo un crash, tuttavia, Vinum deve determinare quale drive - è stato aggiornato più recentemente e leggere la - configurazione da questo drive. Quindi aggiorna la configurazione, se - necessario, sui drive progressivamente più vecchi.</para> - </sect3> - </sect2> - </sect1> - - <sect1 id="vinum-root"> - <title>Usare Vinum nel Filesystem Root</title> - - <para>Per una macchina con filesystem completamente in mirroring con Vinum - è desiderabile mettere in mirroring anche il filesystem di root; - fare questo è meno semplice che non per un filesystem arbitrario, - dato che:</para> - - <itemizedlist> - <listitem> - <para>Il filesystem root deve essere disponibile nella parte iniziale - del processo di boot, quindi l'infrastruttura di Vinum deve essere - già disponibile in quel momento.</para> - </listitem> - - <listitem> - <para>Il volume contenete il filesystem root contiene anche il sistema - di avvio e il kernel, che devono essere letti usando le funzioni - native del sistema (ovvero il BIOS, sui PC) che spesso non conoscono i - dettagli di Vinum.</para> - </listitem> - </itemizedlist> - - <para>Nelle sezioni seguenti, il termine <quote>volume root</quote> - è usato generalmente per descrivere il volume Vinum che contiene il - filesystem root. È probabilmente una buona idea usare il nome - <literal>"root"</literal> per questo volume, ma non è necessario. - Tutti gli esempi nelle prossime sezioni usano questo nome.</para> - - <sect2> - <title>Lanciare Vinum abbastanza presto per il Filesystem Root</title> - - <para>Ci sono varie misure da prendere per fare in modo che questo - accada:</para> - - <itemizedlist> - <listitem> - <para>Vinum deve essere disponibile nel kernel già all'avvio, - quindi il metodo per lanciare Vinum automaticamente descritto - in <xref linkend="vinum-rc-startup"> non può essere - utilizzato e il parametro <literal>start_vinum</literal> in - realtà <emphasis>non</emphasis> va impostato in questo tipo - di configurazione. La prima possibilità è di - compilare Vinum staticamente dentro al kernel, in modo che sia - sempre disponibile, ma questo non è normalmente desiderabile. - Un'altra opportunità à di fare in modo che - <filename>/boot/loader</filename> (<xref - linkend="boot-loader">) carichi il modulo kernel di Vinum prima di - lanciare il kernel. Questo può essere fatto utilizzando la - riga:</para> - - <programlisting>vinum_load="YES"</programlisting> - - <para>nel file <filename>/boot/loader.conf</filename>.</para> - </listitem> - - <listitem> - <para>Vinum deve essere inizializzato subito in modo da poter fornire - il volume per il filesystem root. Per default la porzione kernel di - Vinum non cerca dischi che contengano informazioni sui volumi Vinum - fino a quando un amministratore (o uno degli script di partenza) non - esegue un comando di <command>vinum start</command>.</para> - - <note> - <para>I seguenti paragrafi spiegano i passi necessari per - &os; 5.x e superiori. L'impostaizone richiesta da - &os; 4.x è diversa ed è descritta dopo, in - <xref linkend="vinum-root-4x">.</para> - </note> - - <para>Inserendo la linea:</para> - - <programlisting>vinum.autostart="YES"</programlisting> - - <para>dentro a <filename>/boot/loader.conf</filename>, Vinum viene - istruito, alla partenza del kernel, di controllare automaticamente - tutti i dischi alla ricerca di informazioni sui volumi Vinum.</para> - - <para>Da notare il fatto che non è necessario istruire il - kernel sulla locazione del filesystem root. - <filename>/boot/loader</filename> cerca il nome del device di root - in <filename>/etc/fstab</filename> e passa l'informazione al kernel. - Quando è necessario montare il filesystem root, il kernel, - tramite il nome di device fornitogli, capisce a quale driver deve - chiedere la conversione di tale nome in ID interno di device (numero - maggiore/minore).</para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Rendere un volume di root basato su Vinum accessibile - dall'avvio</title> - - <para>Dato che il codice di avvio di FreeBSD è attualmente di soli - 7.5 KB ed è già appesantito dalla lettura di file (come - <filename>/boot/loader</filename>) da un filesystem UFS, è - semplicementeimpossibile insegnargil anche a leggere le strutture - internet di Vinum in modo da fargil leggere i dati della configurazione - di Vinum in modo da ricavarne gli elementi del volume di boot stesso. - Sono quindi necessari alcuni trucchi per dare al codice di avvio - l'illusione di una partizione <literal>"a"</literal> standard contenente - il filesystem di root.</para> - - <para>Perché questo sia anche solo possibile, il volume di root - deve rispondere ai seguenti requisiti:</para> - - <itemizedlist> - <listitem> - <para>Il volume di root non deve essere in striping o in RAID-5.</para> - </listitem> - - <listitem> - <para>Il volume di root non deve contenere la concatenazione di pi? di - un sottodisco per ogni plex.</para> - </listitem> - </itemizedlist> - - <para>Da notare che è desiderabile e possibile aere plex multipli, - contenente ognuno una replica del filesystem root. Il processo di - avvio, però, usa solo una di queste repliche per trovare i file - necessario all'avvio, fino a quando il kernel monta il filesystem di - root stesso. Ogni singolo sottodisco in questi plex avrà quindi - bisogno di una propria partizione <literal>"a"</literal> illusoria, - affinché la periferica relativa possa essere avviabile. Non - è strettamente necessario che ognuna di queste finte partizioni - <literal>"a"</literal> sia locato con lo stesso spiazzamento all'interno - della propria periferica, rispetto alle periferiche contenenti gli altri - plex del volume. È comunque probabilmente una buona idea creare - i volumi Vinum in modo che le periferiche in mirror siano simmetriche, - per evitare confusione.</para> - - <para>Per poter configurare queste partizioni <literal>"a"</literal>, - in ogni periferica contenente parte del volume di root, bisogna fare le - seguenti cose:</para> - - <procedure> - <step> - <para>La locazione (spiazzamento dall'inizio della periferica) e la - dimensione del sottodisco che è parte del volume di root deve - essere esaminato, usando il comando:</para> - - <screen>&prompt.root; <userinput>vinum l -rv root</userinput></screen> - - <para>Da notare che gli spiazzamenti e le dimensioni in Vinum sono - misurati in byte. Devono essere divisi per 512 per ottenere il - numero di blocchi necessari nel comando - <command>disklabel</command>.</para> </step> - - <step> - <para>Esegui il comando:</para> - - <screen>&prompt.root; <userinput>disklabel -e <replaceable>devname</replaceable></userinput></screen> - - <para>per ogni periferica che partecipa al volume di root. - <replaceable>devname</replaceable> deve essere o il nome della slice - (ad esempio <devicename>ad0s1</devicename>) o il nome del disco (ad - esempio <devicename>da0</devicename>) per dischi senza tabella delle - slice (ovvero i nomi che si usano anche con fdisk).</para> - - <para>Se c'è già una partizione <literal>"a"</literal> - sulla periferica (presumibilmente contenente un filesystem root - precedente all'uso di Vinum), dovrebbe essere rinominata in altro - modo, in modo da restare accessibile (nno si sa mai), ma non essere - usata più per default per avviare il sistema. Da notare che - le partizioni attive (ad esempio un filesystem root attualmente - montato) non possono essere rinominati, quindi questo deve essere - eseguito o avviando da un disco <quote>Fixit</quote> o (in caso di - mirror) in un processo a due passi dove il disco non di avvio viene - modificato per primo.</para> - - <para>Infine, lo spiazzamento della partizione Vinum sulla periferica - va aggiunto allo spiazzamento del rispettivo sottodisco di root - rispetto alla periferica stessa. Il risultato sarà il valore - di <literal>"offset"</literal> (spiazzamento) per la nuova - partizione <literal>"a"</literal>. Il valore - <literal>"size"</literal> (dimensione) per questa partizione - può essere copiato pari pari dal calcolo fatto sopra. - Il valore <literal>"fstype"</literal> deve essere - <literal>4.2BSD</literal>. I valori <literal>"fsize"</literal>, - <literal>"bsize"</literal> e <literal>"cpg"</literal> devono - preferibilmente essere scelti per corrispondere al vero e proprio - filesystem, anche se in questo contesto non sono molto - importanti.</para> - - <para>In questo modo una nuova partizione <literal>"a"</literal> - sarà creata ricoprendo le partizioni Vinum su questa - periferica. Da notare che <command>disklabel</command> - permetterà questa ricopertura solo se la partizione Vinum - è stata appropriatamente marcata usando un - <literal>"fstype"</literal> pari a <literal>"vinum"</literal> - fstype.</para> </step> - - <step> - <para>È tutto! Ora una falsa partizione <literal>"a"</literal> - esiste su ogni periferica che abbia una replica del volume di root. - È altamente raccomandabile verificare nuovamente i risultati, - usando un comando come:</para> - - <screen>&prompt.root; <userinput>fsck -n /dev/<replaceable>devname</replaceable>a</userinput></screen> - </step> - </procedure> - - <para>Bisogna ricordarsi che tutte le informazioni contenute nei file di - controllo devono essere relative al filesystem di root nel volume Vinum - che, quando si imposta un nuovo volume di root Vinum, potrebbe non - coincidere con quello del filesystem root attualmente attivo. - In particolare bisogna stare attenti ai file - <filename>/etc/fstab</filename> e - <filename>/boot/loader.conf</filename>.</para> - - <para>Al seguente riavvio il sistema dovrebbe ricavare le informazioni di - controllo appropriate dal filesystem di root Vinum e agire di - consequenza. Alla fine del processo di inizializzazione del kernel, - dopo che tutte le periferiche sono state annunciate, l'avvertimento - principale che conferma il successo dell'avvio è un messaggio - simile a questo:</para> - - <screen>Mounting root from ufs:/dev/vinum/root</screen> - </sect2> - - <sect2> - <title>Esempi di configurazioni con root basata su Vinum</title> - - <para>Dopo aver creato il volume di root Vinum, - <command>vinum l -rv root</command> dovrebbe produrre qualcosa di simile - a:</para> - - <screen> -... -Subdisk root.p0.s0: - Size: 125829120 bytes (120 MB) - State: up - Plex root.p0 at offset 0 (0 B) - Drive disk0 (/dev/da0h) at offset 135680 (132 kB) - -Subdisk root.p1.s0: - Size: 125829120 bytes (120 MB) - State: up - Plex root.p1 at offset 0 (0 B) - Drive disk1 (/dev/da1h) at offset 135680 (132 kB) - </screen> - - <para>I valori su cui fare caso sono il <literal>135680</literal> dello - spiazzamento (relativo alla partizione - <filename>/dev/da0h</filename>). Questo si traduce in 265 blocchi da - 512 byte nei termini di <command>disklabel</command>. - <filename>/dev/da1h</filename>, contenente la seconda replica del - volume di root, ha una configurazione simmetrica.</para> - - <para>La <command>disklabel</command> per queste periferiche dovrebbe - essere simile a questa:</para> - - <screen> -... -8 partitions: -# size offset fstype [fsize bsize bps/cpg] - a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*) - c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*) - h: 71771672 16 vinum # (Cyl. 0*- 4467*) - </screen> - - <para>Si può notare che il parametro <literal>"size"</literal> per - la finta partizione <literal>"a"</literal> corrisponde al valore di cui - abbiamo parlato prima, mentre il parametro <literal>"offset"</literal> - è la somma dello spiazzamento all'interno della partizione Vinum - <literal>"h"</literal> e lo spiazzamento all'interno della periferica (o - slice). Questa è una tipica configurazione necessaria per - evitare il problema descritto in <xref linkend="vinum-root-panic">. - Si può anche notare che l'intera partizione - <literal>"a"</literal> è completamente contenuta dalla partizione - <literal>"h"</literal>, che contiene tutti i dati Vinum per questa - periferica.</para> - - <para>Notate che in questo esempio l'intera perfierica è dedicata a - Vinum e nno c'è spazio per partizioni pre-Vinum, dato che questo - disco è stato configurato da nuovo per il solo scopo di far parte - di una configurazione Vinum.</para> - </sect2> - - <sect2> - <title>Risoluzione Problemi</title> - - <para>Se qualcosa va storto, serve un modo per tornare in una situazione - di normalità. Segue una lista di alcuni tipici problemi, - completi di soluzione.</para> - - <sect3> - <title>Il Codice di Avvio si Carica, ma il Sistema non si Avvia</title> - - <para>Se per qualsiasi ragione in sistema non prosegue nell'avvio, si - può interrompere il processo di avvio premendo il tasto - <keycap>spazio</keycap> all'avviso dei 10 secondi. Le variabili di - avvio potranno quindi essere esaminate usando il comando - <command>show</command> e manipolate con <command>set</command> e - <command>unset</command>.</para> - - <para>Se l'unico problema è che il modulo kernel di Vinum non - è ancora presente nella lista dei moduli da caricare - automaticamente, un semplice <command>load vinum</command> - aiuterà.</para> - - <para>Quando pronti, il processo di avvio può continuare con un - <command>boot -as</command>. Le opzioni <option>-as</option> - comunicano al kernel di montare il filesysetm di root - (<option>-a</option>) e di interrompere il processo di avvio in - modalità singolo utente (<option>-s</option>), - quando il filesystem di root è montato a sola lettura. In - questo modo benché uno solo dei plex do un volume multi-plex - sia stato montato, non si rischia inconsistenza dei dati tra i vari - plex.</para> - - <para>Alla richiesta di un filesystem di root da montare, ogni - periferica che contenga un filesystem di root valido può essere - usata. Se <filename>/etc/fstab</filename> è stato impostato - correttamente, il default dovrebbe essere - <literal>ufs:/dev/vinum/root</literal> o simile. Una tipica - alternativa potrebbe essere <literal>ufs:da0d</literal>, una - ipotetica partizione contenete un filesystem root pre-Vinum. - Bisogna fare attenzione quando si sceglie una delle partizioni - <literal>"a"</literal> alias di un sottodisco della periferica root di - Vinum, perché in una cifiguraizone in mirror questo monterebbe - solo un pezzo della root in mirror. Se questo filesystem deve poi - essere montato in lettura/scrittura è necessario rimuovere gli - altri plex del volume root di Vinum dato che conterrebbero comunque - dati non consistenti.</para> - </sect3> - - <sect3> - <title>Si Carica Solo l'Avvio Primario</title> - - <para>Se <filename>/boot/loader</filename> non si carica, ma l'avvio - primario si carica comunque (si capisce dal singolo trattino nella - colonna di sinistra dello schermo subito dopo l'inizio dell'avvio), si - può tentare di fermare l'avvio primario in questo punto, - premendo il tasto <keycap>spazio</keycap>. Questo fermerà - l'avvio nella seconda fase, vedi <xref linkend="boot-boot1">. Qua si - può fare un tentativo di caricare una differente partizione, ad - esempio la partizione contenente il precedente filesystem di root - <literal>"a"</literal>, prima di sostituirlo come sopra - indicato.</para> - </sect3> - - <sect3 id="vinum-root-panic"> - <title>Non si Carica Niente, l'Avvio va in Panico</title> - - <para>Questa situazione accade quando l'installazione di Vinum ha - distrutto il codice di avvio. Sfortunatamente Vinum lascia solo 4 KB - liberi all'inizio della sua partizione prima di scrivere il proprio - header. Purtroppo le due fasi dell'avvio e la disklabel compresa tra - le due attualmente occupa 8 KB, quindi se la partiozne Vinum è - creata con spiazzamento 0 in una slice o disco che dovrebbe essere - avviabile, la configurazione di Vinum distruggerà il codice di - avvio.</para> - - <para>Similmente, se la situazione sopra descritta è stata - risolta avviando da un disco di <quote>Fixit</quote>, e il codice di - avvio re-installato usando <command>disklabel -B</command> come - descritto in <xref linkend="boot-boot1">, il codice di avvio - distruggerà l'header di Vinum, che non saprà più - trovare i propri dischi. Benché nessun dato, di configurazione - o contenuto, sia distrutto da questo processo, che risulta quindi - recuperabile reinserendo la stessa configurazione di Vinum, la - situazione è in realtà di difficile risoluzione: sarebbe - necessario spostare l'intera partizione Vinum di almeno 4 KB, in modo - da lasciare abbastanza spazio sia per il codice di avvio che per - l'header Vinum.</para> - </sect3> - </sect2> - - <sect2 id="vinum-root-4x"> - <title>Differenze per FreeBSD 4.X</title> - - <para>In FreeBSD 4.X alcune funzioni interne necessarie a Vinum per poter - trovare automaticamente tutti i dischi non sono presenti e il codice che - ricava l'ID interno della periferica di root non è abbastanza - intelligente da gestire automaticamente nomi come - <filename>/dev/vinum/root</filename>, quindi le cose vengono fatte - in modo un po' diverso.</para> - - <para>Bisogna dire esplicitamente a Vinum quali dischi controllare, usando - una riga di <filename>/boot/loader.conf</filename> come la - seguente:</para> - - <programlisting>vinum.drives="/dev/<replaceable>da0</replaceable> /dev/<replaceable>da1</replaceable>"</programlisting> - - <para>È importante indicare tutti i drive che possono contenere - dati Vinum. Non è un problema indicare drive <emphasis>di - troppo</emphasis>, non è neanche necessario aggiungere - esplicitamente ogni slice e/o partizione, dato che Vinum - cercherà header Vinum in tutte le slice e partizioni dei drive - nominati.</para> - - <para>Dato che le procedure utilizzate per interpretare il nome del - filesystem di root e derivarne l'ID di periferica (numeri - maggiore e minore) sono adatte per gestire solo nomi - <quote>classici</quote> di periferica come - <filename>/dev/ad0s1a</filename>, non riescono a capire nomi di - volumi root come <filename>/dev/vinum/root</filename>. Per questo - motivo Vinum ha bisogno di pre-impostare durante la propria - inzializzazione il parametro kernel interno che contiene l'ID della - periferica di root. Questo viene fatto indicando il nome della - volume di root nella variabile di avvio <literal>vinum.root</literal>. - La riga di <filename>/boot/loader.conf</filename> adatta per fare questo - è simile alla seguente:</para> - - <programlisting>vinum.root="root"</programlisting> - - <para>Quando l'inizializzaione del kernel cerca di trovare la periferica - root da montare controlla se qualche modulo del kernel ha già - pre-inizializzato il parametro kernel apposito; se questo è il - caso <emphasis>e</emphasis> la periferica che dice di essere la - periferica di root ha il numero maggiore e minore corrispondenti al - driver come trovato dal nome della periferica di root passata (ovvero - <literal>"vinum"</literal>, nel nostro caso), userà l'ID di - periferica pre-allocato, anziché cercar di trovarne uno da solo. - In tal modo durante l'usuale avvio automatico può continuare a - montare il volume di root Vinum per il filesystem di root.</para> - - <para>Bisogna comunque notare che anche quando <command>boot -a</command> - richiede di inserire manualmente il nome della periferica di root tale - nome non può essere intepretato nel caso sia un nome rfierito a - un volume Vinum. Se è inserito un nome di periferica non - riferito a una periferica Vinum, la non corrispondenza col numero - maggiore pre-allocato del parametro di root e del driver ricavato dal - nome farà sì che la procedura utilizzi il normale - interprete, quindi una stringa come <literal>ufs:da0d</literal> - funzionerà come previsto. Da notare che se questo fallisce non - si può più provare una stringa come - <literal>ufs:vinum/root</literal>, dato che non verrebbe - interpretata; l'unica via di uscita è riavviare e ripartire da - zero. (Alla richiesta di <quote>askroot</quote>, la parte iniziale - <filename>/dev/</filename> può sempre essere omessa.)</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/handbook/x11/Makefile b/it_IT.ISO8859-15/books/handbook/x11/Makefile deleted file mode 100644 index 46ca90e47b..0000000000 --- a/it_IT.ISO8859-15/books/handbook/x11/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Crea il Manuale con il contenuto di solo questo capitolo. -# -# $FreeBSD$ -# - -CHAPTERS= x11/chapter.sgml - -VPATH= .. - -MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} - -DOC_PREFIX?= ${.CURDIR}/../../../.. - -.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml b/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml deleted file mode 100644 index 6de7ecc4f8..0000000000 --- a/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml +++ /dev/null @@ -1,354 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.82 ---> - -<chapter id="x11"> - <title>L'X Window System</title> - - <sect1> - <title>Sinossi</title> - - <para>FreeBSD usa XFree86 per fornire agli utenti una potente - interfaccia grafica. XFree86 è una implementazione gratuita dell'X - Window System. Questo capitolo copre l'installazione e la - configurazione di XFree86 su un sistema FreeBSD. Per ulteriori - informazioni su XFree86 e sull'hardware che supporta, controlla il - <ulink url="http://www.XFree86.org/">sito web</ulink> di XFree86.</para> - - <para>Dopo aver letto questo capitolo, conoscerai:</para> - - <itemizedlist> - <listitem> - <para>I diversi componenti dell'X Window system, e come - questi cooperano.</para> - </listitem> - - <listitem> - <para>Come installare e configurare XFree86.</para> - </listitem> - - <listitem> - <para>Come installare ed usare diversi window manager.</para> - </listitem> - - <listitem> - <para>Come usare i font TrueType in XFree86.</para> - </listitem> - - <listitem> - <para>Come impostare il sistema per il login grafico (XDM).</para> - </listitem> - </itemizedlist> - - <para>Prima di leggere questo capitolo, dovresti:</para> - - <itemizedlist> - <listitem> - <para>Sapere come installare del software di terze parti (<xref - linkend="ports">).</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="x-understanding"> - - <title>Capire X</title> - - <para>Usare X per la prima volta può essere talvolta scioccante per - quelli che hanno familiarità con altri ambienti grafici, come - Microsoft Windows o MacOS</para> - - <para>Non é necessario capire tutti i dettagli dei diversi componenti - di X e come interagiscono; in ogni caso, una piccola conoscenza di base - rende possibile avvantaggiarsi delle funzionalità di X.</para> - - <sect2> - <title>Perchè X?</title> - - <para>X non è il primo window manager scritto per Unix, ma è - il più popolare. - Il gruppo di sviluppo di X aveva già lavorato ad un altro - sistema grafico prima di scrivere X. Il nome di quel sistema era - <quote>W</quote> (per <quote>Window</quote>). X è semplicemente - la lettera seguente nell'alfabeto Romano.</para> - - <para>X può essere chiamato <quote>X</quote>, <quote>X Window - System</quote>, <quote>X11</quote>, e in altri modi. Chiamare X11 - <quote>X Windows</quote> potrebbe dare fastidio a della gente; dà - un'occhiata a &man.X.1; per ulteriori informazioni su questo.</para> - </sect2> - - <sect2> - <title>Il modello client/server di X</title> - - <para>X è stato progettato fin dall'inizio per essere usato in - rete, e adotta un modello <quote>client-server</quote>. - Nel modello di X, il <quote>server X</quote> funziona sul computer che - ha tastiera, monitor e mouse attaccati. Il server è responsabile - del controllo del display, del trattamento dell'input dalla tastiera e - dal mouse, e così via. Ogni applicazione X (come - <application>XTerm</application>, o <application>Netscape</application>) - è un <quote>client</quote>. Un client spedisce messaggi al - server come <quote>Per favore disegna una finestra a queste - coordinate</quote>, e il server risponde con messaggi quali - <quote>L'utente ha appena premuto il bottone OK</quote>.</para> - - <para>Se si tratta solo di un computer, come in una casa o in un - piccolo ufficio, il server X e i client X funzioneranno sullo stesso - computer. Ad ogni modo, è perfettamente possibile far funzionare - il server X su una macchina meno potente, e far funzionare le - applicazioni (i client) su di una macchina che serve l'ufficio. - In questo scenario le comunicazioni tra il client X e il server hanno - luogo attraverso la rete.</para> - - <para>Questo confonde certa gente, perchè la terminologia di X - è proprio l'opposto di come ci si possa aspettare di solito. - Normalmente ci si aspetta che il <quote>server X</quote> sia la grossa e - potente macchina in fondo alla sala, e il <quote>client X</quote> sia la - macchina sulla propria scrivania.</para> - - <para>Ricorda che il server X è la macchina con il monitor e la - tastiera, e i client X sono i programmi che mostrano le - finestre.</para> - - <para>Non c'è nulla nel protocollo che obbliga la macchina client e - quella server ad utilizzare lo stesso sistema operativo, oppure a - funzionare sullo stesso tipo di computer. È certamente possibile - far funzionare un server X su Microsoft Windows o MacOS, e ci sono - diverse applicazioni free o commerciali che fanno esattamente - quello.</para> - - <para>Il server X che viene fornito con FreeBSD è chiamato - <application>XFree86</application>, ed è disponibile - gratuitamente, sotto una licenza molto simile a quella di FreeBSD. - Server X commerciali per FreeBSD sono comunque disponibili.</para> - </sect2> - - <sect2> - <title>Il Window Manager</title> - - <para>La filosofia di design di X è molto simile a quella di Unix, - <quote>strumenti, non regole</quote>. Questo significa che X non prova - a dire come una azione debba essere compiuta. Invece, vengono forniti - degli strumenti all'utente, ed è quindi esponsabilitè - dell'utente decidere come usare questi strumenti.</para> - - <para>Questa filosofia si estende al fatto che X non dice come le - finestre debbano comparire sullo schermo, né come queste debbano - essere spostate con il mouse, né quali tasti servano per muoversi - attraverso le finestre (ad esempio, <keycombo action="simul"> - <keycap>Alt</keycap> - <keycap>Tab</keycap> - </keycombo>, nel caso di Windows), né che aspetto devono avere - le barre sopra ogni finestra, se queste hanno o meno bottoni di - chiusura, e così via.</para> - - <para>Invece X delega questa responsabilitè ad una applicazione - chiamata <quote>Window Manager</quote>. Ci sono dozzine di window - manager disponibili per X; <application>AfterStep</application>, - <application>Blackbox</application>, <application>ctwm</application>, - <application>Enlightenment</application>, - <application>fvwm</application>, <application>Sawfish</application>, - <application>twm</application>, <application>Window - Maker</application>, ed altri. Ciascuno di questi window manager - fornisce un diverso aspetto ed ambiente; alcuni di questi supportano i - <quote>virtual desktop</quote>; alcuni consentono di avere delle - combinazioni di tasti predefinite per gestire il desktop; altri hanno - un pulsante <quote>Start</quote> o simile; altri possono avere dei - <quote>temi</quote>, permettendo un cambio completo di look-and-feel - applicando un nuovo tema. Questi window manager, e molti altri, - sono disponibili nella categoria <filename>x11-wm</filename> - dei Port.</para> - - <para>Inoltre, i desktop environments <application>KDE</application> - e <application>GNOME</application> hanno tutti e due il proprio - window manager che si integra con il desktop.</para> - - <para>Ciascun window manager inoltre ha a un proprio meccanismo di - configurazione; alcuni si aspettano di avere un file di configurazione - scritto a mano, altri hanno delle interfacce grafiche per molti dei - compiti di configurazione; almeno uno - (<application>sawfish</application>) ha un file di configurazione - scritto in un dialetto del linguaggio Lisp.</para> - - <note> - <title>Regole di fuoco</title> - - <para>Un'altra capacità che il window manager deve avere è - la cosiddetta <quote>focus policy</quote>, o Regola di fuoco. - Ogni sistema a finestre necessita di un modo per scegliere - la finestra che deve essere attiva e che deve ricevere le - comunicazioni da tastiera, e deve indicare univocamente - quale finestra è attiva in un determinato momento.</para> - - <para>Una Focus policy familiare è chiamata - <quote>click-to-focus</quote>. Questo è il modello - utilizzato da Microsoft Windows, nel quale una finestra - diventa attiva dopo aver ricevuto un click del mouse.</para> - - <para>X non supporta alcuna focus policy particolare. Invece - il Window Manager controlla quale finestra è attiva in - un determinato momento. Diversi Window manager supporteranno - diversi metodi di focus. Tutti supportano il click-to-focus, - e la maggioranza di questi ne supporta molti altri.</para> - - <para>Le regole di fuoco più popolari sono:</para> - - <variablelist> - <varlistentry> - <term>focus-follows-mouse (o fuoco-segue-mouse)</term> - - <listitem> - <para>La finestra su cui si trova il puntatore è quella - che riceve il fuoco. Questa potrebbe non essere - necesariamente la finestra che si trova davanti a tutte - le altre. Il fuoco cambia se si punta un'altra - finestra, e non c'è modo di fare click con il - mouse.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>sloppy-focus</term> - - <listitem> - <para>Questa policy è una piccola estensione della - focus-follows-mouse. Con focus-follows-mouse, se il mouse - viene mosso sulla finestra principale (o sullo sfondo), allora - nessuna finestra avrà il fuoco, e la pressione di un - tasto verrà semplicemente ignorata. Con Sloppy-focus, il - fuoco è solamente cambiato quando il cursore entra in - una nuova finestra, e non quando si esce dalla finestra - corrente.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>click-to-focus</term> - - <listitem> - <para>La finestra attiva è scelta dal click del mouse. La - finestra potrebbe essere allora <quote>alzata</quote>, ed - apparire davanti alle altre finestre. Tutte le pressioni dei - tasti saranno da quel momento dirette a questa finestra, - anche se il cursore viene spostato su un'altra - finestra.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Molti window manager supportano altre policy, come possono - avere variazioni sul tema. Per maggiori informazioni vi preghiamo - di consultare la documentazione stessa del window manager.</para> - </note> - </sect2> - - <sect2> - <title>I Widget</title> - - <para>L'approccio di X di fornire strumenti e non regole si estende - anche ai widget, cioè ai contenitori contenenti, sullo schermo, - le applicazioni.</para> - - <para><quote>Widget</quote> è un termine usato per tutte quelle - parti nell'interfaccia utente che possono essere cliccate o manipolate - in un certo modo; bottoni, checkboxes, radio buttons, icone, liste, e - così via. Windows li chiama invece - <quote>controlli</quote>.</para> - - <para>Sia Microsoft Windows che Apple MacOS hanno delle regole strette - per i widget. Gli sviluppatori devono assicurarsi che tutte le loro - applicazioni condividano lo stesso stile. Con X, non si è - sentito un particolare bisogno di obbligare ad avere un particolare - stile grafico, o settare widgets a cui aderire.</para> - - <para>Come risultato, non aspettatevi applicazioni per X che abbiano - lo stesso stile. Ci sono alcuni widgets popolari e le loro variazioni, - come l'originale Athena sviluppato dall'MIT, - <application>Motif</application> (dal quale è stato modellato il - widget presente su Microsoft windows, tutti angoli a doppio livello e - tre sfumature di grigio), <application>OpenLook</application>, ed - altri.</para> - - <para>Molte applicazioni nuove di X di oggi usano un widget con - sembianze moderne, probabilmente Qt, usato da - <application>KDE</application>, o <application>GTK</application>, - usato da <application>GNOME</application>. Nel rispetto di questo, - c'è un accenno di convergenza nell'aspetto dei desktop UNIX, - il che facilita le cose ai nuovi utenti.</para> - </sect2> - </sect1> - - <sect1 id="x-install"> - <title>Installazione di XFree86</title> - - <para>Prima di installare XFree86, decidi quale versione utilizzare. - <application>XFree86 3.X</application> è un ramo di mantenimento - dello sviluppo di XFree86. È molto stabile, e supporta un grande - numero di schede grafiche. Ad ogni modo, non vi è alcuno sviluppo - ulteriore effettuato su questo software. - <application>XFree86 4.X</application> è un redesign completo del - sistema con molte nuove features come un miglior supporto per i font - e l'antialiasing. Sfortunatamente questa nuova architettura fa sì - che i driver per le schede video debbano essere riscritti, e alcune - delle schede video meno recenti che erano supportate nella 3.X è - possibile che non siano ancora supportate nella 4.X</para> - - <para>Il programma di installazione di FreeBSD offre l'opportunità - di installare e configurare XFree86 3.3.6 durante l'installazione - (trattato in <xref linkend="x-server">). Per utilizzare - <application>XFree86 4.X</application>, aspetta finché il - sistema base è stato installato, quindi installa XFree86. - Per esempio, per compilare ed installare - <application>XFree86 4.X</application> dai port: - - <screen>&prompt.root; <userinput>cd /usr/ports/x11/XFree86-4</userinput> -&prompt.root; <userinput>make all install clean</userinput></screen> - - <para>Alternativamente, <application>XFree86 4.X</application> può - essere installato da package binario con il comando - <command>pkg_add</command> direttamente dai binari FreeBSD forniti sul - <ulink url="http://www.xfree86.org/">sito di XFree86</ulink>.</para> - - <para>Il resto del capitolo spiegherà come configurare XFree86, - e come settare un ambiente desktop produttivo.</para> - </sect1> - - <sect1 id="x-config"> - <title>XFree86 Configuration</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="x-fonts"> - <title>Using Fonts in XFree86</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="x-xdm"> - <title>The X Display Manager</title> - - <para>Traduzione in corso</para> - </sect1> - - <sect1 id="x11-wm"> - <title>Desktop Environments</title> - - <para>Traduzione in corso</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/unix-introduction/Makefile b/it_IT.ISO8859-15/books/unix-introduction/Makefile deleted file mode 100644 index d08239cf37..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -# -# $FreeBSD$ -# -# Crea l'Introduzione a Unix. -# - -MAINTAINER= ale@FreeBSD.org - -DOC?= book - -FORMATS?= html-split - -INSTALL_COMPRESSED?= gz -INSTALL_ONLY_COMPRESSED?= - -# -# SRCS lista i singoli files SGML che compongono il documento. Modifiche -# a qualunque di questi files obbligano la ricreazione -# - -# Contenuto SGML -SRCS = book.sgml -SRCS+= bibliography/chapter.sgml -SRCS+= command-summary/chapter.sgml -SRCS+= commands/chapter.sgml -SRCS+= editors/chapter.sgml -SRCS+= getting-started/chapter.sgml -SRCS+= glossary/chapter.sgml -SRCS+= history/chapter.sgml -SRCS+= preface/chapter.sgml -SRCS+= shell-programming/chapter.sgml -SRCS+= shells/chapter.sgml -SRCS+= special-features/chapter.sgml -SRCS+= structure/chapter.sgml -SRCS+= system-resource/chapter.sgml -SRCS+= text-processing/chapter.sgml - -# Entities -SRCS+= chapters.ent - -DOC_PREFIX?= ${.CURDIR}/../../.. - -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/it_IT.ISO8859-15/books/unix-introduction/bibliography/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/bibliography/chapter.sgml deleted file mode 100644 index 4eded79c6d..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/bibliography/chapter.sgml +++ /dev/null @@ -1,189 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="bibliography"> - <title>Una breve bibliografia Unix</title> - - <table frame="all" id="bibliography-table"> - <title>Una breve bibliografia Unix</title> - - <tgroup cols="4"> - <colspec colwidth="3in"> - <colspec colwidth="1.8in"> - <colspec colwidth="1in"> - - <thead> - <row> - <entry align="center">Titolo</entry> - - <entry align="center">Autori</entry> - - <entry align="center">Editore</entry> - - <entry align="center">Anno pub.</entry> - </row> - </thead> - - <tbody> - <row> - <entry><emphasis>UNIX: concetti, strutture, - utilizzo</emphasis></entry> - - <entry>James R. Groff, Paul N. Weinberg</entry> - - <entry>Jackson</entry> - - <entry>1988</entry> - </row> - - <row> - <entry><emphasis>Guida completa Unix System V. Release - 4</emphasis></entry> - - <entry>Coffin Steven</entry> - - <entry>Mc Graw Hill</entry> - - <entry>1991</entry> - </row> - - <row> - <entry><emphasis>Introduzione all'architettura di sistema - Unix</emphasis></entry> - - <entry>Prabhat K. Andleigh</entry> - - <entry>Jackson</entry> - - <entry>1991</entry> - </row> - - <row> - <entry><emphasis>Usare Unix senza fatica</emphasis></entry> - - <entry>John R. Levine, Margaret Levine Young</entry> - - <entry>Mc Graw Hill</entry> - - <entry>1993</entry> - </row> - - <row> - <entry><emphasis>La grande guida Unix</emphasis></entry> - - <entry>John J. Valley</entry> - - <entry>Jackson</entry> - - <entry>1993</entry> - </row> - - <row> - <entry><emphasis>Shell Unix guida alla - programmazione</emphasis></entry> - - <entry>Arthur, Burns</entry> - - <entry>Mc Graw Hill</entry> - - <entry>1998</entry> - </row> - - <row> - <entry><emphasis>Introduzione alla struttura interna di - Unix</emphasis></entry> - - <entry>Le Van Huu</entry> - - <entry>Unicopli</entry> - - <entry>1998</entry> - </row> - - <row> - <entry><emphasis>Unix guida completa</emphasis></entry> - - <entry>Rosen, Host, Farber, Rosinski</entry> - - <entry>Mc Graw Hill</entry> - - <entry>1999</entry> - </row> - - <row> - <entry><emphasis>Gestione del sistema operativo Unix</emphasis></entry> - - <entry>Bruno Catalano, Ezio Raddi</entry> - - <entry>Città Studi</entry> - - <entry>2000</entry> - </row> - - <row> - <entry><emphasis>Guida a Unix seconda edizione</emphasis></entry> - - <entry>Hahn H.</entry> - - <entry>Mc Graw Hill</entry> - - <entry>2000</entry> - </row> - - <row> - <entry><emphasis>I segreti di Unix Seconda edizione</emphasis></entry> - - <entry>Armstrong James</entry> - - <entry>Apogeo</entry> - - <entry>2000</entry> - </row> - - <row> - <entry><emphasis>Guida a Unix con Linux</emphasis></entry> - - <entry>Jack Dent, Tony Gaddis</entry> - - <entry>Apogeo</entry> - - <entry>2001</entry> - </row> - - <row> - <entry><emphasis>Introduzione a Unix</emphasis></entry> - - <entry>David L. Schwartz</entry> - - <entry>Apogeo</entry> - - <entry>2001</entry> - </row> - - <row> - <entry><emphasis>Unix manuale per l'amministratore di sistema - terza - edizione</emphasis></entry> - - <entry>Nemeth Evi, Snyder Garth, Seebass Scott, Hein Trent</entry> - - <entry>Pearson Education Italia</entry> - - <entry>2002</entry> - </row> - </tbody> - </tgroup> - </table> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/book.sgml b/it_IT.ISO8859-15/books/unix-introduction/book.sgml deleted file mode 100644 index 7161c783cb..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/book.sgml +++ /dev/null @@ -1,134 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ - -<!ENTITY % books.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EN"> -%books.ent; - -<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters; -]> - -<book lang="it"> - <bookinfo> - <title>Introduzione a Unix</title> - - <author> - <firstname>Frank G.</firstname> - - <surname>Fiamingo</surname> - - <affiliation> - <address><email>fiamingo.1@osu.edu</email></address> - </affiliation> - </author> - - <author> - <firstname>Linda</firstname> - - <surname>DeBula</surname> - - <affiliation> - <address><email>debula.2@osu.edu</email></address> - </affiliation> - </author> - - <author> - <firstname>Linda</firstname> - - <surname>Condron</surname> - - <affiliation> - <address><email>condron.1@osu.edu</email></address> - </affiliation> - </author> - - <pubdate>Settembre 1998</pubdate> - - <copyright> - <year>1996</year> - - <year>1997</year> - - <year>1998</year> - - <holder>University Technology Services, The Ohio State - University.</holder> - </copyright> - - <legalnotice> - <para>© 1996-1998 University Technology Services, The Ohio State - University, Baker Systems Engineering Building, 1971 Neil Avenue, - Columbus, OH 43210.</para> - - <para>Tutti i diritti riservati. La ridistribuzione e l'uso, con o senza - modifiche, sono permesse purchè siano rispettate le seguenti - condizioni:</para> - - <orderedlist> - <listitem> - <para>La ridistribuzione deve contenere la precedente nota di - copyright, questa lista di condizioni, e il seguente - disclaimer.</para> - </listitem> - - <listitem> - <para>Né il nome dell'Università né i nomi dei - suoi contributori possono essere usati per appoggiare o promuovere - prodotti o servizi derivanti da questo documento senza un precedente - specifico permesso scritto.</para> - </listitem> - </orderedlist> - - <para>QUESTA PUBBLICAZIONE VIENE FORNITA <quote>COSÌ - COM'È</quote> SENZA NESSUN TIPO DI GARANZIA. QUESTA - PUBBLICAZIONE PUÒ CONTENERE IMPRECISIONI TECNICHE O ERRORI - TIPOGRAFICI.</para> - - <para>Unix è un marchio registrato della The Open Group, AT&T - è un marchio registrato della American Telephone and Telegraph, - Inc.</para> - </legalnotice> - - <abstract> - &trans.it.mark; - - <para>Questo documento introduce il vasto mondo dei sistemi operativi - Unix e lo fa in stile manualistico. Unix non è un sistema - operativo unico, come molti potrebbero pensare, bensì è - una grande famiglia di sistemi operativi (come ad esempio FreeBSD, - NetBSD, OpenBSD, BSD, AIX, System V, SunOS, varie distribuzioni di - Linux, ecc.), aventi comandi e caratteristiche simili e disponibili per - molte architetture hardware (come ad esempio x86, alpha, ecc.).</para> - - <para>Copyright e URL rivisti nel Settembre 1998.</para> - </abstract> - </bookinfo> - - &chap.preface; - &chap.history; - &chap.structure; - &chap.getting-started; - &chap.system-resource; - &chap.shells; - &chap.special-features; - &chap.text-processing; - &chap.commands; - &chap.shell-programming; - &chap.editors; - &chap.command-summary; - &chap.bibliography; - &chap.glossary; -</book> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/chapters.ent b/it_IT.ISO8859-15/books/unix-introduction/chapters.ent deleted file mode 100644 index 52487b300a..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/chapters.ent +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Crea le entities per ogni capitolo dell'Introduzione a Unix. - Ogni entity è chiamata chap.foo, dove foo è il valore - dell'attributo id di quel capitolo, e corrisponde al nome della directory - nella quale il file sgml del capitolo è salvato. - - I capitoli devono essere listati nell'ordine in cui sono referenziati. - - $FreeBSD$ ---> - -<!ENTITY chap.preface SYSTEM "preface/chapter.sgml"> -<!ENTITY chap.history SYSTEM "history/chapter.sgml"> -<!ENTITY chap.structure SYSTEM "structure/chapter.sgml"> -<!ENTITY chap.getting-started SYSTEM "getting-started/chapter.sgml"> -<!ENTITY chap.system-resource SYSTEM "system-resource/chapter.sgml"> -<!ENTITY chap.shells SYSTEM "shells/chapter.sgml"> -<!ENTITY chap.special-features SYSTEM "special-features/chapter.sgml"> -<!ENTITY chap.text-processing SYSTEM "text-processing/chapter.sgml"> -<!ENTITY chap.commands SYSTEM "commands/chapter.sgml"> -<!ENTITY chap.shell-programming SYSTEM "shell-programming/chapter.sgml"> -<!ENTITY chap.editors SYSTEM "editors/chapter.sgml"> -<!ENTITY chap.command-summary SYSTEM "command-summary/chapter.sgml"> -<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml"> -<!ENTITY chap.glossary SYSTEM "glossary/chapter.sgml"> diff --git a/it_IT.ISO8859-15/books/unix-introduction/command-summary/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/command-summary/chapter.sgml deleted file mode 100644 index fadf57e8c8..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/command-summary/chapter.sgml +++ /dev/null @@ -1,681 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="command-summary"> - <title>Riassunto dei comandi Unix</title> - - <sect1 id="command-summary-"> - <title>Comandi Unix</title> - - <para>Nella tabella che segue vengono riassunti i comandi maggiormente usati - su un sistema Unix. In questa tabella, come in generale avviene, per - molti comandi Unix, <replaceable>file</replaceable> può essere un - nome di file, una lista di nomi di file o input/output che potrebbe essere - rediretto per o dal comando.</para> - - <table frame="all" id="command-summary-table"> - <title>Comandi Unix</title> - - <tgroup cols="2"> - <colspec colwidth="4in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>awk/nawk [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>esamina schemi in un file e processa i risultati</entry> - </row> - - <row> - <entry><command>cat [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>concatena (lista) un file</entry> - </row> - - <row> - <entry><command>cd - [<replaceable>directory</replaceable>]</command></entry> - - <entry>cambia directory</entry> - </row> - - <row> - <entry><command>chgrp [<replaceable>opzioni</replaceable>] - <replaceable>gruppo file</replaceable></command></entry> - - <entry>cambia il gruppo di appartenenza di un file</entry> - </row> - - <row> - <entry><command>chmod [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>cambia i permessi di accesso a file o directory</entry> - </row> - - <row> - <entry><command>chown [<replaceable>opzioni</replaceable>] - <replaceable>proprietario file</replaceable></command></entry> - - <entry>cambia il proprietario di un file; può essere solo - fatto dal super-user</entry> - </row> - - <row> - <entry><command>chsh (passwd -e/-s) <replaceable>username - login_shell</replaceable></command></entry> - - <entry>cambia la shell di login dell'utente (spesso solamente - attraverso il super-user)</entry> - </row> - - <row> - <entry><command>cmp [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>confronta due file e mostra dove avvengono le differenze - (file di testo e file binari)</entry> - </row> - - <row> - <entry><command>compress [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>comprime il file specificato e lo salva con l'estensione - <filename>.Z</filename></entry> - </row> - - <row> - <entry><command>cp [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>copia <filename><replaceable>file1</replaceable></filename> - in <filename><replaceable>file2</replaceable></filename>; - <filename><replaceable>file2</replaceable></filename> non dovrebbe - già esistere. Questo comando crea o sovrascrive - <filename><replaceable>file2</replaceable></filename></entry> - </row> - - <row> - <entry><command>cut (<replaceable>opzioni</replaceable>) - [<replaceable>file</replaceable>]</command></entry> - - <entry>taglia specifici campi/caratteri dalle linee del file - specificato</entry> - </row> - - <row> - <entry><command>date - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>riporta data e ora corrente</entry> - </row> - - <row> - <entry><command>dd [if=<replaceable>infile</replaceable>] - [of=<replaceable>outfile</replaceable>] - [operando=<replaceable>valore</replaceable>]</command></entry> - - <entry>copia un file, converte tra ASCII e EBCDIC o scambia l'ordine - di byte, come specificato</entry> - </row> - - <row> - <entry><command>diff [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>confronta i due file e visualizza le differenze (solamente - file di testo)</entry> - </row> - - <row> - <entry><command>df [<replaceable>opzioni</replaceable>] - [<replaceable>risorsa</replaceable>]</command></entry> - - <entry>riporta il sommario dei blocchi del disco e degli inode - liberi e usati</entry> - </row> - - <row> - <entry><command>du [<replaceable>opzioni</replaceable>] - [<replaceable>directory</replaceable> o - <replaceable>file</replaceable>]</command></entry> - - <entry>riporta lo spazio di disco usato</entry> - </row> - - <row> - <entry><command>echo - [<replaceable>stringa di testo</replaceable>]</command></entry> - - <entry>riporta la stringa di testo specificata in standard - output</entry> - </row> - - <row> - <entry><command>ed</command> o <command>ex - [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>editor a linea di comando</entry> - </row> - - <row> - <entry><command>emacs [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>editor a schermo-pieno</entry> - </row> - - <row> - <entry><command>expr - <replaceable>argomenti</replaceable></command></entry> - - <entry>valuta gli argomenti. Usato per l'aritmetica, ecc. in - shell</entry> - </row> - - <row> - <entry><command>file [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>classifica il tipo di file</entry> - </row> - - <row> - <entry><command>find <replaceable>directory</replaceable> - [<replaceable>opzioni</replaceable>] - [<replaceable>azioni</replaceable>]</command></entry> - - <entry>cerca file basandosi sul tipo o su uno schema</entry> - </row> - - <row> - <entry><command>finger [<replaceable>opzioni</replaceable>] - <replaceable>user</replaceable>[<replaceable>@nomehost</replaceable>]</command></entry> - - <entry>riporta informazioni circa gli utenti di macchine locali e - remote</entry> - </row> - - <row> - <entry><command>ftp [<replaceable>opzioni</replaceable>] - <replaceable>host</replaceable></command></entry> - - <entry>trasferisce file utilizzando il protocollo di trasferimento - di file (FTP)</entry> - </row> - - <row> - <entry><command>grep [<replaceable>opzioni</replaceable>] - '<replaceable>stringa di ricerca</replaceable>' - <replaceable>argomento</replaceable></command></entry> - - <entry morerows="2">ricerca nell'argomento (in questo caso - probabilmente un file) tutte le occorrenze della stringa di - ricerca specificata e le visualizza</entry> - </row> - - <row> - <entry><command>egrep [<replaceable>opzioni</replaceable>] - '<replaceable>stringa di ricerca</replaceable>' - <replaceable>argomento</replaceable></command></entry> - </row> - - <row> - <entry><command>fgrep [<replaceable>opzioni</replaceable>] - '<replaceable>stringa di ricerca</replaceable>' - <replaceable>argomento</replaceable></command></entry> - </row> - - <row> - <entry><command>gzip [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry morerows="2">comprime o decomprime un file. I file compressi - vengo memorizzati con l'estensione - <filename>.gz</filename></entry> - </row> - - <row> - <entry><command>gunzip [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>zcat [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>head [-<replaceable>numero</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>mostra le prime 10 (o numero di) linee di un file</entry> - </row> - - <row> - <entry><command>hostname</command></entry> - - <entry>mostra o setta (solamente super-user) il nome della macchina - attuale</entry> - </row> - - <row> - <entry><command>kill [<replaceable>opzioni</replaceable>] - [-<replaceable>SEGNALE</replaceable>] - [<replaceable>pid#</replaceable>] - [%<replaceable>job</replaceable>]</command></entry> - - <entry>manda un segnale al processo specificato dal numero di - processo id (<replaceable>pid#</replaceable>) o dal numero di - controllo del job (%<replaceable>n</replaceable>). Il segnale di - default termina il processo</entry> - </row> - - <row> - <entry><command>ln [<replaceable>opzioni</replaceable>] - <replaceable>sorgente - destinazione</replaceable></command></entry> - - <entry>crea un collegamento di nome - <filename><replaceable>destinazione</replaceable></filename> a - <filename><replaceable>sorgente</replaceable></filename></entry> - </row> - - <row> - <entry><command>lpq - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry morerows="1">mostra lo stato dei job di stampa</entry> - </row> - - <row> - <entry><command>lpstat - [<replaceable>opzioni</replaceable>]</command></entry> - </row> - - <row> - <entry><command>lpr [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry morerows="1">stampa sulla stampante specificata</entry> - </row> - - <row> - <entry><command>lp [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>lprm - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry morerows="1">rimuove un job di stampa dalla coda di - stampa</entry> - </row> - - <row> - <entry><command>cancel - [<replaceable>opzioni</replaceable>]</command></entry> - </row> - - <row> - <entry><command>ls [<replaceable>opzioni</replaceable>] - [<replaceable>directory</replaceable> o - <replaceable>file</replaceable>]</command></entry> - - <entry>elenca il contenuto della directory specificata o i permessi - del file specificato</entry> - </row> - - <row> - <entry><command>mail [<replaceable>opzioni</replaceable>] - [<replaceable>user</replaceable>]</command></entry> - - <entry morerows="2">semplice utility per la posta elettronica - disponibile su un sistema Unix. Si digita un punto come primo - carattere su una nuova linea per trasmettere il messaggio, un - punto interrogativo per richiamare l'help</entry> - </row> - - <row> - <entry><command>mailx [<replaceable>opzioni</replaceable>] - [<replaceable>user</replaceable>]</command></entry> - </row> - - <row> - <entry><command>Mail [<replaceable>opzioni</replaceable>] - [<replaceable>user</replaceable>]</command></entry> - </row> - - <row> - <entry><command>man [<replaceable>opzioni</replaceable>] - <replaceable>comando</replaceable></command></entry> - - <entry>mostra la pagina di manuale (<emphasis>man</emphasis>) - del comando specificato</entry> - </row> - - <row> - <entry><command>mkdir [<replaceable>opzioni</replaceable>] - <replaceable>directory</replaceable></command></entry> - - <entry>crea una directory</entry> - </row> - - <row> - <entry><command>more [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry morerows="2">impaginatore di un file testuale</entry> - </row> - - <row> - <entry><command>less [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>pg [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>mv [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>muove <filename><replaceable>file1</replaceable></filename> - in <filename><replaceable>file2</replaceable></filename></entry> - </row> - - <row> - <entry><command>od [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>dump su un file binario, in ottale, in ASCII, in - esadecimale, in decimale o in modalità carattere.</entry> - </row> - - <row> - <entry><command>passwd - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>setta o modifica la propria password</entry> - </row> - - <row> - <entry><command>paste [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>incolla campi nelle linee del file specificato</entry> - </row> - - <row> - <entry><command>pr [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>filtra il file e lo stampa su un terminale</entry> - </row> - - <row> - <entry><command>ps - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>mostra lo stato dei processi attivi</entry> - </row> - - <row> - <entry><command>pwd</command></entry> - - <entry>stampa la directory di lavoro (corrente)</entry> - </row> - - <row> - <entry><command>rcp [<replaceable>opzioni</replaceable>] - <replaceable>nomehost</replaceable></command></entry> - - <entry>copia file in remoto dalla macchina corrente in un'altra - macchina</entry> - </row> - - <row> - <entry><command>rlogin [<replaceable>opzioni</replaceable>] - <replaceable>nomehost</replaceable></command></entry> - - <entry>effettua il login in remoto su un'altra macchina</entry> - </row> - - <row> - <entry><command>rm [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>rimuove (elimina) un file o una directory - (<option>-r</option> elimina ricorsivamente la directory ed il suo - contenuto) (<option>-i</option> chiede conferma prima di eliminare - i file)</entry> - </row> - - <row> - <entry><command>rmdir [<replaceable>opzioni</replaceable>] - <replaceable>directory</replaceable></command></entry> - - <entry>rimuove una directory</entry> - </row> - - <row> - <entry><command>rsh [<replaceable>opzioni</replaceable>] - <replaceable>nomehost</replaceable></command></entry> - - <entry>shell remota da eseguire su un'altra macchina</entry> - </row> - - <row> - <entry><command>script - <replaceable>file</replaceable></command></entry> - - <entry>memorizza ogni cosa che appare sullo schermo in un file fino - a quando si esegue <command>exit</command></entry> - </row> - - <row> - <entry><command>sed [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>editor di flusso per editare file da uno script o da linea di - comando</entry> - </row> - - <row> - <entry><command>sort [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>ordina le linee del file specificato basandosi sulle opzioni - scelte</entry> - </row> - - <row> - <entry><command>source - <replaceable>file</replaceable></command></entry> - - <entry morerows="1">legge i comandi dal file specificato - e li esegue nella shell corrente. <command>source</command> per - la shell C, <command>.</command> per la shell Bourne</entry> - </row> - - <row> - <entry><command>. <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>strings [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>riporta sequenze di 4 o più caratteri stampabili - terminanti in <NL> o <NULL>. Generalmente viene usato - per ricercare in file binari stringhe ASCII</entry> - </row> - - <row> - <entry><command>stty - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>setta o visualizza le opzioni del terminale di - controllo</entry> - </row> - - <row> - <entry><command>tail [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>mostra le ultime linee (o parte) di un file</entry> - </row> - - <row> - <entry><command>tar [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></entry> - - <entry>archivio a nastro--riferirsi alle pagine man per dettagli su - come creare, elencare ed estrarre file da un archivio. I file tar - possono essere memorizzati su disco o su nastro.</entry> - </row> - - <row> - <entry><command>tee [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>copia standard output in uno o più file</entry> - </row> - - <row> - <entry><command>telnet [<replaceable>host</replaceable> - [<replaceable>porta</replaceable>]]</command></entry> - - <entry>comunica con un altro host usando il protocollo - telnet</entry> - </row> - - <row> - <entry><command>touch [<replaceable>opzioni</replaceable>] - [<replaceable>data/ora</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>crea un file vuoto o aggiorna la data/ora di accesso di un - file esistente</entry> - </row> - - <row> - <entry><command>tr [<replaceable>opzioni</replaceable>] - <replaceable>stringa1 stringa2</replaceable></command></entry> - - <entry>traduce i caratteri di <replaceable>stringa1</replaceable> - provenienti da standard input in quelli di - <replaceable>stringa2</replaceable> per standard output</entry> - </row> - - <row> - <entry><command>uncompress - <replaceable>file.Z</replaceable></command></entry> - - <entry>decomprime il file specificato e lo salva in un file</entry> - </row> - - <row> - <entry><command>uniq [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>rimuove le linee ripetute in un file</entry> - </row> - - <row> - <entry><command>uudecode - [<replaceable>file</replaceable>]</command></entry> - - <entry>decodifica un file codificato con - <command>uuencode</command>, riportandolo al file - originale</entry> - </row> - - <row> - <entry><command>uuencode [<replaceable>file</replaceable>] - <replaceable>nuovo_nome</replaceable></command></entry> - - <entry>codifica un file binario in codice ASCII 7-bit; utile quando - lo si trasmette via email, per essere poi decodificato come - <filename><replaceable>nuovo_nome</replaceable></filename> alla - destinazione</entry> - </row> - - <row> - <entry><command>vi [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>editor visuale, a pieno schermo</entry> - </row> - - <row> - <entry><command>wc [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></entry> - - <entry>mostra il numero di parole (o di caratteri o di linee) del - file specificato</entry> - </row> - - <row> - <entry><command>whereis [<replaceable>opzioni</replaceable>] - <replaceable>comando</replaceable></command></entry> - - <entry>riporta le locazioni del binario, del sorgente e della pagina - man per il comando specificato</entry> - </row> - - <row> - <entry><command>which - <replaceable>comando</replaceable></command></entry> - - <entry>riporta il percorso del comando o l'alias di shell in - uso</entry> - </row> - - <row> - <entry><command>who</command> o <command>w</command></entry> - - <entry>riporta chi è <quote>loggato</quote> e quali processi - ha in esecuzione</entry> - </row> - - <row> - <entry><command>zcat - <replaceable>file</replaceable>.Z</command></entry> - - <entry>concatena (lista) il file non compresso a video, lasciando il - file compresso su disco</entry> - </row> - </tbody> - </tgroup> - </table> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/commands/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/commands/chapter.sgml deleted file mode 100644 index 505a472b97..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/commands/chapter.sgml +++ /dev/null @@ -1,3037 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="commands"> - <title>Altri comandi utili</title> - - <sect1 id="commands-work-files"> - <title>Lavorare con i file</title> - - <para>Questa sezione descrive alcuni comandi che possono risultare utili - nell'esaminare e manipolare il contenuto dei propri file.</para> - - <table frame="all" id="commands-table-utilities-files"> - <title>Utilità file</title> - - <tgroup cols="2"> - <colspec colwidth="3in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>cmp [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>confronta due file e mostra dove avvengono le differenze - (file di testo e file binari)</entry> - </row> - - <row> - <entry><command>cut [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></entry> - - <entry>taglia specifici campi/caratteri dalle linee di un - file</entry> - </row> - - <row> - <entry><command>diff [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>confronta due file e mostra le differenze - (solamente file di testo)</entry> - </row> - - <row> - <entry><command>file [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>classifica il tipo di file</entry> - </row> - - <row> - <entry><command>find <replaceable>directory</replaceable> - [<replaceable>opzioni</replaceable>] - [<replaceable>azioni</replaceable>]</command></entry> - - <entry>cerca file basandosi sul tipo o su uno schema</entry> - </row> - - <row> - <entry><command>ln [<replaceable>opzioni</replaceable>] - <replaceable>sorgente</replaceable> - <replaceable>destinazione</replaceable></command></entry> - - <entry>crea un link (collegamento) a - <filename><replaceable>sorgente</replaceable></filename> chiamato - <filename><replaceable>destinazione</replaceable></filename></entry> - </row> - - <row> - <entry><command>paste [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>aggiunge campi all'interno di un file</entry> - </row> - - <row> - <entry><command>sort [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>riordina le linee di un file in accordo con le opzioni - specificate</entry> - </row> - - <row> - <entry><command>strings [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>riporta sequenze di 4 o più caratteri stampabili - terminati con <NL> o <NULL>. Normalmente utilizzato - per ricercare stringhe ASCII in file binari.</entry> - </row> - - <row> - <entry><command>tee [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>copia standard output in uno o più file</entry> - </row> - - <row> - <entry><command>touch [<replaceable>opzioni</replaceable>] - [<replaceable>data/ora</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>crea un file vuoto o aggiorna la data di accesso di un file - esistente</entry> - </row> - - <row> - <entry><command>tr [<replaceable>opzioni</replaceable>] - <replaceable>stringa1 stringa2</replaceable></command></entry> - - <entry>traduce i caratteri di <replaceable>stringa1</replaceable> - provenienti da standard input in quelli di - <replaceable>stringa2</replaceable> per standard output</entry> - </row> - - <row> - <entry><command>uniq [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>rimuove le linee ripetute in un file</entry> - </row> - - <row> - <entry><command>wc [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></entry> - - <entry>mostra il numero di parole (o di caratteri o di linee) di - un file</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="commands-work-files-cmp"> - <title>cmp - confronta contenuti di file</title> - - <para>Il comando &man.cmp.1; confronta due file, e (senza opzioni) riporta - la posizione della loro prima differenza. Può trattare confronti - sia tra file ASCII sia tra file binari. Il comando compie una - comparazione byte-per-byte.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>cmp [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable> - [<replaceable>salto1</replaceable>] - [<replaceable>salto2</replaceable>]</command></para> - - <para>I numeri di <emphasis>salto</emphasis> sono i numeri di byte da - saltare in ogni file prima di iniziare il confronto.</para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-l</option></entry> - - <entry>riporta ogni differenza</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>riporta solamente un valore di uscita, non le differenze - tra i byte</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Dati i file <filename>mon.logins</filename> e - <filename>tues.logins</filename>:</para> - - <programlisting>ageorge ageorge -bsmith cbetts -cbetts jchen -jchen jdoe -jmarsch jmarsch -lkeres lkeres -mschmidt proy -sphillip sphillip -wyepp wyepp</programlisting> - - <para>Il confronto dei due file produce:</para> - - <screen>&prompt.user; <userinput>cmp mon.logins tues.logins</userinput> -mon.logins tues.logins differ: char 9, line 2</screen> - - <para>Di default il comando riporta solamente la prima differenza - trovata.</para> - - <para>Questo comando è utile nel determinare quale versione di un - file dovrebbe essere mantenuta quando c'è più di una - versione dello stesso file.</para> - </sect2> - - <sect2 id="commands-work-files-diff"> - <title>diff - differenze tra file</title> - - <para>Il comando &man.diff.1; confronta due file, due directory, - ecc., e riporta tutte le differenze tra i due. Questo comando tratta - solamente file ASCII. Il suo formato di output è stato - progettato per fornire i cambiamenti necessari per convertire il primo - file nel secondo.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>diff [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-b</option></entry> - - <entry>ignora spazi contigui</entry> - </row> - - <row> - <entry><option>-i</option></entry> - - <entry>ignora la differenza tra lettere minuscole e - maiuscole</entry> - </row> - - <row> - <entry><option>-w</option></entry> - - <entry>ignora i caratteri di spazio e tab</entry> - </row> - - <row> - <entry><option>-e</option></entry> - - <entry>produce un formato di output da utilizzare con l'editor - &man.ed.1;</entry> - </row> - - <row> - <entry><option>-r</option></entry> - - <entry>esegue &man.diff.1; ricorsivamente attraverso le - sotto-directory</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per i file sopra citati <filename>mon.logins</filename> e - <filename>tues.logins</filename>, le loro differenze sono:</para> - - <screen>&prompt.user; <userinput>diff mon.logins tues.logins</userinput> -2d1 -< bsmith -4a4 -> jdoe -7c7 -< mschmidt ---- -> proy</screen> - - <para>Notare che l'output mostra sia l'elenco delle differenze sia in - quale file queste esistono. Le linee del primo file sono precedute da - < e quelle del secondo file sono precedute da >.</para> - </sect2> - - <sect2 id="commands-work-files-cut"> - <title>cut - seleziona parte di una linea di un file</title> - - <para>Il comando &man.cut.1; permette di estrarre una parte di - un file che verrà utilizzata per un altro scopo.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>cut [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><option>-c - <replaceable>lista_caratteri</replaceable></option></entry> - - <entry>posizioni dei caratteri da selezionare (il primo carattere - è in posizione 1)</entry> - </row> - - <row> - <entry><option>-d - <replaceable>delimitatore</replaceable></option></entry> - - <entry>delimitatore di campo (tab di default)</entry> - </row> - - <row> - <entry><option>-f - <replaceable>lista_campi</replaceable></option></entry> - - <entry>campi da selezionare (il primo campo è 1)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Sia la lista dei caratteri che quella dei campi possono contenere - numeri (in ordine crescente) separati da virgole o da spazi bianchi e - possono contenere un trattino (-) per indicare un range. La mancanza di - un numero prima del trattino (esempio -5) o dopo il trattino - (esempio 5-), specifica rispettivamente un range completo che inizia con - il primo carattere o campo, o finisce con l'ultimo carattere o campo. - I caratteri bianchi di separazione di lista devono essere chiusi tra - caratteri di quoting. I campi di delimitazione possono essere chiusi - tra quoting se hanno un significato speciale di shell, ad esempio quando - specificano un carattere di tab o spazio.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>In questi esempi si userà il file - <filename>users</filename>:</para> - - <programlisting>jdoe John Doe 4/15/96 -lsmith Laura Smith 3/12/96 -pchen Paul Chen 1/5/96 -jhsu Jake Hsu 4/17/96 -sphilip Sue Phillip 4/2/96</programlisting> - - <para>Se si desidera solo lo username e il nome reale dell'utente, il - comando &man.cut.1; può essere usato per ottenere solamente - queste informazioni:</para> - - <screen>&prompt.user; <userinput>cut -f 1,2 users</userinput> -jdoe John Doe -lsmith Laura Smith -pchen Paul Chen -jhsu Jake Hsu -sphilip Sue Phillip</screen> - - <para>Il comando &man.cut.1; può essere usato con altre opzioni. - L'opzione <option>-c</option> permette di selezionare caratteri. Per - selezionare i primi 4 caratteri:</para> - - <screen>&prompt.user; <userinput>cut -c 1-4 users</userinput></screen> - - <para>che produrrà:</para> - - <screen>jdoe -lsmi -pche -jhsu -sphi</screen> - - <para>in questo modo si selezionano solamente i primi 4 caratteri di ogni - linea.</para> - </sect2> - - <sect2 id="commands-work-files-paste"> - <title>paste - fusione di file</title> - - <para>Il comando &man.paste.1; permette di combinare insieme due - file. In una fusione, il delimitatore di default tra le colonne - è un tab, ma le opzioni permettono di usare altri - delimitatori.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>paste [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-d - <replaceable>lista</replaceable></option></entry> - - <entry>elenco dei caratteri di delimitazione</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>concatena linee</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>L'elenco dei <emphasis>delimitatori</emphasis> può - comprendere singoli caratteri come una virgola, una stringa quotata, - uno spazio o alcune delle seguenti sequenze di escape:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry>\n</entry> - - <entry>carattere newline</entry> - </row> - - <row> - <entry>\t</entry> - - <entry>carattere tab</entry> - </row> - - <row> - <entry>\\</entry> - - <entry>carattere backslash</entry> - </row> - - <row> - <entry>\0</entry> - - <entry>stringa vuota (carattere non-null)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Può essere necessario quotare i delimitatori che hanno - significati speciali di shell.</para> - - <para>Un trattino (-) al posto di un nome di file viene usato per - indicare che quel campo dovrebbe venire da standard input.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Dato il file <filename>users</filename>:</para> - - <programlisting>jdoe John Doe 4/15/96 -lsmith Laura Smith 3/12/96 -pchen Paul Chen 1/5/96 -jhsu Jake Hsu 4/17/96 -sphilip Sue Phillip 4/2/96</programlisting> - - <para>e il file <filename>phone</filename>:</para> - - <programlisting>John Doe 555-6634 -Laura Smith 555-3382 -Paul Chen 555-0987 -Jake Hsu 555-1235 -Sue Phillip 555-7623</programlisting> - - <para>il comando &man.paste.1; può essere usato in combinazione - con il comando &man.cut.1; per creare un nuovo file, - <filename>listing</filename>, che include per tutti gli utenti lo - username, il nome reale, l'ultimo login e il numero di telefono. - Prima si estraggono i numeri di telefono all'interno del file temporaneo - <filename>temp.file</filename>:</para> - - <screen>&prompt.user; <userinput>cut -f2 phone > temp.file</userinput> -555-6634 -555-3382 -555-0987 -555-1235 -555-7623</screen> - - <para>Il risultato può essere incollato alla fine di ogni linea di - <filename>users</filename> e quindi rediretto nel nuovo file, - <filename>listing</filename>:</para> - - <screen>&prompt.user; <userinput>paste users temp.file > listing</userinput> -jdoe John Doe 4/15/96 237-6634 -lsmith Laura Smith 3/12/96 878-3382 -pchen Paul Chen 1/5/96 888-0987 -jhsu Jake Hsu 4/17/96 545-1235 -sphilip Sue Phillip 4/2/96 656-7623</screen> - - <para>Tutto questo può anche essere realizzato su una linea senza - il file temporaneo, con lo stesso risultato:</para> - - <screen>&prompt.user; <userinput>cut -f2 phone | paste users - > listing</userinput></screen> - - <para>In questo caso il trattino (-) funge come sostituto per il campo di - input (indica cioè l'output del comando &man.cut.1;).</para> - </sect2> - - <sect2 id="commands-work-files-touch"> - <title>touch - crea un file</title> - - <para>Il comando &man.touch.1; può essere usato per creare un nuovo - (vuoto) file o per aggiornare l'ultima data/ora di accesso di un - file esistente. Il comando viene usato primariamente quando uno script - richiede la pre-esistenza di un file (ad esempio per appendere delle - informazioni) o quando uno script controlla l'ultima data/ora in cui una - funzione è stata realizzata.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>touch [<replaceable>opzioni</replaceable>] - [<replaceable>data/ora1</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><command>touch [<replaceable>opzioni</replaceable>] - [-t <replaceable>data/ora2</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.3in"> - - <tbody> - <row> - <entry><option>-a</option></entry> - - <entry>cambia la data/ora di accesso al file - (solamente SVR4)</entry> - </row> - - <row> - <entry><option>-c</option></entry> - - <entry>non crea il file se non esiste</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>forza l'azione, nonostante i permessi di lettura/scrittura - del file</entry> - </row> - - <row> - <entry><option>-m</option></entry> - - <entry>cambia la data/ora di modifica del file - (solamente SVR4)</entry> - </row> - - <row> - <entry><option>-t - <replaceable>data/ora2</replaceable></option></entry> - - <entry>usa la data/ora2 specificata, non la data/ora corrente - (solamente SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Quando si usa l'opzione <option>-t - <replaceable>data/ora2</replaceable></option>, deve essere nella - forma:</para> - - <para>[[<replaceable>CC</replaceable>]<replaceable>YY</replaceable>] - <replaceable>MMDDhhmm</replaceable>[.<replaceable>SS</replaceable>]</para> - - <para>dove:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><replaceable>CC</replaceable></entry> - - <entry>prime due cifre dell'anno</entry> - </row> - - <row> - <entry><replaceable>YY</replaceable></entry> - - <entry>seconde due cifre dell'anno</entry> - </row> - - <row> - <entry><replaceable>MM</replaceable></entry> - - <entry>mese, 01-12</entry> - </row> - - <row> - <entry><replaceable>DD</replaceable></entry> - - <entry>giorno del mese, 01-31</entry> - </row> - - <row> - <entry><replaceable>hh</replaceable></entry> - - <entry>ora del giorno, 00-23</entry> - </row> - - <row> - <entry><replaceable>mm</replaceable></entry> - - <entry>minuti, 00-59</entry> - </row> - - <row> - <entry><replaceable>SS</replaceable></entry> - - <entry>secondi, 00-59</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Il formato dell'opzione - <option><replaceable>data/ora1</replaceable></option> è:</para> - - <para><option><replaceable>MMDDhhmm</replaceable>[<replaceable>YY</replaceable>]</option></para> - - <para>dove questi simboli hanno gli stessi significati dei simboli - mostrati in precedenza.</para> - - <para>La data non può essere settata prima del 1969 o dopo il 18 - Gennaio 2038 (dipende dalle versione del sistema operativo Unix).</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per creare un file:</para> - - <screen>&prompt.user; <userinput>touch <replaceable>filename</replaceable></userinput></screen> - </sect2> - - <sect2 id="commands-work-files-wc"> - <title>wc - conta le parole in un file</title> - - <para>&man.wc.1; sta per <quote>conta parole</quote>; il comando - può essere usato per contare il numero di linee, di caratteri o - di parole in un file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>wc [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-c</option></entry> - - <entry>conta byte</entry> - </row> - - <row> - <entry><option>-m</option></entry> - - <entry>conta caratteri (SVR4)</entry> - </row> - - <row> - <entry><option>-l</option></entry> - - <entry>conta linee</entry> - </row> - - <row> - <entry><option>-w</option></entry> - - <entry>conta parole</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Se nessuna opzione viene specificata, l'opzione di default è - <option>-lwc</option>.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Dato il file <filename>users</filename>:</para> - - <programlisting>jdoe John Doe 4/15/96 -lsmith Laura Smith 3/12/96 -pchen Paul Chen 1/5/96 -jhsu Jake Hsu 4/17/96 -sphilip Sue Phillip 4/2/96</programlisting> - - <para>il risultato dell'uso del comando &man.wc.1; su tale file è - il seguente:</para> - - <screen>&prompt.user; <userinput>wc users</userinput> -5 20 121 users</screen> - - <para>Il primo numero indica il numero di linee nel file, il secondo - indica il numero di parole e il terzo numero indica il numero di - caratteri.</para> - - <para>Usando il comando &man.wc.1; con una delle opzioni sopra citate - (<option>-l</option> per linee; <option>-w</option> per parole o - <option>-c</option> per caratteri) si ottiene come risultato solo - una delle precedenti informazioni. Per esempio, - <command>wc -l users</command> produce il risultato seguente:</para> - - <screen>5 users</screen> - </sect2> - - <sect2 id="commands-work-files-ln"> - <title>ln - crea un link a un altro file</title> - - <para>Il comando &man.ln.1; crea un <quote>link</quote> (collegamento) o - un modo aggiuntivo per accedere (o attribuisce un nome addizionale) a un - altro file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>ln [<replaceable>opzioni</replaceable>] - <replaceable>sorgente</replaceable> - [<replaceable>destinazione</replaceable>]</command></para> - - <para>Se non specificata, la - <filename><replaceable>destinazione</replaceable></filename> di default - è un file dello stesso nome di - <filename><replaceable>sorgente</replaceable></filename> posto nella - directory di lavoro corrente.</para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-f</option></entry> - - <entry>forza un link nonostante i permessi della - destinazione; non riporta errori (solamente SVR4 )</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>crea un link simbolico</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Un <emphasis>link simbolico</emphasis> viene usato per creare un - nuovo percorso a un altro file o directory. Per esempio, se un gruppo - di utenti è abituato ad usare un comando chiamato - <command>chkmag</command>, ma il comando è stato riscritto e il - nuovo nome è <command>chkit</command>, creando un link simbolico - gli utenti eseguiranno automaticamente <command>chkit</command> quando - digitano il comando <command>chkmag</command>, eliminando la transizione - per il nuovo comando.</para> - - <para>Un link simbolico può essere creato nel modo seguente:</para> - - <screen>&prompt.user; <userinput>ln -s chkit chkmag</userinput></screen> - - <para>Ora il lungo listato per questi due file è il - seguente:</para> - - <screen>16 -rwxr-x--- 1 lindadb acs 15927 Apr 23 04:10 chkit -1 lrwxrwxrwx 1 lindadb acs 5 Apr 23 04:11 chkmag -> chkit</screen> - - <para>Notare che mentre i permessi di <command>chkmag</command> sono - aperti a tutti, poichè è linkato a - <command>chkit</command>, le caratteristiche dei permessi, del gruppo e - del proprietario di <command>chkit</command> saranno rispettate quando - <command>chkmag</command> viene invocato.</para> - - <para>Con un link simbolico, il link può esistere senza che il file - o la directory a cui è collegato esista.</para> - - <para>Un <emphasis>hard link</emphasis> può solamente essere creato - per un altro file sullo stesso file system, ma non per una directory - (eccetto per il super-user). Un hard link crea un nuovo elemento di - directory puntante allo stesso inode del file originale. Il file - linkato deve esistere prima che l'hard link possa essere creato. - Il file non sarà cancellato fino a quando tutti gli hard link - saranno rimossi. Per linkare i due file precedenti tramite un hard - link:</para> - - <screen>&prompt.user; <userinput>ln chkit chkmag</userinput></screen> - - <para>Quindi un lungo listato mostra che il numero di - <emphasis>inode</emphasis> (742) è lo stesso per entrambi i - file:</para> - - <screen>&prompt.user; <userinput>ls -il chkit chkmag</userinput> -742 -rwxr-x--- 2 lindadb acs 15927 Apr 23 04:10 chkit -742 -rwxr-x--- 2 lindadb acs 15927 Apr 23 04:10 chkmag</screen> - </sect2> - - <sect2 id="commands-work-files-sort"> - <title>sort - ordina il contenuto di un file</title> - - <para>Il comando &man.sort.1; viene usato per ordinare le linee - di un file. Si possono usare diverse opzioni per stabilire il modo di - ordinamento e su quali campi ordinare il file. Senza opzioni, - &man.sort.1; confronta intere linee di un file e produce un ordinamento - ASCII (prima i numeri, lettere maiuscole e quindi lettere - minuscole).</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>sort [<replaceable>opzioni</replaceable>] - [+<replaceable>pos1</replaceable> [-<replaceable>pos2</replaceable>]] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-b</option></entry> - - <entry>ignora gli spazi bianchi iniziali (spazi e tab) quando si - stabiliscono i carattere di inizio e di fine per la chiave di - ordinamento</entry> - </row> - - <row> - <entry><option>-d</option></entry> - - <entry>ordinamento a dizionario, sono rilevanti solamente le - lettere, le cifre, spazi e tab</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>uguaglia lettere maiuscole e minuscole</entry> - </row> - - <row> - <entry><option>-k - <replaceable>chiave</replaceable></option></entry> - - <entry>ordinamento su chiavi specifiche (non disponibile su tutti - i sistemi)</entry> - </row> - - <row> - <entry><option>-i</option></entry> - - <entry>ignora i caratteri non stampabili</entry> - </row> - - <row> - <entry><option>-n</option></entry> - - <entry>ordinamento numerico</entry> - </row> - - <row> - <entry><option>-o - <replaceable>outfile</replaceable></option></entry> - - <entry>file di output</entry> - </row> - - <row> - <entry><option>-r</option></entry> - - <entry>ribalta l'ordine</entry> - </row> - - <row> - <entry><option>-t <replaceable>car</replaceable></option></entry> - - <entry>usa <replaceable>car</replaceable> come il carattere di - separatore di campo</entry> - </row> - - <row> - <entry><option>-u</option></entry> - - <entry>unico; trascura multiple copie di linee uguali - (dopo l'ordinamento)</entry> - </row> - - <row> - <entry><option>+<replaceable>pos1</replaceable> - [-<replaceable>pos2</replaceable>]</option></entry> - - <entry>(vecchio stile) fornisce funzionalità simili - all'opzione <option>-k - <replaceable>chiave</replaceable></option>.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Per gli elementi di <emphasis>posizione</emphasis> - (<option>+/-</option>), <replaceable>pos1</replaceable> è il - numero di parola di inizio, iniziando da <emphasis>0</emphasis> e - <replaceable>pos2</replaceable> è il numero di parola di fine. - Quando -<replaceable>pos2</replaceable> non è specificato, il - campo di ordinamento continua fino alla fine del file. Sia - <replaceable>pos1</replaceable> che <replaceable>pos2</replaceable> - possono essere specificati nella forma - <replaceable>w</replaceable>.<replaceable>c</replaceable>, dove - <replaceable>w</replaceable> è il numero di parola e - <replaceable>c</replaceable> è il carattere all'interno della - parola. Per <emphasis>c 0</emphasis> si specifica il delimitatore che - precede il primo carattere e <emphasis>1</emphasis> è il primo - carattere della parola. Questi elementi possono essere seguiti da un - tipo di modificatore, esempio <emphasis>n</emphasis> per numerico, - <emphasis>b</emphasis> per saltare gli spazi bianchi ,ecc.</para> - - <para>Il campo <replaceable>chiave</replaceable> dell'opzione - <option>-k</option> ha la seguente sintassi:</para> - - <para><replaceable>campo_inizio</replaceable> - [<replaceable>tipo</replaceable>] - [ ,<replaceable>campo_fine</replaceable> - [<replaceable>tipo</replaceable>] ]</para> - - <para>dove:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2.5in"> - - <tbody> - <row> - <entry><replaceable>campo_inizio, campo_fine</replaceable></entry> - - <entry>definiscono le chiavi per restringere l'ordinamento su una - porzione di linea</entry> - </row> - - <row> - <entry><replaceable>tipo</replaceable></entry> - - <entry>modifica l'ordinamento: validi modificatori sono dati dai - singoli caratteri (bdfiMnr) derivanti dalle simili opzioni di - ordinamento, ad esempio un tipo <emphasis>b</emphasis> equivale - a <option>-b</option>, ma applicato solamente nello specifico - campo di azione</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Dato il file <filename>users</filename>:</para> - - <programlisting>jdoe John Doe 4/15/96 -lsmith Laura Smith 3/12/96 -pchen Paul Chen 1/5/96 -jhsu Jake Hsu 4/17/96 -sphilip Sue Phillip 4/2/96</programlisting> - - <para>ordinando con &man.sort.1; gli utenti si produce:</para> - - <programlisting>jdoe John Doe 4/15/96 -jhsu Jake Hsu 4/17/96 -lsmith Laura Smith 3/12/96 -pchen Paul Chen 1/5/96 -sphilip Sue Phillip 4/2/96</programlisting> - - <para>Se, tuttavia, si desidera un elenco in ordine di nome, si usa - l'opzione per specificare su quale campo ordinare (i campi sono numerati - partendo da 0):</para> - - <screen>&prompt.user; <userinput>sort +2 users</userinput> -pchen Paul Chen 1/5/96 -jdoe John Doe 4/15/96 -jhsu Jake Hsu 4/17/96 -sphilip Sue Phillip 4/2/96 -lsmith Laura Smith 3/12/96</screen> - - <para>Per ribaltare l'ordine:</para> - - <screen>&prompt.user; <userinput>sort -r users</userinput> -sphilip Sue Phillip 4/2/96 -pchen Paul Chen 1/5/96 -lsmith Laura Smith 3/12/96 -jhsu Jake Hsu 4/17/96 -jdoe John Doe 4/15/96</screen> - - <para>Un'opzione particolarmente utile di ordinamento è l'opzione - <option>-u</option>, che elimina gli elementi duplicati nel file mentre - si ordina il file. Per esempio, il file - <filename>todays.logins</filename>:</para> - - <programlisting>sphillip -jchen -jdoe -lkeres -jmarsch -ageorge -lkeres -proy -jchen</programlisting> - - <para>mostra una lista di ogni username che ha effettuato il login nel - sistema in giornata. Se si vuole conoscere quanti unici utenti abbiano - effettuato il login nel sistema in giornata, usando &man.sort.1; - con l'opzione <option>-u</option>, la lista conterrà ciascun - utente una volta sola. (Il comando può essere mandato in pipe a - <command>wc -l</command> per ottenere direttamente il numero):</para> - - <screen>&prompt.user; <userinput>sort -u todays.logins</userinput> -ageorge -jchen -jdoe -jmarsch -lkeres -proy -sphillip</screen> - </sect2> - - <sect2 id="commands-work-files-tee"> - <title>tee - copia l'output di un comando</title> - - <para>Il comando &man.tee.1; manda lo standard input nel file - specificato e anche nello standard output. Viene spesso usato in una - pipe di comandi.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>tee [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-a</option></entry> - - <entry>appende l'output ai file</entry> - </row> - - <row> - <entry><option>-i</option></entry> - - <entry>ignora gli interrupt</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>In questo primo esempio l'output di &man.who.1; è - visualizzato sullo schermo e memorizzato nel file - <filename>users.file</filename>:</para> - - <screen>brigadier: condron [55]> <userinput>who | tee users.file</userinput> -condron ttyp0 Apr 22 14:10 (lcondron-pc.acs.) -frank ttyp1 Apr 22 16:19 (nyssa) -condron ttyp9 Apr 22 15:52 (lcondron-mac.acs)</screen> - - <screen>brigadier: condron [56]> <userinput>cat users.file</userinput> -condron ttyp0 Apr 22 14:10 (lcondron-pc.acs.) -frank ttyp1 Apr 22 16:19 (nyssa) -condron ttyp9 Apr 22 15:52 (lcondron-mac.acs)</screen> - - <para>Nel prossimo esempio l'output di &man.who.1; viene mandato nei file - <filename>users.a</filename> e <filename>users.b</filename>. - Viene anche mandato in pipe con il comando &man.wc.1;, che riporta il - numero di linee.</para> - - <screen>brigadier: condron [57]> <userinput>who | tee users.a users.b | wc -l</userinput> -3</screen> - - <screen>brigadier: condron [58]> <userinput>cat users.a</userinput> -condron ttyp0 Apr 22 14:10 (lcondron-pc.acs.) -frank ttyp1 Apr 22 16:19 (nyssa) -condron ttyp9 Apr 22 15:52 (lcondron-mac.acs)</screen> - - <para>Nell'esempio seguente un listato lungo di directory viene mandato - nel file <filename>files.long</filename>. Inoltre viene messo in pipe - con il comando &man.grep.1; che riporta quali file sono stati modificati - in Agosto.</para> - - <screen>brigadier: condron [60]> <userinput>ls -l | tee files.long |grep Aug</userinput> -1 drwxr-sr-x 2 condron 512 Aug 8 1995 News/ -2 -rw-r--r-- 1 condron 1076 Aug 8 1995 magnus.cshrc -2 -rw-r--r-- 1 condron 1252 Aug 8 1995 magnus.login</screen> - - <screen>brigadier: condron [63]> <userinput>cat files.long</userinput> -total 34 -2 -rw-r--r-- 1 condron 1253 Oct 10 1995 #.login# -1 drwx------ 2 condron 512 Oct 17 1995 Mail/ -1 drwxr-sr-x 2 condron 512 Aug 8 1995 News/ -5 -rw-r--r-- 1 condron 4299 Apr 21 00:18 editors.txt -2 -rw-r--r-- 1 condron 1076 Aug 8 1995 magnus.cshrc -2 -rw-r--r-- 1 condron 1252 Aug 8 1995 magnus.login -7 -rw-r--r-- 1 condron 6436 Apr 21 23:50 resources.txt -4 -rw-r--r-- 1 condron 3094 Apr 18 18:24 telnet.ftp -1 drwxr-sr-x 2 condron 512 Apr 21 23:56 uc/ -1 -rw-r--r-- 1 condron 1002 Apr 22 00:14 uniq.tee.txt -1 -rw-r--r-- 1 condron 1001 Apr 20 15:05 uniq.tee.txt~ -7 -rw-r--r-- 1 condron 6194 Apr 15 20:18 Unixgrep.txt</screen> - </sect2> - - <sect2 id="commands-work-files-uniq"> - <title>uniq - rimuove linee duplicate</title> - - <para>Il comando &man.uniq.1; filtra le linee adiacenti duplicate in un - file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>uniq [<replaceable>opzioni</replaceable>] - [+|-<replaceable>n</replaceable>] <replaceable>file</replaceable> - [<replaceable>nuovo.file</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-d</option></entry> - - <entry>solo una copia delle linee ripetute</entry> - </row> - - <row> - <entry><option>-u</option></entry> - - <entry>seleziona solamente le linee non ripetute</entry> - </row> - - <row> - <entry><option>+<replaceable>n</replaceable></option></entry> - - <entry>ignora i primi <replaceable>n</replaceable> - caratteri</entry> - </row> - - <row> - <entry><option>-s <replaceable>n</replaceable></option></entry> - - <entry>come sopra (solamente SVR4)</entry> - </row> - - <row> - <entry><option>-<replaceable>n</replaceable></option></entry> - - <entry>salta i primi <replaceable>n</replaceable> campi, spazi - inclusi (spazi e tab)</entry> - </row> - - <row> - <entry><option>-f - <replaceable>campi</replaceable></option></entry> - - <entry>come sopra (solamente SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Si consideri il seguente file e l'esempio, dove - &man.uniq.1; rimuove la quarta linea da <filename>file</filename> - e mette il risultato nel file <filename>nuovo.file</filename>.</para> - - <screen>{Unix prompt 1} <userinput>cat file</userinput> -1 2 3 6 -4 5 3 6 -7 8 9 0 -7 8 9 0</screen> - - <screen>{Unix prompt 2} <userinput>uniq file nuovo.file</userinput></screen> - - <screen>{Unix prompt 3} <userinput>cat nuovo.file</userinput> -1 2 3 6 -4 5 3 6 -7 8 9 0</screen> - - <para>Qui sotto, l'opzione <option>-<replaceable>n</replaceable></option> - del comando &man.uniq.1; viene usata per saltare i primi 2 campi - nel file e per filtrare le linee di uscita che sono duplicate dal terzo - campo in avanti.</para> - - <screen>{Unix prompt 4} <userinput>uniq -2 file</userinput> -1 2 3 6 -7 8 9 0</screen> - </sect2> - - <sect2 id="commands-work-files-strings"> - <title>strings - cerca stringhe ASCII</title> - - <para>Per cercare stringhe ASCII, stampabili, in un file binario si usa il - comando &man.strings.1;. Questo comando ricerca sequenze di quattro o - più caratteri ASCII terminanti con un carattere newline o - con un carattere null. &man.strings.1; risulta utile per ricercare nomi - di file e possibili messaggi di errore all'interno di un programma - compilato, di cui non si ha il codice sorgente.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>strings [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-n - <replaceable>numero</replaceable></option></entry> - - <entry>usa <replaceable>numero</replaceable> come la minima - lunghezza della stringa, piuttosto di 4 (solamente SVR4)</entry> - </row> - - <row> - <entry><option>-</option><replaceable>numero</replaceable></entry> - - <entry>come sopra</entry> - </row> - - <row> - <entry><option>-t - <replaceable>formato</replaceable></option></entry> - - <entry>fa precedere alla stringa l'offset di byte dall'inizio del - file; <replaceable>formato</replaceable> può essere: - <emphasis>d</emphasis> = decimale, <emphasis>o</emphasis> = - ottale <emphasis>x</emphasis> = esadecimale (solamente - SVR4)</entry> - </row> - - <row> - <entry><option>-o</option></entry> - - <entry>fa precedere alla stringa l'offset di byte in decimale - (solamente BSD)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>strings /bin/cut</userinput> -SUNW_OST_OSCMD -nessun delimitatore specificato -delimitatore non valido -b:c:d:f:ns -cut: -n può solo essere usato con -b -cut: -d può solo essere usato con -f -cut: -s può solo essere usato con -f -nessuna lista specificata -cut: %s non si riesce ad aprire -il range specificato non è valido -troppi range specificati -i range devono essere crescenti -carattere non valido nel range -Errore interno nel processare l'input -carattere multibyte non valido -incapace di allocare memoria sufficiente -incapace di allocare memoria sufficiente -cut: -uso: cut -b lista [-n] [filename ...] - cut -c lista [filename ...] - cut -f lista [-d delim] [-s] [filename]</screen> - </sect2> - - <sect2 id="commands-work-files-file"> - <title>file - mostra il tipo di file</title> - - <para>Il comando &man.file.1; esamina il file specificato e cerca di - determinare che tipo di file esso sia. Questo viene fatto leggendo i - primi byte del file e confrontandoli con la tabella - <filename>/etc/magic</filename>. Il comando &man.file.1; - può determinare file di testo ASCII, file formattati tar, file - compressi, ecc.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>file [<replaceable>opzioni</replaceable>] - [-m <replaceable>file_magico</replaceable>] - [-f <replaceable>lista_file</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-c</option></entry> - - <entry>verifica il file magico per eventuali errori nel - formato</entry> - </row> - - <row> - <entry><option>-f - <replaceable>lista_file</replaceable></option></entry> - - <entry><filename><replaceable>lista_file</replaceable></filename> - contiene la lista dei file da esaminare</entry> - </row> - - <row> - <entry><option>-h</option></entry> - - <entry>non segue i link simbolici (solamente SVR4)</entry> - </row> - - <row> - <entry><option>-L</option></entry> - - <entry>segue i link simbolici (solamente BSD)</entry> - </row> - - <row> - <entry><option>-m - <replaceable>file_magico</replaceable></option></entry> - - <entry>usa - <filename><replaceable>file_magico</replaceable></filename> - come il file magico al posto di - <filename>/etc/magic</filename></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Vengono elencati qui sotto gli output del comando - <command>file <replaceable>filename</replaceable></command> per alcuni - file significativi.</para> - - <screen>/etc/magic: File di testo ascii -/usr/local/bin/gzip: Eseguibile paginato SPARC Sun linkato dinamicamente -/usr/bin/cut: Eseguibile MSB a 32 bit ELF per SPARC versione 1, linkato dinamicamente, stripped -source.tar: Archivio tar USTAR -source.tar.Z: Blocchi di dati compressi 16 bit</screen> - </sect2> - - <sect2 id="commands-work-files-tr"> - <title>tr - traduce caratteri</title> - - <para>Il comando &man.tr.1; traduce caratteri da &man.stdin.4; a - &man.stdout.4;.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>tr [<replaceable>opzioni</replaceable>] - <replaceable>stringa1</replaceable> - [<replaceable>stringa2</replaceable>]</command></para> - - <para>Con nessuna opzione i caratteri di - <replaceable>stringa1</replaceable> sono tradotti nei caratteri di - <replaceable>stringa2</replaceable>, carattere per carattere, - nell'ordine degli array di stringa. Il primo carattere di - <replaceable>stringa1</replaceable> viene tradotto nel primo carattere - di <replaceable>stringa2</replaceable>, ecc.</para> - - <para>Un range di caratteri in una stringa viene specificato con un - trattino tra il carattere superiore e quello inferiore del range, ad - esempio per specificare tutte le lettere alfabetiche minuscole si usa - <emphasis>[a-z]</emphasis>.</para> - - <para>Ripetizioni di caratteri in <replaceable>stringa2</replaceable> - possono essere rappresentate con la notazione - <emphasis>[<replaceable>x</replaceable>*<replaceable>n</replaceable>]</emphasis>, - dove il carattere <replaceable>x</replaceable> viene ripetuto - <replaceable>n</replaceable> volte. Se <replaceable>n</replaceable> - è <emphasis>0</emphasis> o assente, il carattere - <replaceable>x</replaceable> viene assunto come valida corrispondenza - richiesta in <replaceable>stringa1</replaceable>.</para> - - <para>I caratteri possono includere le notazioni - <emphasis>\<replaceable>ottale</replaceable></emphasis> (BSD e SVR4) e - <emphasis>\<replaceable>carattere</replaceable></emphasis> (solamente - SVR4). Qui <emphasis><replaceable>ottale</replaceable></emphasis> viene - sostituito da una, due o tre cifre di interi ottali che codificano un - carattere ASCII e - <emphasis><replaceable>carattere</replaceable></emphasis> può - essere uno di questi:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><emphasis>b</emphasis></entry> - - <entry>back space</entry> - </row> - - <row> - <entry><emphasis>f</emphasis></entry> - - <entry>form feed</entry> - </row> - - <row> - <entry><emphasis>n</emphasis></entry> - - <entry>newline</entry> - </row> - - <row> - <entry><emphasis>r</emphasis></entry> - - <entry>return</entry> - </row> - - <row> - <entry><emphasis>t</emphasis></entry> - - <entry>tab</entry> - </row> - - <row> - <entry><emphasis>v</emphasis></entry> - - <entry>tab verticale</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>La versione SVR4 di &man.tr.1; permette l'operando - :<replaceable>classe</replaceable>: nel campo stringa dove - <replaceable>classe</replaceable> può assumere uno dei seguenti - valori di classificazione carattere:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><emphasis>alpha</emphasis></entry> - - <entry>caratteri alfabetici</entry> - </row> - - <row> - <entry><emphasis>lower</emphasis></entry> - - <entry>caratteri alfabetici minuscoli</entry> - </row> - - <row> - <entry><emphasis>upper</emphasis></entry> - - <entry>caratteri alfabetici maiuscoli</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-c</option></entry> - - <entry>completa il set di caratteri in - <replaceable>stringa1</replaceable></entry> - </row> - - <row> - <entry><option>-d</option></entry> - - <entry>cancella i caratteri in - <replaceable>stringa1</replaceable></entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>modifica una stringa di caratteri ripetuti in - <replaceable>stringa1</replaceable> in caratteri singoli</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>L'esempio seguente usa come file di input una lista di libri di - P. G. Wodehouse Jeeves & Wooster.</para> - - <programlisting>The Inimitable Jeeves [1923] The Mating Season [1949] -Carry On, Jeeves [1925] Ring for Jeeves [1953] -Very Good, Jeeves [1930] Jeeves and the Feudal Spirit [1954] -Thank You, Jeeves [1934] Jeeves in the Offing [1960] -Right Ho, Jeeves [1934] Stiff Upper Lip, Jeeves [1963] -The Code of the Woosters [1938] Much Obliged, Jeeves [1971] -Joy in the Morning [1946] Aunts Aren't Gentlemen [1974]</programlisting> - - <para>Per tradurre tutte le lettere alfabetiche minuscole in maiuscole si - possono usare:</para> - - <para><command>tr '[a-z]' '[A-Z]'</command></para> - - <para>oppure</para> - - <para><command>tr '[:lower:]' '[:upper:]'</command></para> - - <para>Affinchè &man.tr.1; legga da &man.stdin.4; si usa &man.cat.1; - in pipe con &man.tr.1;, così:</para> - - <screen>&prompt.user; <userinput>cat wodehouse | tr '[a-z]' '[A-Z]'</userinput> -THE INIMITABLE JEEVES [1923] THE MATING SEASON [1949] -CARRY ON, JEEVES [1925] RING FOR JEEVES [1953] -VERY GOOD, JEEVES [1930] JEEVES AND THE FEUDAL SPIRIT [1954] -THANK YOU, JEEVES [1934] JEEVES IN THE OFFING [1960] -RIGHT HO, JEEVES [1934] STIFF UPPER LIP, JEEVES [1963] -THE CODE OF THE WOOSTERS [1938] MUCH OBLIGED, JEEVES [1971] -JOY IN THE MORNING [1946] AUNTS AREN'T GENTLEMEN [1974]</screen> - - <para>Ora si cancellano tutti i numeri con:</para> - - <screen>&prompt.user; <userinput>cat wodehouse | tr -d '[0-9]'</userinput> -The Inimitable Jeeves [] The Mating Season [] -Carry On, Jeeves [] Ring for Jeeves [] -Very Good, Jeeves [] Jeeves and the Feudal Spirit [] -Thank You, Jeeves [] Jeeves in the Offing [] -Right Ho, Jeeves [] Stiff Upper Lip, Jeeves [] -The Code of the Woosters [] Much Obliged, Jeeves [] -Joy in the Morning [] Aunts Aren't Gentlemen []</screen> - - <para>Per trattenere tutte le occorrenze multiple dei caratteri e, r - e f:</para> - - <screen>&prompt.user; <userinput>cat wodehouse | tr -s 'erf'</userinput> -The Inimitable Jeves [1923] The Mating Season [1949] -Cary On, Jeves [1925] Ring for Jeves [1953] -Very Good, Jeves [1930] Jeves and the Feudal Spirit [1954] -Thank You, Jeves [1934] Jeves in the Ofing [1960] -Right Ho, Jeves [1934] Stif Upper Lip, Jeves [1963] -The Code of the Woosters [1938] Much Obliged, Jeves [1971] -Joy in the Morning [1946] Aunts Aren't Gentlemen [1974]</screen> - </sect2> - - <sect2 id="commands-work-files-find"> - <title>find - cerca file</title> - - <para>Il comando &man.find.1; può cercare file in modo - ricorsivo nell'albero di directory indicato, confrontando il tipo di - file o lo schema specificato. &man.find.1; può quindi elencare i - file o eseguire arbitrari comandi in base ai risultati.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>find <replaceable>directory</replaceable> - [<replaceable>opzioni di ricerca</replaceable>] - [<replaceable>azioni</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <para>Per l'opzione del tempo di ricerca, la notazione in giorni, - <emphasis>n</emphasis> è:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>+<replaceable>n</replaceable></option></entry> - - <entry>più di <replaceable>n</replaceable> giorni</entry> - </row> - - <row> - <entry><replaceable>n</replaceable></entry> - - <entry>esattamente <replaceable>n</replaceable> giorni</entry> - </row> - - <row> - <entry><option>-<replaceable>n</replaceable></option></entry> - - <entry>meno di <replaceable>n</replaceable> giorni</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Alcune caratteristiche dei file che &man.find.1; può - ricercare sono:</para> - - <para>la <emphasis>data</emphasis> dell'ultimo accesso o dell'ultima - modifica al file:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry align="center"><option>-atime - <replaceable>n</replaceable></option></entry> - - <entry>data di accesso, vero se l'accesso è di - <replaceable>n</replaceable> giorni fà</entry> - </row> - - <row> - <entry align="center"><option>-ctime - <replaceable>n</replaceable></option></entry> - - <entry>data di cambiamento, vero se lo stato del file è - stato modificato <replaceable>n</replaceable> giorni - fà</entry> - </row> - - <row> - <entry align="center"><option>-mtime - <replaceable>n</replaceable></option></entry> - - <entry>data di modifica, vero se i dati del file sono stati - modificati <replaceable>n</replaceable> giorni fà</entry> - </row> - - <row> - <entry><option>-newer - <replaceable>filename</replaceable></option></entry> - - <entry>vero se più recente del file specificato</entry> - </row> - - <row> - <entry><option>-type - <replaceable>tipo</replaceable></option></entry> - - <entry><emphasis>tipo</emphasis> di <emphasis>file</emphasis>, - dove <replaceable>tipo</replaceable> può essere:</entry> - </row> - - <row> - <entry align="center"><emphasis>b</emphasis></entry> - - <entry>file speciale a blocchi</entry> - </row> - - <row> - <entry align="center"><emphasis>c</emphasis></entry> - - <entry>file speciale a caratteri</entry> - </row> - - <row> - <entry align="center"><emphasis>d</emphasis></entry> - - <entry>directory</entry> - </row> - - <row> - <entry align="center"><emphasis>l</emphasis></entry> - - <entry>link simbolico</entry> - </row> - - <row> - <entry align="center"><emphasis>p</emphasis></entry> - - <entry>file pipe (fifo)</entry> - </row> - - <row> - <entry align="center"><emphasis>f</emphasis></entry> - - <entry>file regolare</entry> - </row> - - <row> - <entry><option>-fstype - <replaceable>tipo</replaceable></option></entry> - - <entry><emphasis>tipo</emphasis> di <emphasis>file - system</emphasis>, dove <replaceable>tipo</replaceable> - può essere un valido tipo di file system, esempio - <emphasis>ufs</emphasis> (Unix File System) e - <emphasis>nfs</emphasis> (Network File System)</entry> - </row> - - <row> - <entry><option>-user - <replaceable>username</replaceable></option></entry> - - <entry>vero se il file appartiene all'utente specificato</entry> - </row> - - <row> - <entry><option>-group - <replaceable>groupname</replaceable></option></entry> - - <entry>vero se il file appartiene al gruppo specificato</entry> - </row> - - <row> - <entry><option>-perm - [-]<replaceable>modi</replaceable></option></entry> - - <entry>permessi del file, dove <replaceable>modi</replaceable> - è la modalità ottale usata dal comando - &man.chmod.1;. Quando <replaceable>modi</replaceable> è - preceduto da un segno meno, solamente i bit che sono specificati - vengono confrontati.</entry> - </row> - - <row> - <entry><option>-exec - <replaceable>comando</replaceable></option></entry> - - <entry>esegue il comando specificato. La fine del comando viene - indicata con un escape e punto e virgola (\;). L'argomento del - comando, {}, sostituisce il path name corrente.</entry> - </row> - - <row> - <entry><option>-name - <replaceable>filename</replaceable></option></entry> - - <entry>vero se il nome del file è quello specificato. - Confronti con schemi wild card sono permessi se il - meta-carattere viene messo in escape per la shell con un - backslash (\)</entry> - </row> - - <row> - <entry><option>-ls</option></entry> - - <entry>sempre vero. Stampa una lista lunga del path name - corrente</entry> - </row> - - <row> - <entry><option>-print</option></entry> - - <entry>stampa i path name trovati (default per SVR4, non per - BSD)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Sono permesse espressioni complesse. Le espressioni devono essere - raggruppate tra parentesi (mettendo in escape le parentesi con un - backslash per impedire alla shell di interpretarle). Il simbolo di - esclamazione (!) può essere usato per <emphasis>negare</emphasis> - un'espressione. Gli operatori: <option>-a</option> - (<emphasis>and</emphasis>) e <option>-o</option> - (<emphasis>or</emphasis>) vengono usati per raggruppare - espressioni.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>&man.find.1; può ricercare in modo ricorsivo attraverso - sotto-directory, ma per lo scopo di questi esempi saranno usati i - seguenti file:</para> - - <screen>14 -rw-r--r-- 1 frank staff 6682 Feb 5 10:04 library - 6 -r--r----- 1 frank staff 3034 Mar 16 1995 netfile -34 -rw-r--r-- 1 frank staff 17351 Feb 5 10:04 standard - 2 -rwxr-xr-x 1 frank staff 386 Apr 26 09:51 tr25*</screen> - - <para>Per trovare tutti i file più recenti del file - <filename>library</filename>:</para> - - <screen>&prompt.user; <userinput>find . -newer library -print</userinput> -./tr25 -./standard</screen> - - <para>Per trovare tutti i file con i permessi di lettura o esecuzione per - l'utenza altri e quindi modificare gli stessi in modo da - disabilitarli:</para> - - <screen>&prompt.user; <userinput>find . \( -perm -004 -o -perm -001 \) -exec chmod o-rx {} \; -exec ls -al {} \;</userinput> --rw-r----- 1 frank staff 6682 Feb 5 10:04 ./library --rwxr-x--- 1 frank staff 386 Apr 26 09:51 ./tr25 --rw-r----- 1 frank staff 17351 Feb 5 10:04 ./standard</screen> - - <para>Nell'esempio precedente le parentesi e i punti e virgola sono messi - in escape con un backslash per impedire alla shell di interpretarli. - Le parentesi graffe sono automaticamente rimpiazzate dai risultati della - precedente ricerca e il punto e virgola chiude il comando.</para> - - <para>Si possono ricercare alcuni nomi di file contenenti la stringa - <quote>ar</quote> con:</para> - - <screen>&prompt.user; <userinput>find . -name \*ar\* -ls</userinput> -326584 7 -rw-r----- 1 frank staff 6682 Feb 5 10:04 ./library -326585 17 -rw-r----- 1 frank staff 17351 Feb 5 10:04 ./standard</screen> - - <para>dove l'opzione <option>-ls</option> mostra un listato lungo, numeri - di inode inclusi.</para> - </sect2> - </sect1> - - <sect1 id="commands-file-arch-comp-conv"> - <title>Archiviazione, compressione e conversione di file</title> - - <table frame="all" id="commands-table-file-arch-comp-conv"> - <title>Comandi di archiviazione, compressione e conversione di - file</title> - - <tgroup cols="2"> - <colspec colwidth="4in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>compress/uncompress/zcat - [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable>[.Z]</command></entry> - - <entry>comprime o decomprime un file. I file compressi sono - memorizzati con l'estensione <filename>.Z</filename></entry> - </row> - - <row> - <entry><command>dd [if=<replaceable>infile</replaceable>] - [of=<replaceable>outfile</replaceable>] - [operando=<replaceable>valore</replaceable>]</command></entry> - - <entry>copia un file, converte tra ASCII e EBCDIC o scambia - l'ordine dei byte, come specificato</entry> - </row> - - <row> - <entry><command>gzip/gunzip/zcat - [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable>[.gz]</command></entry> - - <entry>comprime o decomprime un file. I file compressi sono - memorizzati con l'estensione <filename>.gz</filename></entry> - </row> - - <row> - <entry><command>od [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>effettua un dump di un file binario in ottale, in ASCII, in - esadecimale, in decimale o in modo carattere.</entry> - </row> - - <row> - <entry><command>tar [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></entry> - - <entry>archivio a nastro - riferirsi alle pagine man per i dettagli - su come creare, visualizzare ed estrarre un archivio di file. I - file tar possono essere memorizzati su nastro o su disco.</entry> - </row> - - <row> - <entry><command>uudecode - [<replaceable>file</replaceable>]</command></entry> - - <entry>decodifica un file uuencoded, ricreando il file - originale</entry> - </row> - - <row> - <entry><command>uuencode [<replaceable>file</replaceable>] - <replaceable>nuovo_nome</replaceable></command></entry> - - <entry>codifica un file binario in ASCII 7-bit; utile quando lo si - invia tramite email, per poi essere decodificato come - <filename><replaceable>nuovo_nome</replaceable></filename> alla - destinazione</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="commands-file-arch-comp-conv-compress-uncompress"> - <title>Compressione di file</title> - - <para>Il comando &man.compress.1; viene usato per ridurre lo spazio di - disco utilizzato da un file. Quando un file è stato compresso - usando il comando &man.compress.1;, il suffisso <filename>.Z</filename> - viene appeso al nome del file. I permessi, la data di accesso e di - modifica del file originale vengono preservati. Il comando - &man.uncompress.1; restituisce il file originale compresso con - &man.compress.1;.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>compress [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></para> - - <para><command>uncompress [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>.Z]</command></para> - - <para><command>zcat [<replaceable>file</replaceable>.Z]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-c</option></entry> - - <entry>scrive su standard output e non crea o modifica alcun - file</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>forza la compressione del file, anche se questa non riduce - la dimensione del file o se il file destinazione - (<filename><replaceable>file</replaceable>.Z</filename>) esiste - già.</entry> - </row> - - <row> - <entry><option>-v</option></entry> - - <entry>verbose. Riporta la percentuale di riduzione del - file.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>&man.zcat.1; scrive su standard output. Equivale a - <command>uncompress -c</command>.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Dati i file:</para> - - <screen>96 -rw-r--r-- 1 lindadb acs 45452 Apr 24 09:13 logins.beauty -184 -rw-r--r-- 1 lindadb acs 90957 Apr 24 09:13 logins.bottom -152 -rw-r--r-- 1 lindadb acs 75218 Apr 24 09:13 logins.photon -168 -rw-r--r-- 1 lindadb acs 85970 Apr 24 09:13 logins.top</screen> - - <para>Questi possono essere compressi con:</para> - - <screen>&prompt.user; <userinput>compress logins.*</userinput></screen> - - <para>che crea i file:</para> - - <screen>24 -rw-r--r-- 1 lindadb acs 8486 Apr 24 09:13 logins.beauty.Z -40 -rw-r--r-- 1 lindadb acs 16407 Apr 24 09:13 logins.bottom.Z -24 -rw-r--r-- 1 lindadb acs 10909 Apr 24 09:13 logins.photon.Z -32 -rw-r--r-- 1 lindadb acs 16049 Apr 24 09:13 logins.top.Z</screen> - - <para>I file originali sono persi.</para> - - <para>Per visualizzare un file compresso, viene usato il comando - &man.zcat.1;:</para> - - <screen>&prompt.user; <userinput>zcat logins.beauty.Z | head</userinput> -beauty:01/22/94:#total logins,4338:#different UIDs,2290 -beauty:01/23/94:#total logins,1864:#different UIDs,1074 -beauty:01/24/94:#total logins,2317:#different UIDs,1242 -beauty:01/25/94:#total logins,3673:#different UIDs,2215 -beauty:01/26/94:#total logins,3532:#different UIDs,2216 -beauty:01/27/94:#total logins,3096:#different UIDs,1984 -beauty:01/28/94:#total logins,3724:#different UIDs,2212 -beauty:01/29/94:#total logins,3460:#different UIDs,2161 -beauty:01/30/94:#total logins,1408:#different UIDs,922 -beauty:01/31/94:#total logins,2175:#different UIDs,1194</screen> - - <para>Una visualizzazione del file utilizzando un altro comando al posto - di &man.zcat.1; può produrre un difficile risultato - binario.</para> - - <para>Il comando &man.uncompress.1; viene usato per far ritornare il file - compresso nel suo formato originale:</para> - - <screen>&prompt.user; <userinput>uncompress logins.*.Z ; ls -als logins.*</userinput> - 96 -rw-r--r-- 1 lindadb acs 45452 Apr 24 09:13 logins.beauty -184 -rw-r--r-- 1 lindadb acs 90957 Apr 24 09:13 logins.bottom -152 -rw-r--r-- 1 lindadb acs 75218 Apr 24 09:13 logins.photon -168 -rw-r--r-- 1 lindadb acs 85970 Apr 24 09:13 logins.top</screen> - - <para>In aggiunta alle utility standard di Unix &man.compress.1;, - &man.uncompress.1;, &man.zcat.1; ci sono un set di utility - <emphasis>GNU</emphasis> liberamente disponibili. Queste creano - persino un miglior lavoro di compressione utilizzando un algoritmo - più efficiente. I programmi GNU che forniscono - funzionalità simili ai precedenti sono spesso installati - rispettivamente come &man.gzip.1;, &man.gunzip.1; e &man.zcat.1;. - I nomi dei file compressi con &man.gzip.1; hanno l'estensione - <filename>.z</filename> o <filename>.gz</filename>. Il software GNU - può essere ottenuto via ftp anonimo: <ulink - url="ftp://ftp.gnu.org/pub/gnu"><hostid - role="fqdn">ftp://ftp.gnu.org/pub/gnu</hostid></ulink>.</para> - </sect2> - - <sect2 id="commands-file-arch-comp-conv-tar"> - <title>tar - archivio di file</title> - - <para>Il comando &man.tar.1; raggruppa file in un dispositivo o in un file - per scopi di archiviazione. Il comando &man.tar.1; non comprime i file, - rende solamente più maneggevole una grande quantità di - file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>tar [<replaceable>opzioni</replaceable>] - [<replaceable>directory file</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>c</option></entry> - - <entry>crea un archivio (inizia scrivendo all'inizio del - file)</entry> - </row> - - <row> - <entry><option>t</option></entry> - - <entry>visualizza il contenuto</entry> - </row> - - <row> - <entry><option>x</option></entry> - - <entry>estrae da un archivio</entry> - </row> - - <row> - <entry><option>v</option></entry> - - <entry>verbose</entry> - </row> - - <row> - <entry><option>f</option></entry> - - <entry>nome del file di archivio</entry> - </row> - - <row> - <entry><option>b</option></entry> - - <entry>dimensione del blocco di archivio</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>&man.tar.1;, in generale, accetta le sue opzioni sia facendole - precedere da un trattino (-) sia senza trattino. Il file di archivio - può essere un file su disco, un dispositivo a nastro o - standard input/output. L'ultimo modo viene rappresentato tramite un - trattino.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Dati i file di dimensioni seguenti:</para> - - <screen>45 logs.beauty -89 logs.bottom -74 logs.photon -84 logs.top</screen> - - <para>&man.tar.1; può combinare questi in un solo file, - <filename>logfile.tar</filename>:</para> - - <screen>&prompt.user; <userinput>tar -cf logfile.tar logs.* ; ls -s logfile.tar</userinput> -304 logfile.tar</screen> - - <para>In Internet, molti siti di archivio FTP anonimi memorizzano i loro - pacchetti in formati tar compressi, quindi i file finiscono in - <filename>.tar.Z</filename> o <filename>.tar.gz</filename>. Per - estrarre i file da uno di questi file archivio si può prima - decomprimerlo, o usare l'appropriato comando &man.zcat.1; e mandare in - pipe il risultato a &man.tar.1;, esempio:</para> - - <screen>&prompt.user; <userinput>zcat <replaceable>archive</replaceable>.tar.Z | tar -xvf -</userinput></screen> - - <para>dove il trattino alla fine del comando &man.tar.1; indica che il - file è preso da &man.stdin.4;.</para> - </sect2> - - <sect2 id="commands-file-arch-comp-conv-uuencode-uudecode"> - <title>uuencode/uudecode - codifica/decodifica un file</title> - - <para>Per codificare un file binario in ASCII 7-bit si usa il comando - &man.uuencode.1;. Per decodificare il file ASCII 7-bit in binario - si usa il comando &man.uudecode.1;. Il suffisso - <quote><emphasis>uu</emphasis></quote> nei nomi deriva dal fatto che - questi comandi fanno parte del set di comandi Unix-to-Unix CoPy (UUCP). - I comandi &man.uuencode.1; e &man.uudecode.1; sono generalmente usati - quando si mandano file binari via e-mail. Con l'e-mail non c'è - garanzia che file binari 8-bit siano trasferiti correttamente. Quindi - per garantire una corretta consegna si può codificare il file - binario, sia direttamente su linea di comando, includendo il file - codificato, sia indirettamente, lasciando al proprio programma di posta - MIME questo lavoro. In modo simile, l'utente decodifica il file - ricevuto.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>uuencode [<replaceable>file_sorgente</replaceable>] - <replaceable>pathname_per_uudecode</replaceable> - [> <replaceable>nuovo_file</replaceable>]</command></para> - - <para><command>uudecode [-p] - <replaceable>file_uuencode</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-p</option></entry> - - <entry>manda l'output su standard output piuttosto che nel file di - default</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>La prima linea di un file codificato con &man.uuencode.1; include i - <emphasis>permessi</emphasis> e il <emphasis>nome</emphasis> del file - originale che &man.uudecode.1; utilizzerà quando - decodificherà il file codificato. Il file inizia e finisce - rispettivamente con le parole chiavi <emphasis>begin</emphasis> e - <emphasis>end</emphasis>, esempio:</para> - - <programlisting>begin 555 binary_filename - -M?T5,1@$" 0 " ( ! %"W #0 5"< T " -M!0 H !4 % 8 T $ - "@ H 4 P -M -0 !$ ! ! ! %" -M%P !0A< % $ $ 4(8 -"& W& W% < 0 -M @ !0B T(@ )@ !P O=7-R+VQI8B]L9"YS -M;RXQ ?< 'Y VP "O !VP )8 &6 !G0 -M %[ U0 %G !3 ;< #Q %Q ! -MEP :P !_ '@ !PP (P -M N0 =H _0 $D Y < #F /L -M01 $' $ & ! P #0A@ 4(8 -M" ! 0 !E !@ , T(@ %"( )@ $ -M 0 ( ;@ $ ' -"N !0K@ /H -M $ # ', ! P #1J 4:@ #8 ! -M !Y 0 , TH %* !=X 0 -M@ @ # -/X !3^ "E, $ (4 ! -M 4_> )0 0 ". P -; %0 P )@ $ - -end</programlisting> - </sect2> - - <sect2 id="commands-file-arch-comp-conv-dd"> - <title>dd - copia di blocchi e conversione</title> - - <para>Il comando &man.dd.1; permette di copiare dati da dispositivi - grezzi, come dischi o nastri, specificando la dimensione dei blocchi - di input e di output. &man.dd.1; era originariamente conosciuto - come il programma di copia disco-a-disco. Inoltre con &man.dd.1; - si possono convertire file in differenti formati, per esempio da EBCDIC - a ASCII, cambiare l'ordine dei byte, ecc.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>dd [if=<replaceable>dispositivo_input</replaceable>] - [of=<replaceable>dispositivo_output</replaceable>] - [operando=<replaceable>valore</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><option>if=<replaceable>dispositivo_input</replaceable></option></entry> - - <entry>il dispositivo o file di input</entry> - </row> - - <row> - <entry><option>of=<replaceable>dispositivo_output</replaceable></option></entry> - - <entry>il dispositivo o file di output</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Se i dispositivi di input o di output non sono specificati, si - assume come default rispettivamente lo standard input e lo standard - output.</para> - - <para>Gli operandi possono essere:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><option>ibs=<replaceable>n</replaceable></option></entry> - - <entry>dimensione del blocco di input (blocchi da 512 byte di - default)</entry> - </row> - - <row> - <entry><option>obs=<replaceable>n</replaceable></option></entry> - - <entry>dimensione del blocco di output (blocchi da 512 byte di - default)</entry> - </row> - - <row> - <entry><option>bs=<replaceable>n</replaceable></option></entry> - - <entry>setta entrambe le dimensioni dei blocchi di input e di - output</entry> - </row> - - <row> - <entry><option>files=<replaceable>n</replaceable></option></entry> - - <entry>copia <replaceable>n</replaceable> file di input</entry> - </row> - - <row> - <entry><option>skip=<replaceable>n</replaceable></option></entry> - - <entry>salta <replaceable>n</replaceable> blocchi di input prima - di iniziare la copia</entry> - </row> - - <row> - <entry><option>count=<replaceable>n</replaceable></option></entry> - - <entry>copia solamente <replaceable>n</replaceable> blocchi di - input</entry> - </row> - - <row> - <entry><option>conv=<replaceable>valore</replaceable>[,<replaceable>valore</replaceable>]</option></entry> - - <entry>dove <replaceable>valore</replaceable> può - essere:</entry> - </row> - - <row> - <entry align="center"><option>ascii</option></entry> - - <entry>converte da EBCDIC a ASCII</entry> - </row> - - <row> - <entry align="center"><option>ebcdic</option></entry> - - <entry>converte da ASCII a EBCDIC</entry> - </row> - - <row> - <entry align="center"><option>lcase</option></entry> - - <entry>converte i caratteri maiuscoli in minuscoli</entry> - </row> - - <row> - <entry align="center"><option>ucase</option></entry> - - <entry>converte i caratteri minuscoli in maiuscoli</entry> - </row> - - <row> - <entry align="center"><option>swab</option></entry> - - <entry>scambia ogni coppia di byte dei dati di input</entry> - </row> - - <row> - <entry align="center"><option>noerror</option></entry> - - <entry>non ferma il processo su un errore in input</entry> - </row> - - <row> - <entry align="center"><option>sync</option></entry> - - <entry>riempie ogni blocco di input alla dimensione di - <option>ibs</option>, apporrendo byte nulli se - necessario</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>La dimensione dei blocchi viene specificata in byte e può - finire in <emphasis>k</emphasis>, <emphasis>b</emphasis> o - <emphasis>w</emphasis> per indicare rispettivamente 1024 (kilo), 512 - (blocco) o 2 (parola) byte.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per copiare un file da un dispositivo a nastro in un altro:</para> - - <screen>&prompt.user; <userinput>dd if=/dev/rmt/0 of=/dev/rmt/1</userinput> -20+0 records in -20+0 records out</screen> - - <para>Per copiare file posti in un dispositivo a nastro, scritti su una - macchina big endian con una dimensione di 20 blocchi, in file su - una machina little endian che ha un nastro inserito nel suo dispositivo, - si ha la necessità di scambiare le coppie di byte, in questo - modo:</para> - - <screen>&prompt.user; <userinput>dd if=/dev/rmt/0 of=new_file ibs=20b conv=swab</userinput> -1072+0 records in -21440+0 records out</screen> - - <para>A completamento dell'operazione, &man.dd.1; riporta il numero dei - blocchi totali e dei blocchi parziali per entrambi i file di - input e di output.</para> - </sect2> - - <sect2 id="commands-file-arch-comp-conv-od"> - <title>od - dump ottale di un file</title> - - <para>Il comando &man.od.1; effettua un dump di un file su &man.stdout.4; - in differenti formati, incluso l'ottale, il decimale, virgola mobile, - esadecimale e formato carattere.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>od [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-b</option></entry> - - <entry>dump ottale</entry> - </row> - - <row> - <entry><option>-d</option>|<option>-D</option></entry> - - <entry>dump decimale (-d) o decimale esteso (-D)</entry> - </row> - - <row> - <entry><option>-s</option>|<option>-S</option></entry> - - <entry>dump decimale marcato (-s) o decimale marcato esteso - (-S)</entry> - </row> - - <row> - <entry><option>-f</option>|<option>-F</option></entry> - - <entry>dump in virgola mobile (-f) o virgola mobile estesa - (double) (-F)</entry> - </row> - - <row> - <entry><option>-x</option>|<option>-X</option></entry> - - <entry>dump esadecimale (-x) o esadecimale esteso (-X)</entry> - </row> - - <row> - <entry><option>-c</option>|<option>-C</option></entry> - - <entry>dump in formato carattere (byte singolo) o carattere esteso - (carattere singolo o multi-byte, a seconda dai settaggi - locali)</entry> - </row> - - <row> - <entry><option>-v</option></entry> - - <entry>modalità verbose</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per dare un'occhiata all'attuale contenuto del seguente file, un - elenco di romanzi di Wodehouse Lord Emsworth:</para> - - <programlisting>Something Fresh [1915] Uncle Dynamite [1948] -Leave it to Psmith [1923] Pigs Have Wings [1952] -Summer Lightning [1929] Cocktail Time [1958] -Heavy Weather [1933] Service with a Smile [1961] -Blandings Castle and Elsewhere [1935] Galahad at Blandings [1965] -Uncle Fred in the Springtime [1939] A Pelican at Blandings [1969] -Full Moon [1947] Sunset at Blandings [1977]</programlisting> - - <para>si può usare:</para> - - <screen>&prompt.user; <userinput>od -c wodehouse</userinput> -0000000 S o m e t h i n g F r e s h -0000020 [ 1 9 1 5 ] \t U n c l e D y n -0000040 a m i t e [ 1 9 4 8 ] \n L e a -0000060 v e i t t o P s m i t h -0000100 [ 1 9 2 3 ] \t P i g s H a v e -0000120 W i n g s [ 1 9 5 2 ] \n S u -0000140 m m e r L i g h t n i n g [ -0000160 1 9 2 9 ] \t C o c k t a i l T -0000200 i m e [ 1 9 5 8 ] \n H e a v y -0000220 W e a t h e r [ 1 9 3 3 ] \t -0000240 S e r v i c e w i t h a S -0000260 m i l e [ 1 9 6 1 ] \n B l a n -0000300 d i n g s C a s t l e a n d -0000320 E l s e w h e r e [ 1 9 3 5 -0000340 ] \t G a l a h a d a t B l a -0000360 n d i n g s [ 1 9 6 5 ] \n U n -0000400 c l e F r e d i n t h e -0000420 S p r i n g t i m e [ 1 9 3 9 -0000440 ] \t A P e l i c a n a t B -0000460 l a n d i n g s [ 1 9 6 9 ] \n -0000500 F u l l M o o n [ 1 9 4 7 ] -0000520 \t S u n s e t a t B l a n d -0000540 i n g s [ 1 9 7 7 ] \n -0000554</screen> - </sect2> - </sect1> - - <sect1 id="commands-remote-connections"> - <title>Connessioni remote</title> - - <table frame="all" id="commands-table-remote-connections"> - <title>Comandi per connessioni remote</title> - - <tgroup cols="2"> - <colspec colwidth="3in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>finger [<replaceable>opzioni</replaceable>] - <replaceable>user</replaceable>[@<replaceable>nomehost</replaceable>]</command></entry> - - <entry>riporta informazioni sugli utenti delle macchine locali - e remote</entry> - </row> - - <row> - <entry><command>ftp [<replaceable>opzioni</replaceable>] - <replaceable>host</replaceable></command></entry> - - <entry>trasferisce file utilizzando il protocollo di trasferimento - di file</entry> - </row> - - <row> - <entry><command>rcp [<replaceable>opzioni</replaceable>] - <replaceable>nomehost</replaceable></command></entry> - - <entry>copia file in remoto dalla macchina corrente in un'altra - macchina</entry> - </row> - - <row> - <entry><command>rlogin [<replaceable>opzioni</replaceable>] - <replaceable>nomehost</replaceable></command></entry> - - <entry>effettua il login in remoto su un'altra macchina</entry> - </row> - - <row> - <entry><command>rsh [<replaceable>opzioni</replaceable>] - <replaceable>nomehost</replaceable></command></entry> - - <entry>shell remota da eseguire su un'altra macchina</entry> - </row> - - <row> - <entry><command>telnet [<replaceable>host</replaceable> - [<replaceable>porta</replaceable>]]</command></entry> - - <entry>comunica con un altro host utilizzando il protocollo - telnet</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="commands-remote-connections-telnet-ftp"> - <title>TELNET e FTP - protocollo di login remoto e di trasferimento di - file</title> - - <para><emphasis>TELNET</emphasis> e <emphasis>FTP</emphasis> sono - protocolli del livello applicazione di Internet. Le specifiche dei - protocolli FTP e TELNET sono state realizzate da molte organizzazioni, - incluso il Centro Nazionale per le Applicazioni di Supercomputer (NCSA), - molti altri domini pubblici e organizzazioni collaborative.</para> - - <para>I programmi che implementano il protocollo - <emphasis>TELNET</emphasis> sono usualmente chiamati - <application>telnet</application>, ma non sempre. Alcune notevoli - eccezioni sono <command>tn3270</command>, <command>WinQVT</command> e - <command>QWS3271</command>, che implementano comunque il protocollo - TELNET. TELNET viene usato per effettuare il login remoto su un - altro computer in Internet.</para> - - <para>I programmi che implementano il protocollo <emphasis>FTP</emphasis> - sono usualmente chiamati <application>ftp</application>, ma esistono - anche delle eccezioni. Il programma chiamato <command>Fetch</command>, - distribuito dalla Dartmouth College, <command>WS_FTP</command>, scritto - e distribuito da John Junod e <command>Ftptool</command>, scritto da - Mike Sullivan, sono implementazioni del protocollo FTP con - un'interfaccia utente grafica. Esiste una versione migliore di FTP, - <command>ncftp</command> che ha caratteristiche aggiuntive, scritto da - Mike Gleason. Comunque, l'implementazione del protocollo FTP viene - spesso inclusa nei programmi che implementano TELNET, come quello - distribuito dalla NCSA. FTP viene usato per trasferire file tra - computer su Internet.</para> - - <para>&man.rlogin.1; è un servizio di login remoto che - è stato in passato un'esclusiva dello Unix BSD 4.3 di Berkeley. - Essenzialmente, offre le stesse funzionalità di &man.telnet.1;, - eccetto che &man.rlogin.1; lascia passare al computer remoto le - informazioni dell'ambiente di login dell'utente. Le macchine possono - essere configurate per permettere connessioni da fidati host senza - richiedere la password dell'utente. Una versione più sicura di - questo protocollo è la Sicura SHell - <application>SSH</application>, software scritto da Tatu Ylonen e - disponibile via: <ulink - url="ftp://ftp.net.ohio-state.edu/pub/security/ssh"><hostid - role="fqdn">ftp://ftp.net.ohio-state.edu/pub/security/ssh</hostid></ulink>.</para> - - <para>Da un prompt Unix, questi programmi possono essere invocati - digitando il comando (nome del comando) e il nome (Internet) della - macchina remota alla quale ci si vuole connettere. Inoltre si possono - specificare diverse opzioni per questi comandi, come mostrato di - seguito.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>telnet [<replaceable>opzioni</replaceable>] - [<replaceable>host_remoto</replaceable> - [<replaceable>porta</replaceable>]]</command></para> - - <para><command>tn3270 [<replaceable>opzioni</replaceable>] - [<replaceable>host_remoto</replaceable> - [<replaceable>porta</replaceable>]]</command></para> - - <para><command>ftp [<replaceable>opzioni</replaceable>] - [<replaceable>host_remoto</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="3"> - <colspec colwidth="1in"> - <colspec colwidth="1in"> - - <thead> - <row> - <entry>ftp</entry> - - <entry>telnet</entry> - - <entry>Azione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><option>-d</option></entry> - - <entry></entry> - - <entry>abilità la modalità di debugging</entry> - </row> - - <row> - <entry></entry> - - <entry><option>-d</option></entry> - - <entry>come sopra (solamente SVR4)</entry> - </row> - - <row> - <entry><option>-i</option></entry> - - <entry></entry> - - <entry>disabilita il prompt interattivo</entry> - </row> - - <row> - <entry><option>-n</option></entry> - - <entry></entry> - - <entry>non tenta un auto-login su una connessione</entry> - </row> - - <row> - <entry><option>-v</option></entry> - - <entry></entry> - - <entry>modalità verbose</entry> - </row> - - <row> - <entry></entry> - - <entry><option>-l <replaceable>user</replaceable></option></entry> - - <entry>si connette all'host remoto con il nome utente specificato - (solamente SVR4)</entry> - </row> - - <row> - <entry></entry> - - <entry><option>-8</option></entry> - - <entry>percorso dati 8-bit (solamente SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>&man.telnet.1; e <command>tn3270</command> hanno un'opzione per - specificare il numero di porta a cui connettersi sull'host remoto. Per - entrambi i comandi, il numero di porta di default è 23, - la porta telnet. Altre porte vengono usate per il debugging dei servizi - di rete e per ragioni speciali.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>telnet oscar.us.ohio-state.edu</userinput></screen> - - <screen>&prompt.user; <userinput>tn3270 ohstmvsa.acs.ohio-state.edu</userinput></screen> - - <screen>&prompt.user; <userinput>ftp magnus.acs.ohio-state.edu</userinput></screen> - - <para>La macchina remota richiederà di identificarsi tramite login - e password. Spesso, le macchine organizzate come archivi di - software o di informazioni, permettono connessioni ftp anonime. Ci si - collega tramite &man.ftp.1; alla macchina remota e si effettua il - login come <username>anonymous</username> (il login - <username>ftp</username> è equivalente su molte macchine) - cioè, quando viene richiesto il login si digita - <username>anonymous</username> (di solito per la password si inserisce - il proprio indirizzo email o qualsiasi altra cosa).</para> - - <para>Una volta che si è correttamente collegati a un computer - remoto tramite &man.telnet.1; e &man.rlogin.1; (e assumendo che sia - stata assegnata l'emulazione del terminale) si potrà utilizzare - la macchina come al solito.</para> - - <para>Una volta che si è correttamente collegati ad un computer - remoto tramite &man.ftp.1;, si può trasferire un file in quel - computer con il comando <command>put</command> o prenderlo da quel - computer con il comando <command>get</command>. La sintassi è la - seguente:</para> - - <para><command>put <replaceable>nome-file-locale - nome-file-remoto</replaceable></command></para> - - <para><command>get <replaceable>nome-file-locale - nome-file-remoto</replaceable></command></para> - - <para>Sono disponibili altri comandi per &man.ftp.1;, a seconda della - specifica implementazione dell'FTP locale e remoto. Il comando - <command>help</command> visualizza un elenco di comandi disponibili. - Il comando <command>help</command> può visualizzare lo scopo di - un comando specifico. Esempi di validi comandi sono mostrati di - seguito:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>help</command></entry> - - <entry>mostra un elenco di comandi disponibili</entry> - </row> - - <row> - <entry><command>help mget</command></entry> - - <entry>mostra lo scopo del comando <command>mget</command> - (prendere file multipli)</entry> - </row> - - <row> - <entry><command>pwd</command></entry> - - <entry>mostra la corrente directory di lavoro</entry> - </row> - - <row> - <entry><command>ls</command> o <command>dir</command></entry> - - <entry>elenca il contenuto delle directory</entry> - </row> - - <row> - <entry><command>cd</command></entry> - - <entry>cambia directory</entry> - </row> - - <row> - <entry><command>lcd</command></entry> - - <entry>cambia la directory locale</entry> - </row> - - <row> - <entry><command>open</command></entry> - - <entry>specifica la macchina alla quale si vuole - connettersi</entry> - </row> - - <row> - <entry><command>user</command></entry> - - <entry>specifica il proprio id di login (nel caso che non venga - richiesto direttamente)</entry> - </row> - - <row> - <entry><command>quit</command></entry> - - <entry>esce dal programma FTP</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="commands-remote-connections-finger"> - <title>finger - restituisce informazioni riguardo gli utenti</title> - - <para>Il comando &man.finger.1; mostra il file <filename>.plan</filename> - di un utente specifico o riporta chi è attualmente - <quote>loggato</quote> su una specifica macchina. L'utente deve - permettere i permessi di lettura generale sul file - <filename>.plan</filename>.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>finger [<replaceable>opzioni</replaceable>] - [<replaceable>user</replaceable>[@<replaceable>nomehost</replaceable>]]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-l</option></entry> - - <entry>forza il formato lungo di output</entry> - </row> - - <row> - <entry><option>-m</option></entry> - - <entry>ottiene solo lo username, non il nome e cognome - reali</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>forza il formato corto di output</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>brigadier:condron [77]> <userinput>finger workshop@nyssa</userinput> -Questo è un esempio di file .plan per l'id workshop di nyssa. -Questo id è stato usato in questa settimana da Frank Fiamingo, Linda -DeBula, e Linda Condron, mentre insegnavano ad usare una nuova versione -di Unix workshop sviluppata per l'UTS. - -Sperando di aver insegnato qualcosa. -Frank, Linda, & Linda</screen> - - <screen>brigadier: condron [77]> <userinput>finger</userinput> -Login Name TTY Idle When Where - -condron Linda S Condron p0 Sun 18:13 lcondron-mac.acs -frank Frank G. Fiamingo p1 Mon 16:19 nyssa</screen> - </sect2> - - <sect2 id="commands-remote-connections-"> - <title>Comandi remoti</title> - - <para>Alcune macchine Unix possono essere collegate tra loro per formare - una rete locale (LAN). In questo caso succede spesso che un utente di - una macchina possieda validi accessi di login su molte altre macchine - della rete locale. Per questo tipo di utente sono disponibili comandi - Unix che forniscono una certa praticità nel realizzare certe - operazioni comuni. Poichè questi comandi si focalizzano su - comunicazioni con host remoti nella rete locale (o in Internet), i nomi - dei comandi iniziano con la lettera <emphasis>r</emphasis>: - &man.rlogin.1;, &man.rsh.1; e &man.rcp.1;. La possibilità di - accesso remoto tramite questi comandi è sostenuta (opzionalmente) - attraverso il file <filename>~/.rhosts</filename> di ogni singolo utente - e dal file generale di sistema <filename>/etc/hosts.equiv</filename>. - Per ragioni di sicurezza questi possono essere limitati ad alcuni - host.</para> - - <para>Il comando &man.rlogin.1; permette un accesso di login remoto - su un altro host della rete locale. &man.rlogin.1; passa - informazioni all'host remoto circa l'ambiente locale, incluso il valore - della variabile d'ambiente <literal>TERM</literal>.</para> - - <para>Il comando &man.rsh.1; fornisce la possibilità di invocare - una shell Unix su un host remoto della rete locale con lo scopo di - eseguirci comandi di shell. Questa capacità è simile alla - funzione shell escape disponibile generalmente all'interno di un - software di sistema Unix come editor ed email.</para> - - <para>Il comando &man.rcp.1; fornisce la possibilità di - copiare file dall'host locale ad un host remoto della rete - locale.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>rlogin [-l <replaceable>username</replaceable>] - <replaceable>host_remoto</replaceable></command></para> - - <para><command>rsh [-l <replaceable>username</replaceable>] - <replaceable>host_remoto</replaceable> - [<replaceable>comando</replaceable>]</command></para> - - <para><command>rcp - [[<replaceable>user1</replaceable>]@<replaceable>host1</replaceable>:]<replaceable>file_sorgente</replaceable> - [[<replaceable>user2</replaceable>]@<replaceable>host2</replaceable>:]<replaceable>file_destinazione</replaceable></command></para> - - <para>dove le parti tra parentesi ([]) sono opzionali. - &man.rcp.1; non richiede password, quindi si deve avere il - permesso per eseguire comandi remoti su una specifica macchina.</para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-l - <replaceable>username</replaceable></option></entry> - - <entry>si connette all' host remoto con il nome utente specificato - (&man.rlogin.1; & &man.rsh.1;)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Il file <filename>.rhosts</filename>, se esiste nella directory home - dell'utente sull'host remoto, permette l'accesso tramite &man.rlogin.1;, - &man.rsh.1; e &man.rcp.1; agli host remoti senza richiedere la password - per tale account. Il file <filename>.rhosts</filename> contiene un - record per ogni coppia host remoto-username con il quale il proprietario - del file <filename>.rhosts</filename> desidera connettersi. Ogni record - nel file <filename>.rhosts</filename> è della forma:</para> - - <para><replaceable>host_remoto utente_remoto</replaceable></para> - - <para>dove l'elenco - <username><replaceable>utente_remoto</replaceable></username> è - opzionale. Per esempio, se Heather Jones vuole essere in grado di - connettersi alla <hostid role="hostname">macchina1</hostid> (dove il suo - username è <username>heather</username>) dalla - <hostid role="hostname">macchina2</hostid> (dove il suo username - è <username>jones</username>) o dalla - <hostid role="hostname">macchina3</hostid> (dove il suo username - è <username>heather</username>, lo stesso della - <hostid role="hostname">macchina1</hostid>), lei potrebbe creare un file - <filename>.rhosts</filename> nella sua home directory sulla - <hostid role="hostname">macchina1</hostid>. Il contenuto di questo file - potrebbe essere:</para> - - <programlisting>macchina2 jones -macchina3 - --oppure- - -macchina2 jones -macchina3 heather</programlisting> - - <para>Su alcuni sistemi il file <filename>/etc/hosts.equiv</filename> - presta lo stesso scopo per tutti gli utenti, al di fuori del super-user. - Così un file <filename>/etc/hosts.equiv</filename> - contenente:</para> - - <para><replaceable>macchina_remota</replaceable></para> - - <para>permette agli utenti provenienti da <hostid - role="hostname"><replaceable>macchina_remota</replaceable></hostid> - che hanno gli stessi username della macchina corrente, di - connettersi a quest'ultima senza la necessita' di inserire la - password.</para> - - <para>Un file <filename>/etc/hosts.equiv</filename> che contiene:</para> - - <para><replaceable>macchina_remota utente_remoto</replaceable></para> - - <para>permette a - <username><replaceable>utente_remoto</replaceable></username> su <hostid - role="hostname"><replaceable>macchina_remota</replaceable></hostid> - di connettersi alla macchina corrente allo stesso modo dell'utente - locale, tranne che per il super-user.</para> - - <para>I file <filename>/etc/hosts.equiv</filename> e - <filename>~/.rhosts</filename> vanno usati con cautela.</para> - - <para>Le versioni dei programmi &man.rcp.1;, &man.rsh.1; e &man.rlogin.1; - basati sulla Secure SHell (<application>SSH</application>) sono - liberamente disponibili e forniscono molta più sicurezza.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/editors/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/editors/chapter.sgml deleted file mode 100644 index 2f9bb87a52..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/editors/chapter.sgml +++ /dev/null @@ -1,1289 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="editors"> - <title>Editor</title> - - <para>Esistono numerose utility per la manipolazione del testo in Unix, come - è stato notato attraverso questo documento (esempio - &man.ed.1;, &man.ex.1;, &man.sed.1;, &man.awk.1;, la famiglia - <application>grep</application> e la famiglia - <application>roff</application>). Tra gli editor, l'editor visuale (o a - schermo pieno) standard su Unix è <application>vi</application>. - Questa applicazione comprende un super-set, per così dire, di - caratteristiche di &man.ed.1; e di &man.ex.1; (gli editor a linea di - Unix).</para> - - <para>&man.vi.1; è un editor modale. Questo significa che ha - modalità specifiche che permettono l'inserimento del testo, la - cancellazione del testo e l'inserimento dei comandi. Si può lasciare - la modalità di inserimento premendo il tasto <keycap>escape</keycap>. - In questo modo ci si porta nella modalità comando. L'editor - di linea &man.ex.1; è incorporato in &man.vi.1;. Si può - passare dalla modalità a schermo pieno a quella a linea di comando (e - viceversa) quando si desidera. In modalità <emphasis>vi</emphasis> - premere <keycap>Q</keycap> per andare in modalità - <emphasis>ex</emphasis>. In modaltà <emphasis>ex</emphasis>, al - prompt : digitare <command>vi</command> per ritornare in modalità - <emphasis>vi</emphasis>. Inoltre è disponibile una modalità - di &man.vi.1; in sola lettura, che può essere invocata con - &man.view.1;.</para> - - <para>Un altro editor comune nei sistemi Unix, specialmente nei college e - negli ambienti universitari, è <application>emacs</application> (che - sta per <quote>editing macros</quote>). Mentre &man.vi.1; è in - generale compreso nel sistema operativo Unix, &man.emacs.1; usualmente non - lo è. <application>Emacs</application> viene distribuito dalla Free - Software Foundation ed è discutibilmente il più potente editor - disponibile per Unix. <application>Emacs</application> è un software - di sistema molto grande ed è un grossa risorsa di sistema per un - utente di computer.</para> - - <para>La Free Software Foundation e il progetto GNU (del quale - <application>emacs</application> fa parte) sono stati fondati da Richard - Stallman e dai suoi soci, i quali credono (come specificato nel manifesto - GNU) che condividere il software sia <quote>l'atto fondamentale di amicizia - tra programmatori</quote>. La loro General Public License garantisce il - diritto d'uso, di modifica e di distribuzione di - <application>emacs</application> (incluso il suo codice sorgente) ed - è stata progettata specificatamente per impedire a qualcuno di - prendersi un profitto finanziario da <application>emacs</application> o da - altri software conseguiti attraverso la Free Software Foundation. Molti dei - loro software, incluso <application>emacs</application>, sono disponibili - via <ulink url="ftp://ftp.gnu.org/pub/gnu/"><hostid - role="fqdn">ftp://ftp.gnu.org/pub/gnu/</hostid></ulink> e - <ulink url="http://www.gnu.org/"><hostid - role="fqdn">http://www.gnu.org/</hostid></ulink>.</para> - - <para>Sia &man.vi.1; che &man.emacs.1; permettono di creare file di - inizializzazione che possono contenere macro per controllare i settaggi e le - funzioni degli editor.</para> - - <sect1 id="editors-vi"> - <title>Configurare la propria sessione vi</title> - - <para>Per configurare l'ambiente di &man.vi.1; certe opzioni possono essere - settate con il comando di linea dell'editor <command>:set</command> - durante una sessione di editing. In alternativa, le opzioni usate di - frequente possono essere automaticamente settate quando viene invocato - &man.vi.1;, attraverso il file <filename>.exrc</filename>. Inoltre, - questo file può contenere macro per mappare battute di tasti in - funzioni usando la funzione <command>map</command>. All'interno di - &man.vi.1; queste macro possono essere definite con il comando - <command>:map</command>. I caratteri di controllo possono essere inseriti - digitando prima <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>V</keycap> - </keycombo>, quindi il carattere di controllo desiderato. Alcune opzioni - disponibili in &man.vi.1; sono mostrate qui sotto. Alcuni sistemi Unix - non accettano certe di queste opzioni.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><command>:set all</command></entry> - - <entry>visualizza tutti i settaggi delle opzioni</entry> - </row> - - <row> - <entry><command>:set ignorecase</command></entry> - - <entry>ignora il maiuscolo e minuscolo di un carattere in una - ricerca</entry> - </row> - - <row> - <entry><command>:set list</command></entry> - - <entry>visualizza tab e return</entry> - </row> - - <row> - <entry><command>:set nolist</command></entry> - - <entry>mette off l'opzione <option>list</option></entry> - </row> - - <row> - <entry><command>:set number</command></entry> - - <entry>visualizza i numeri di linea</entry> - </row> - - <row> - <entry><command>:set nonumber</command></entry> - - <entry>disattiva i numeri di linea</entry> - </row> - - <row> - <entry><command>:set showmode</command></entry> - - <entry>visualizza l'indicazione che la modalità di - inserimento è on</entry> - </row> - - <row> - <entry><command>:set noshowmode</command></entry> - - <entry>mette off l'opzione <option>showmode</option></entry> - </row> - - <row> - <entry><command>:set - wrapmargin=<replaceable>n</replaceable></command></entry> - - <entry>mette on la modalità word-wrap a - <replaceable>n</replaceable> spazi dal margine destro</entry> - </row> - - <row> - <entry><command>:set wrapmargin=0</command></entry> - - <entry>mette off l'opzione <option>wrapmargin</option></entry> - </row> - - <row> - <entry><command>:set warn</command></entry> - - <entry>visualizza l'avvertimento <quote>Ultima modifica non - registrata</quote></entry> - </row> - - <row> - <entry><command>:set nowarn</command></entry> - - <entry>mette off l'avvertimento di scrittura - <option>warn</option></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Segue un esempio di file <filename>.exrc</filename>:</para> - - <programlisting>set wrapmargin=10 -set number -set list -set warn -set ignorecase -map K {!}fmt -80 # riformatta questo paragrafo, {!}, usando fmt a - # 80 caratteri per linea -map ^Z :!spell # invoca spell, :!, per verificare lo splelling di - # una parola (ritorna a vi con Ctrl+D)</programlisting> - </sect1> - - <sect1 id="editors-emacs"> - <title>Configurare la propria sessione emacs</title> - - <para>Configurare l'ambiente di &man.emacs.1; equivale a creare chiamate a - funzioni LISP. &man.emacs.1; è infinitamente personalizzabile - tramite variabili <emphasis>emacs</emphasis>, funzioni built-in e - attraverso la programmazione Emacs LISP. I settaggi possono essere - specificati dal minibuffer (o da linea di comando) durante una sessione - <emphasis>emacs</emphasis>. Alternativamente, i settaggi usati di - frequente possono essere attivati automaticamente quando viene invocato - &man.emacs.1;, usando il file <filename>.emacs</filename>. Benchè - una discussione del Emacs LISP vada oltre lo scopo di questo documento, - seguono alcuni esempi di configurazioni per &man.emacs.1;.</para> - - <para>Per settare o verificare variabili <emphasis>emacs</emphasis> o per - usare le sue funzioni built-in, si usa il tasto <keycap>escape</keycap> - (<emphasis>Meta</emphasis> è come &man.emacs.1; si riferisce a - questo) seguito dalla lettera <keycap>x</keycap>, quindi la variabile o - la funzione e i suoi argomenti.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3in"> - - <tbody> - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - what-line</command></entry> - - <entry>quale linea è sul cursore?</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - auto-fill-mode</command></entry> - - <entry>mette on word-wrap</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - auto-fill-mode</command></entry> - - <entry>mette off word-wrap</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - set-variable <keycap><return></keycap> - fill-column <keycap><return></keycap> 45</command></entry> - - <entry>setta la lunghezza di linea a 45 caratteri</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - set-variable <keycap><return></keycap> - auto-save-interval <keycap><return></keycap> - 300</command></entry> - - <entry>salva automaticamente il file ogni 300 battute di - tasti</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - goto-line <keycap><return></keycap> - 16</command></entry> - - <entry>muove il cursore alla linea 16</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - help-for-help</command></entry> - - <entry>invoca l'help di emacs quando <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>h</keycap> - </keycombo> è stato mappato al tasto - <keycap>backspace</keycap></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Segue un esempio del file <filename>.emacs</filename>:</para> - - <programlisting>(message "Loading ~/.emacs...") -; I commenti iniziano con un punto e virgola e continuano fino alla fine della linea. -(setq text-mode-hook 'turn-on-auto-fill) ;mette on word-wrap -(setq fill-column 45) ;lunghezza di linea pari a 45 caratteri -(setq auto-save-interval 300) ;salva il file ogni 300 battute di tasti -; Costruisce (o mappa) la funzione di rubout (Ctrl+h) nel tasto backspace -(global-set-key "\C-h" 'backward-delete-char-untabify) -; Costruisce la funzione help emacs per la sequenza di battitura "Ctrl+x ?" -(global-set-key "\C-x?" 'help-for-help) -; Per saltare alla linea 16, digitare M, #<return>16 -(global-set-key "\M-#" 'goto-line) -; Per sapere su che linea si è, digitare M, n -(global-set-key "\M-n" 'what-line) -(message "~/.emacs loaded.") -(message "")</programlisting> - </sect1> - - <sect1 id="editors-vi-guide"> - <title>Veloce guida per vi</title> - - <para>Tutti i comandi in &man.vi.1; sono preceduti dalla pressione del tasto - <keycap>escape</keycap>. Ogni volta che si deve intraprendere un nuovo - comando si deve utilizzare il tasto di <keycap>escape</keycap>. - Diversamente da dove indicato, &man.vi.1; è case sensitive - (sensibile alla differenza minuscolo e maiuscolo).</para> - - <para><emphasis>Comandi movimento cursore:</emphasis></para> - - <para>(<replaceable>n</replaceable>) indica un numero ed è - opzionale</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>h</keycap></command></entry> - - <entry>(<replaceable>n</replaceable>) spazi a sinistra</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>j</keycap></command></entry> - - <entry>(<replaceable>n</replaceable>) spazi giù</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>k</keycap></command></entry> - - <entry>(<replaceable>n</replaceable>) spazi su</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>l</keycap></command></entry> - - <entry>(<replaceable>n</replaceable>) spazi a destra</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>(Generalmente funzionano anche i tasti freccia)</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>F</keycap> - </keycombo></command></entry> - - <entry>avanti di una schermata</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>B</keycap> - </keycombo></command></entry> - - <entry>indietro di una schermata</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>D</keycap> - </keycombo></command></entry> - - <entry>giù di mezza schermata</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>U</keycap> - </keycombo></command></entry> - - <entry>su di mezza schermata</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>(<keycap>Ctrl</keycap> indica il tasto <keycap>control</keycap>; il - case sensitive non è importante)</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycap>H</keycap></command></entry> - - <entry>all'inizio della linea superiore della schermata</entry> - </row> - - <row> - <entry><command><keycap>M</keycap></command></entry> - - <entry>all'inizio della linea mediana della schermata</entry> - </row> - - <row> - <entry><command><keycap>L</keycap></command></entry> - - <entry>all'inizio dell'ultima linea della schermata</entry> - </row> - - <row> - <entry><command><keycap>G</keycap></command></entry> - - <entry>all'inizio dell'ultima linea del file</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>G</keycap></command></entry> - - <entry>all'inizio della linea (<replaceable>n</replaceable>)</entry> - </row> - - <row> - <entry><command><keycap>0</keycap></command></entry> - - <entry>(zero) all'inizio della linea</entry> - </row> - - <row> - <entry><command><keycap>$</keycap></command></entry> - - <entry>alla fine della linea</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>w</keycap></command></entry> - - <entry>avanti (<replaceable>n</replaceable>) parole</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>b</keycap></command></entry> - - <entry>indietro (<replaceable>n</replaceable>) parole</entry> - </row> - - <row> - <entry><command><keycap>e</keycap></command></entry> - - <entry>fine della parola</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Inserimento testo:</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycap>i</keycap></command></entry> - - <entry>inserimento testo prima del cursore</entry> - </row> - - <row> - <entry><command><keycap>a</keycap></command></entry> - - <entry>aggiunta testo dopo il cursore (non sovrascrive altro - testo)</entry> - </row> - - <row> - <entry><command><keycap>I</keycap></command></entry> - - <entry>inserimento testo all'inizio della linea</entry> - </row> - - <row> - <entry><command><keycap>A</keycap></command></entry> - - <entry>aggiunta testo alla fine della linea</entry> - </row> - - <row> - <entry><command><keycap>r</keycap></command></entry> - - <entry>sostituisce il carattere posto sotto il cursore con il - prossimo carattere digitato</entry> - </row> - - <row> - <entry><command><keycap>R</keycap></command></entry> - - <entry>sovrascrive i caratteri fino alla fine della linea (o fino a - quando il tasto <keycap>escape</keycap> viene digitato per - cambiare comando)</entry> - </row> - - <row> - <entry><command><keycap>o</keycap></command></entry> - - <entry>(alpha o) inserisce una nuova linea dopo la linea corrente - per inserire del testo</entry> - </row> - - <row> - <entry><command><keycap>O</keycap></command></entry> - - <entry>(alpha O) inserisce una nuova linea prima della linea - corrente per inserire del testo</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Cancellazione testo:</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycap>dd</keycap></command></entry> - - <entry>cancella la linea corrente</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>dd</keycap></command></entry> - - <entry>cancella (<replaceable>n</replaceable>) linee</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>dw</keycap></command></entry> - - <entry>cancella (<replaceable>n</replaceable>) parole</entry> - </row> - - <row> - <entry><command><keycap>D</keycap></command></entry> - - <entry>cancella dal cursore fino alla fine della linea</entry> - </row> - - <row> - <entry><command><keycap>x</keycap></command></entry> - - <entry>cancella il carattere corrente</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>x</keycap></command></entry> - - <entry>cancella (<replaceable>n</replaceable>) caratteri</entry> - </row> - - <row> - <entry><command><keycap>X</keycap></command></entry> - - <entry>cancella il carattere precedente</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Comandi di modifica:</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>cc</keycap></command></entry> - - <entry>modifica (<replaceable>n</replaceable>) caratteri sulla linea - fino alla fine della linea (o fino a quando viene digitato il - tasto <keycap>escape</keycap>)</entry> - </row> - - <row> - <entry><command><keycap>cw</keycap></command></entry> - - <entry>modifica i caratteri di una parola fino alla fine della - parola (o fino a quando viene digitato il tasto - <keycap>escape</keycap>)</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>cw</keycap></command></entry> - - <entry>modifica i caratteri delle prossime - (<replaceable>n</replaceable>) parole</entry> - </row> - - <row> - <entry><command><keycap>c$</keycap></command></entry> - - <entry>modifica il testo alla fine della linea</entry> - </row> - - <row> - <entry><command><keycap>ct</keycap>(<replaceable>x</replaceable>)</command></entry> - - <entry>modifica il testo alla lettera - (<replaceable>x</replaceable>)</entry> - </row> - - <row> - <entry><command><keycap>C</keycap></command></entry> - - <entry>modifica il testo rimanente sulla linea corrente (fino a - quando viene digitato il tasto <keycap>escape</keycap>)</entry> - </row> - - <row> - <entry><command><keycap>~</keycap></command></entry> - - <entry>modifica il minuscolo/maiuscolo del carattere - corrente</entry> - </row> - - <row> - <entry><command><keycap>J</keycap></command></entry> - - <entry>unisce la linea corrente a quella successiva</entry> - </row> - - <row> - <entry><command><keycap>u</keycap></command></entry> - - <entry>annulla l'ultimo comando realizzato sulla linea - corrente</entry> - </row> - - <row> - <entry><command><keycap>.</keycap></command></entry> - - <entry>ripete l'ultima modifica</entry> - </row> - - <row> - <entry><command><keycap>s</keycap></command></entry> - - <entry>sostituisce il carattere corrente con il testo - digitato</entry> - </row> - - <row> - <entry><command><keycap>S</keycap></command></entry> - - <entry>sostituisce la linea corrente con il testo digitato</entry> - </row> - - <row> - <entry><command>:s</command></entry> - - <entry>sostituisce vecchie parole con nuove parole - <command>:<linee considerate> - s/vecchio/nuovo/g</command></entry> - </row> - - <row> - <entry><command><keycap>&</keycap></command></entry> - - <entry>ripete l'ultimo comando di sostituzione - (<command>:s</command>)</entry> - </row> - - <row> - <entry><command>(<replaceable>n</replaceable>)<keycap>yy</keycap></command></entry> - - <entry><quote>strappa</quote> (<replaceable>n</replaceable>) linee - dal buffer</entry> - </row> - - <row> - <entry><command><keycap>y</keycap>(<replaceable>n</replaceable>)<keycap>w</keycap></command></entry> - - <entry><quote>strappa</quote> (<replaceable>n</replaceable>) parole - dal buffer</entry> - </row> - - <row> - <entry><command><keycap>p</keycap></command></entry> - - <entry>inserisce il testo eliminato o <quote>strappato</quote> dopo - il cursore</entry> - </row> - - <row> - <entry><command><keycap>P</keycap></command></entry> - - <entry>inserisce il testo eliminato o <quote>strappato</quote> prima - del cursore</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Manipolazione file:</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>:w - (<replaceable>file</replaceable>)</command></entry> - - <entry>scrive i cambiamenti nel file specificato (file corrente di - default)</entry> - </row> - - <row> - <entry><command>:wq</command></entry> - - <entry>scrive i cambiamenti nel file corrente e conclude la sessione - di editing</entry> - </row> - - <row> - <entry><command>:w! - (<replaceable>file</replaceable>)</command></entry> - - <entry>sovrascrive il file (file corrente di default)</entry> - </row> - - <row> - <entry><command>:q</command></entry> - - <entry>esce dalla sessione di editing se non sono stati creati - cambiamenti</entry> - </row> - - <row> - <entry><command>:q!</command></entry> - - <entry>esce dalla sessione di editing e scarta eventuali - cambiamenti non salvati</entry> - </row> - - <row> - <entry><command>:n</command></entry> - - <entry>edita il prossimo file nella lista dell'argomento</entry> - </row> - - <row> - <entry><command>:f - (<replaceable>nome</replaceable>)</command></entry> - - <entry>modifica il nome del file corrente in quello - specificato</entry> - </row> - - <row> - <entry><command>:r - (<replaceable>file</replaceable>)</command></entry> - - <entry>legge il contenuto del file specificato all'interno del - corrente editing e alla corrente posizione del cursore - (inserisce un file)</entry> - </row> - - <row> - <entry><command>:!(<replaceable>comando</replaceable>)</command></entry> - - <entry>escape di shell</entry> - </row> - - <row> - <entry><command>:r!(<replaceable>comando</replaceable>)</command></entry> - - <entry>inserisce il risultato del comando di shell specificato nella - posizione corrente</entry> - </row> - - <row> - <entry><keycap>ZZ</keycap></entry> - - <entry>scrive i cambiamenti nel file corrente ed esce</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> - - <sect1 id="editors-emacs-guide"> - <title>Veloce guida per emacs</title> - - <para>I comandi di &man.emacs.1; sono realizzati sia tramite la - simultanea pressione del tasto <keycap>control</keycap> (indicato da - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap></keycap> - </keycombo>), sia attraverso il primo colpo del tasto di - <keycap>escape</keycap> (indicato da <keycap>M</keycap>,).</para> - - <para><emphasis>Comandi essenziali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>h</keycap> - </keycombo></command></entry> - - <entry>help</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycap>u</keycap></command></entry> - - <entry>undo (annulla operazione precedente)</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>g</keycap> - </keycombo></command></entry> - - <entry>esce dalla operazione o comando corrente</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>s</keycap> - </keycombo></command></entry> - - <entry>salva il file</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>c</keycap> - </keycombo></command></entry> - - <entry>chiude &man.emacs.1;</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Movimenti cursore</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>f</keycap> - </keycombo></command></entry> - - <entry>avanti di un carattere</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>b</keycap> - </keycombo></command></entry> - - <entry>indietro di un carattere</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>p</keycap> - </keycombo></command></entry> - - <entry>linea precedente</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>n</keycap> - </keycombo></command></entry> - - <entry>linea successiva</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>a</keycap> - </keycombo></command></entry> - - <entry>inizio linea</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>e</keycap> - </keycombo></command></entry> - - <entry>fine linea</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>l</keycap> - </keycombo></command></entry> - - <entry>al centro della corrente linea sullo schermo</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>v</keycap> - </keycombo></command></entry> - - <entry>sfoglia avanti</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>v</keycap></command></entry> - - <entry>sfoglia indietro</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>f</keycap></command></entry> - - <entry>avanti di una parola</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>b</keycap></command></entry> - - <entry>indietro di una parola</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>a</keycap></command></entry> - - <entry>inizio periodo</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>e</keycap></command></entry> - - <entry>fine periodo</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>{</keycap></command></entry> - - <entry>inizio paragrafo</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>}</keycap></command></entry> - - <entry>fine paragrafo</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap><</keycap></command></entry> - - <entry>inizio buffer</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>></keycap></command></entry> - - <entry>fine buffer</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Altre funzioni importanti</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycap>M</keycap>, - (<replaceable>n</replaceable>)</command></entry> - - <entry>ripete il prossimo comando (<replaceable>n</replaceable>) - volte</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>d</keycap> - </keycombo></command></entry> - - <entry>cancella un carattere</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>d</keycap></command></entry> - - <entry>cancella una parola</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>k</keycap> - </keycombo></command></entry> - - <entry>elimina linea</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>k</keycap></command></entry> - - <entry>elimina periodo</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>s</keycap> - </keycombo></command></entry> - - <entry>ricerca in avanti</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>r</keycap> - </keycombo></command></entry> - - <entry>ricerca al rovescio</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>%</keycap></command></entry> - - <entry>sostituzione di query</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>c</keycap></command></entry> - - <entry>capitalizza parola</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>u</keycap></command></entry> - - <entry>parola in lettere maiuscole</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>l</keycap></command></entry> - - <entry>parola in lettere minuscole</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>t</keycap> - </keycombo></command></entry> - - <entry>commuta caratteri</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>t</keycap></command></entry> - - <entry>commuta parole</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>@</keycap> - </keycombo></command></entry> - - <entry>marca l'inizio di una regione</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>w</keycap> - </keycombo></command></entry> - - <entry>taglia/cancella tutto dalla marcatura al punto</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>y</keycap> - </keycombo></command></entry> - - <entry>incolla il testo eliminato o <quote>strappato</quote> - all'interno della locazione corrente</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>q</keycap></command></entry> - - <entry>riformatta il paragrafo</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, - <keycap>g</keycap></command></entry> - - <entry>riformatta ogni paragrafo nella regione</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="4.5in"> - - <tbody> - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> - auto-fill-mode</command></entry> - - <entry>mette on word wrap</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> set-variable - <keycap><return></keycap> fill-column - <keycap><return></keycap> 45</command></entry> - - <entry>setta la lunghezza di linea a 45 caratteri</entry> - </row> - - <row> - <entry><command><keycap>M</keycap>, <keycap>x</keycap> goto-line - <keycap><return></keycap> 16</command></entry> - - <entry>muove il cursore alla linea 16</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command><keycap>M</keycap>, - <keycap>w</keycap></command></entry> - - <entry>copia la regione marcata</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>f</keycap> - </keycombo></command></entry> - - <entry>cerca un file e lo legge</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>v</keycap> - </keycombo></command></entry> - - <entry>cerca e legge un file alternativo</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycap>i</keycap></command></entry> - - <entry>inserisce un file alla posizione corrente</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>s</keycap> - </keycombo></command></entry> - - <entry>salva il file</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>w</keycap> - </keycombo></command></entry> - - <entry>scrive il buffer in un file differente</entry> - </row> - - <row> - <entry><command><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>x</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>c</keycap> - </keycombo></command></entry> - - <entry>esce da &man.emacs.1; e chiede di salvare</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml deleted file mode 100644 index 04bc4ec863..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml +++ /dev/null @@ -1,2223 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="getting-started"> - <title>Iniziamo</title> - - <sect1 id="getting-started-login"> - <title>Effettuare il login</title> - - <para>Una volta che l'utente si è collegato a un sistema Unix, gli - viene chiesto di inserire un <emphasis>login</emphasis> username - (nome utente) e una <emphasis>password</emphasis> (codice segreto). Il - login username è il nome univoco dell'utente sul sistema. La - password è un codice modificabile conosciuto solo dall'utente. - Alla richiesta di <emphasis>login</emphasis>, l'utente deve inserire lo - username e alla richiesta della <emphasis>password</emphasis>, deve essere - inserita la password effettiva.</para> - - <note> - <para><emphasis>Unix è un sistema case sensitive</emphasis> (fa - distinzione tra caratteri minuscoli e maiuscoli). Quindi sia il - <emphasis>login</emphasis> username che la <emphasis>password</emphasis> - devono essere inseriti esattamente come sono stati creati; il login - username è normalmente in minuscolo.</para> - </note> - - <sect2 id="getting-started-login-terminal-type"> - <title>Tipi di terminali</title> - - <para>Molti sistemi sono configurati in modo tale da richiedere all'utente - il tipo di terminale da usare, il quale dovrebbe essere settato al tipo - di terminale usato nella fase di login. Molti computer lavorano - se si sceglie il tipo <literal>vt100</literal>. Gli utenti connessi - tramite una workstation Sun molto probabilmente useranno il tipo - <literal>sun</literal>; quelli che usano un Terminale-X molto - probabilmente useranno <literal>xterms</literal> oppure - <literal>xterm</literal>.</para> - - <para>Il tipo di terminale indica al sistema Unix come interagire quando - una sessione viene aperta.</para> - - <para>Può essere necessario risettare il tipo di terminale, - digitando il comando:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3.3in"> - - <tbody> - <row> - <entry><command>setenv TERM <replaceable><tipo di - terminale></replaceable></command></entry> - - <entry>-se si usa la shell C - (vedere <link linkend="shells">Capitolo 5</link>)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>(Inoltre su alcuni sistemi Unix, ad esempio MAGNUS, è - necessario dare il comando <command>unsetenv - TERMCAP</command>.)</para> - - <para>oppure</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3.3in"> - - <tbody> - <row> - <entry><command>TERM=<replaceable><tipo di - terminale></replaceable>; export TERM</command></entry> - - <entry>-se si usa la shell Bourne - (vedere <link linkend="shells">Capitolo 5</link>)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>dove <replaceable><tipo di terminale></replaceable> è - il tipo di terminale, come <literal>vt100</literal>, che si desidera - settare.</para> - </sect2> - - <sect2 id="getting-started-login-passwords"> - <title>Password</title> - - <para>Quando viene assegnato il proprio account, si riceve una password - iniziale. Questa password è importate sia per la sicurezza - del sistema sia per una sicurezza personale, perciò la password - per il proprio account può essere cambiata a propria scelta. Il - comando per cambiare una password è - &man.passwd.1;. Verrà chiesto di inserire sia la propria - vecchia password, sia la nuova password desiderata, quest'ultima due - volte. Se si sbaglia la propria vecchia password o non si inserisce - quella nuova nello stesso modo per due volte, il sistema - indicherà che la password non ha subito cambiamenti.</para> - - <para>Alcuni amministratori di sistema hanno programmi che verificano - l'accuratezza di una password (che deve essere sufficientemente criptica - per assicurare una certa sicurezza al sistema). Un cambiamento di - password può essere rifiutato da questi programmi.</para> - - <para>Quando si sceglie una password, è importante che questa non - sia in qualche modo indovinabile né per qualche sconosciuto - che tenta di scoprirla né per un conoscente. I suggerimenti per - scegliere e mantenere una password sono i seguenti:</para> - - <itemizedlist> - <listitem> - <para>non usare una parola (o parole) di un linguaggio;</para> - </listitem> - - <listitem> - <para>non usare il proprio nome;</para> - </listitem> - - <listitem> - <para>non usare informazioni che possono essere trovate nel proprio - portafoglio;</para> - </listitem> - - <listitem> - <para>non usare informazioni comunemente conosciute circa se stessi - (come il soprannome, patente di guida, ecc.);</para> - </listitem> - - <listitem> - <para>non usare caratteri di controllo. Alcuni sistemi non li - accettano;</para> - </listitem> - - <listitem> - <para>non scrivere la password in qualche posto;</para> - </listitem> - - <listitem> - <para>non dare la propria password a *nessuno*;</para> - </listitem> - </itemizedlist> - - <itemizedlist> - <listitem> - <para>usare un mix di tipi di caratteri (alfabetici, numerici, - speciali);</para> - </listitem> - - <listitem> - <para>usare un mix di caratteri maiuscoli e caratteri - minuscoli;</para> - </listitem> - - <listitem> - <para>usare un minimo di 6 caratteri;</para> - </listitem> - - <listitem> - <para>scegliere una password in modo da poterla ricordare;</para> - </listitem> - - <listitem> - <para>cambiare di frequente la propria password;</para> - </listitem> - - <listitem> - <para>assicurarsi che nessuna persona vicino a voi vi guardi quando si - inserisce la propria password.</para> - </listitem> - </itemizedlist> - </sect2> - - <sect2 id="getting-started-login-exiting"> - <title>Uscita</title> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>D</keycap> - </keycombo> - indica la fine di un flusso di dati; - può far uscire dal sistema un utente. L'ultimo caso è - disabilitato su molti sistemi</para> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>C</keycap> - </keycombo> - interruzione</para> - - <para>&man.logout.1; - rilascia il sistema</para> - - <para>&man.exit.1; - rilascia la shell</para> - </sect2> - - <sect2 id="getting-started-login-identity"> - <title>Identità</title> - - <para>Il sistema identifica un utente attraverso il numero di utente e il - numero di gruppo (rispettivamente <emphasis>userid</emphasis> e - <emphasis>groupid</emphasis>) assegnati dall'amministratore di sistema. - Generalmente non è necessario conoscere il proprio userid e - groupid, poichè il sistema traduce in modo automatico lo userid - in username (e viceversa) ed il groupid in groupname (e viceversa). - Probabilmente si conosce già lo username: è il nome - utilizzato per il login. Il groupname non è ovvio, e in - realtà si può appartenere a più di un gruppo. Il - proprio gruppo primario è quello associato con il proprio - username nel file database delle password, configurato - dall'amministratore di sistema. Similmente, c'è un file database - per i gruppi, dove l'amministratore di sistema può assegnare - gruppi aggiuntivi ad un utente.</para> - - <para>Nei seguenti esempi il simbolo &prompt.user; è il proprio - prompt di shell e non va digitato.</para> - - <para>Si può determinare il proprio userid e la lista dei gruppi di - appartenenza con i comandi &man.id.1; e &man.groups.1;. Su alcuni - sistemi &man.id.1; mostra le informazioni sull'utente e le informazioni - sul gruppo primario, esempio:</para> - - <screen>&prompt.user; <userinput>id</userinput> -uid=1101(frank) gid=10(staff)</screen> - - <para>su altri sistemi mostra anche le informazioni sui gruppi aggiuntivi - di appartenenza:</para> - - <screen>&prompt.user; <userinput>id</userinput> -uid=1101(frank) gid=10(staff) groups=10(staff),5(operator),14(sysadmin),110(uts)</screen> - - <para>Il comando &man.groups.1; mostra le informazioni di tutti i gruppi - di appartenenza, esempio:</para> - - <screen>&prompt.user; <userinput>groups</userinput> -staff sysadmin uts operator</screen> - </sect2> - </sect1> - - <sect1 id="getting-started-comm-line-struct"> - <title>Struttura della linea di comando di Unix</title> - - <para>Un <emphasis>comando</emphasis> è un programma che chiama - il sistema Unix per qualche compito. Un comando ha la forma:</para> - - <para><command><replaceable>comando</replaceable> - [<replaceable>opzioni</replaceable>] - [<replaceable>argomenti</replaceable>]</command></para> - - <para>dove un <emphasis>argomento</emphasis> indica su cosa il comando deve - realizzare la sua azione, generalmente un file o una serie di file. - Un'opzione modifica il comando, cambiandone il modo di esecuzione.</para> - - <para>I comandi sono case sensitive (sensibili alle lettere maiuscole e - minuscole). <command><replaceable>comando</replaceable></command> - e <command><replaceable>Comando</replaceable></command> non sono - la stessa cosa.</para> - - <para>Le <emphasis>opzioni</emphasis> sono generalmente precedute da un - trattino (<keycap>-</keycap>) e per molti comandi, più opzioni - possono essere messe insieme nella forma:</para> - - <para><command><replaceable>comando</replaceable> - -[<replaceable>opzione</replaceable>][<replaceable>opzione</replaceable>][<replaceable>opzione</replaceable>]</command></para> - - <para>esempio:</para> - - <para><command>ls -alR</command></para> - - <para>che mostrerà un listato lungo di tutti i file che si trovano - nella directory corrente e ricorsivamente anche quelli che si trovano in - tutte le sotto-directory.</para> - - <para>In molti comandi si possono separare le opzioni, facendole precedere - ognuna da un trattino, esempio:</para> - - <para><command><replaceable>comando - -opzione1 -opzione2 -opzione3</replaceable></command></para> - - <para>come in:</para> - - <para><command>ls -a -l -R</command></para> - - <para>Alcuni comandi hanno opzioni che richiedono parametri. Le opzioni che - richiedono parametri sono di solito specificate separatamente, - esempio:</para> - - <para><command>lpr -Pprinter3 -#2 file</command></para> - - <para>che trasmetterà 2 copie del file specificato a - <devicename>printer3</devicename>.</para> - - <para>Ci sono delle convenzioni standard per i comandi. Comunque, non tutti - i comandi Unix seguono questo standard. Alcuni non richiedono il trattino - prima dell'opzione e alcuni non permettono di mettere insieme più - opzioni, per esempio alcuni possono richiedere che ogni opzione sia - preceduta da un trattino e separata con uno spazio bianco da un'altra - opzione o argomento.</para> - - <para>Le opzioni e la sintassi di un comando sono mostrate nelle - <emphasis>pagine man</emphasis> del comando.</para> - </sect1> - - <sect1 id="getting-started-control-keys"> - <title>Tasti di controllo</title> - - <para>I <emphasis>tasti di controllo</emphasis> sono usati per realizzare - speciali funzioni su linea di comando o all'interno di un editor. - Queste funzioni possono essere generate premendo contemporaneamente il - tasto <keycap>control</keycap> e alcuni altri <emphasis>tasti</emphasis>. - Questa combinazione è generalmente indicata con - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap><replaceable>Tasto</replaceable></keycap> - </keycombo> (oppure <keycombo action="simul"> - <keycap>^</keycap> - <keycap><replaceable>Tasto</replaceable></keycap> - </keycombo>). <keycombo action="simul"> - <keycap>Control</keycap> - <keycap>S</keycap> - </keycombo> può essere scritto come <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>S</keycap> - </keycombo> (oppure <keycombo action="simul"> - <keycap>^</keycap> - <keycap>S</keycap> - </keycombo>). Con i tasti di controllo le lettere maiuscole e minuscole - sono la stessa cosa, così <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>S</keycap> - </keycombo> è lo stesso di <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>s</keycap> - </keycombo>. Questo particolare esempio (<keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>S</keycap> - </keycombo>) è un segnale di <emphasis>stop</emphasis> e - dice al terminale di non accettare più input. Il terminale - rimarrà sospeso finchè un segnale di - <emphasis>start</emphasis> <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>Q</keycap> - </keycombo> non sarà generato.</para> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>U</keycap> - </keycombo> è normalmente il segnale di - <quote><emphasis>cancellazione di linea</emphasis></quote> per il proprio - terminale. Quando lo si digita, l'intera linea di input viene - cancellata.</para> - - <para>Nell'editor &man.vi.1; si possono inserire i tasti - di controllo all'interno del file di testo facendo seguire a - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>V</keycap> - </keycombo> il carattere di controllo desiderato; così per - inserire in un documento <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>H</keycap> - </keycombo> si digita <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>V</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>H</keycap> - </keycombo>.</para> - </sect1> - - <sect1 id="getting-started-stty"> - <title>stty - controllo del terminale</title> - - <para>&man.stty.1; mostra o configura le opzioni di controllo del terminale. - L'abbreviazione <quote><emphasis>tty</emphasis></quote> risale fino ai - giorni dei <quote>teletypewrite</quote>, che erano associati alla - trasmissione di messaggi telegrafici ed erano primitivi modelli di - terminali di computer.</para> - - <para>Per i nuovi utenti, l'uso principale del comando &man.stty.1; riguarda - l'assegnazione della funzione di <quote>cancellazione di linea</quote> ad - un tasto specifico per i loro terminali. Per i programmatori di sistema o - per chi scrive script di shell, il comando &man.stty.1; fornisce uno - strumento prezioso per la configurazione di molti aspetti legati al - controllo di I/O di un dispositivo specifico, inclusi i seguenti:</para> - - <itemizedlist> - <listitem> - <para>carattere di erase (eliminazione carattere) e di - line-kill (eliminazione linea);</para> - </listitem> - - <listitem> - <para>velocità di trasmissione dati;</para> - </listitem> - - <listitem> - <para>controllo di parità sulla trasmissione dati;</para> - </listitem> - - <listitem> - <para>controllo del flusso hardware;</para> - </listitem> - - <listitem> - <para>carattere di nuova linea (<NL>), di return (<CR>) e di - alimentazione linea (<LF>);</para> - </listitem> - - <listitem> - <para>interpretazione del carattere tab;</para> - </listitem> - - <listitem> - <para>modifica di un input grezzo;</para> - </listitem> - - <listitem> - <para>trasformazione di lettere minuscole in lettere maiuscole.</para> - </listitem> - </itemizedlist> - - <para>Il comando &man.stty.1; è molto dipendente dal sistema, quindi - consultare le relative <emphasis>pagine man</emphasis> sul proprio sistema - per i dettagli.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>stty [<replaceable>opzioni</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>(none)</option></entry> - - <entry>mostra i settaggi del terminale</entry> - </row> - - <row> - <entry><option>all (-a)</option></entry> - - <entry>mostra tutte le opzioni</entry> - </row> - - <row> - <entry><option>echoe</option></entry> - - <entry>richiama ERASE come BS-spazio-BS</entry> - </row> - - <row> - <entry><option>dec</option></entry> - - <entry>imposta la modalità specifica dei sistemi operativi - conformi al Digital Equipment Corporation (che distinguono ERASE - da BACKSPACE) (non disponibile su tutti i sistemi)</entry> - </row> - - <row> - <entry><option>kill</option></entry> - - <entry>imposta il carattere per LINE-KILL</entry> - </row> - - <row> - <entry><option>erase</option></entry> - - <entry>imposta il carattere per ERASE</entry> - </row> - - <row> - <entry><option>intr</option></entry> - - <entry>imposta il carattere per INTERRUPT</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Con il comando &man.stty.1; si possono visualizzare e cambiare i - settaggi del proprio terminale di controllo. Per visualizzare tutti - (<option>-a</option>) i settaggi correnti:</para> - - <screen>&prompt.user; <userinput>stty -a</userinput> -speed 38400 baud, 24 rows, 80 columns -parenb -parodd cs7 -cstopb -hupcl cread -clocal -crtscts --ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc -ixon -ixany -ixoff imaxbel -isig iexten icanon -xcase echo echoe echok -echonl -noflsh -tostop -echoctl -echoprt echoke -opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel -erase kill werase rprnt flush lnext susp intr quit stop eof -^H ^U ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D</screen> - - <para>Per cambiare i settaggi usando &man.stty.1;, ad esempio per cambiare - il carattere di erase da <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>?</keycap> - </keycombo> (il tasto elimina) a <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>H</keycap> - </keycombo>:</para> - - <screen>&prompt.user; <userinput>stty erase ^H</userinput></screen> - - <para>Questo setterà l'opzione del terminale solamente per la - sessione corrente. Per far in modo che questo comando sia eseguito - automaticamente ad ogni login, è possibile inserire tale comando - nel file <filename>.login</filename> o <filename>.profile</filename> di - cui si parlerà più avanti.</para> - </sect1> - - <sect1 id="getting-started-get-help"> - <title>Ottenere aiuto</title> - - <para>Il manuale di Unix, usualmente chiamato <emphasis>man page</emphasis> - (pagine man), è disponibile per spiegare l'uso del sistema Unix e - dei suoi comandi. Per servirsi di una pagina man digitare il comando - &man.man.1; al prompt di sistema seguito dal comando di cui si necessitano - informazioni.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>man [<replaceable>opzioni</replaceable>] - <replaceable>nome_comando</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-k - <replaceable>parola_chiave</replaceable></option></entry> - - <entry>mostra alcune linee riassuntive dei comandi contenenti la - parola chiave richiesta</entry> - </row> - - <row> - <entry><option>-M <replaceable>path</replaceable></option></entry> - - <entry>percorso per le pagine man</entry> - </row> - - <row> - <entry><option>-a</option></entry> - - <entry>mostra tutte le pagine man trovate (SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Si può usare &man.man.1; per ottenere una linea riassuntiva di - alcuni comandi che contengono la parola che si vuole ricercare con - l'opzione <option>-k</option>, ad esempio per cercare la parola - <emphasis>password</emphasis>, si digita:</para> - - <screen>&prompt.user; <userinput>man -k password</userinput> -passwd (5) - password file -passwd (1) - cambia la password</screen> - - <para>Il numero in parentesi indica la sezione delle pagine man dove sono - stati trovati i riferimenti. Si può accedere a quella pagina man - (di default si fa riferimento al numero di sezione più basso, ma si - può usare un'opzione su linea di comando per specificarne uno - differente) con:</para> - - <screen>&prompt.user; <userinput>man passwd</userinput> -PASSWD(1) USER COMMANDS PASSWD(1) - -NOME -passwd - cambia password - -SINTASSI -passwd [ -e login_shell ] [ username ] - -DESCRIZIONE -passwd cambia (o setta) la password di un utente. -passwd chiede per due volte la nuova password, senza mostrarla. -Questo per prendere in considerazione la possibilità di digitare errori. -Solamente l'utente stesso e il super-user possono cambiare la password -di un utente. - -OPZIONI - --e Cambia la shell di login dell'utente.</screen> - - <para>Qui l'output è stato parafrasato e troncato per una questione - di spazio e di copyright.</para> - </sect1> - - <sect1 id="getting-started-directory-nav-control"> - <title>Navigazione e controllo delle directory</title> - - <para>Il file system di Unix è organizzato come la struttura - ramificata di un albero a partire da root. La directory - <emphasis>root</emphasis> del sistema è rappresentata dal carattere - di slash in avanti (<filename>/</filename>). Le directory di sistema e - quelle degli utenti sono organizzate sotto la directory - <emphasis>root</emphasis>. In Unix l'utente non ha una directory root; - generalmente dopo il login gli utenti vengono posizionati nella loro - directory <emphasis>home</emphasis>. Gli utenti possono creare altre - directory sotto la loro directory <emphasis>home</emphasis>. La tabella - che segue mostra alcuni comandi per la navigazione tra directory.</para> - - <table frame="all" id="getting-started-table-directory-nav-control"> - <title>Comandi di navigazione e controllo delle directory</title> - - <tgroup cols="2"> - <colspec colwidth="3in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>cd - [<replaceable>directory</replaceable>]</command></entry> - - <entry>cambia directory</entry> - </row> - - <row> - <entry><command>ls - [<replaceable>opzioni</replaceable>][<replaceable>directory - o file</replaceable>]</command></entry> - - <entry>lista il contenuto della directory o i permessi del - file specificato</entry> - </row> - - <row> - <entry><command>mkdir - [<replaceable>opzioni</replaceable>] - <replaceable>directory</replaceable></command></entry> - - <entry>crea una directory</entry> - </row> - - <row> - <entry><command>pwd</command></entry> - - <entry>mostra la directory (corrente) di lavoro</entry> - </row> - - <row> - <entry><command>rmdir [<replaceable>opzioni</replaceable>] - <replaceable>directory</replaceable></command></entry> - - <entry>rimuove una directory</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>Se si ha una certa familiarità con DOS la tabella che segue - paragona i suoi simili comandi a quelli Unix in modo tale da fornire un - appropriato quadro di riferimento.</para> - - <table frame="all" - id="getting-started-table-directory-nav-control-unix-vs-dos"> - <title>Comandi di navigazione e controllo delle directory Unix vs - DOS</title> - - <tgroup cols="3"> - <colspec colwidth="3in"> - - <colspec colwidth="2in"> - - <thead> - <row> - <entry align="center">Comando</entry> - - <entry align="center">Unix</entry> - - <entry align="center">DOS</entry> - </row> - </thead> - - <tbody> - <row> - <entry>lista il contenuto di una directory</entry> - - <entry><command>ls</command></entry> - - <entry><command>dir</command></entry> - </row> - - <row> - <entry>crea una directory</entry> - - <entry><command>mkdir</command></entry> - - <entry><command>md</command> & - <command>mkdir</command></entry> - </row> - - <row> - <entry>cambia directory</entry> - - <entry><command>cd</command></entry> - - <entry><command>cd</command> & - <command>chdir</command></entry> - </row> - - <row> - <entry>rimuove una directory</entry> - - <entry><command>rmdir</command></entry> - - <entry><command>rm</command> & - <command>rmdir</command></entry> - </row> - - <row> - <entry>ritorna alla directory home dell'utente</entry> - - <entry><command>cd</command></entry> - - <entry><command>cd\</command></entry> - </row> - - <row> - <entry>mostra la directory corrente di lavoro</entry> - - <entry><command>pwd</command></entry> - - <entry><command>cd</command></entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="getting-started-directory-nav-control-pwd"> - <title>pwd - mostra la directory di lavoro</title> - - <para>In ogni momento si può determinare in che punto si è - nella gerarchia del file system mostrando la directory di lavoro con il - comando &man.pwd.1;, esempio:</para> - - <screen>&prompt.user; <userinput>pwd</userinput> -/home/frank/src</screen> - </sect2> - - <sect2 id="getting-started-directory-nav-control-cd"> - <title>cd - cambia directory</title> - - <para>Ci si può portare in una nuova directory con il comando - &man.cd.1;, cambio di directory. &man.cd.1; accetta sia path name - (percorsi) assoluti sia path name relativi.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>cd [<replaceable>directory</replaceable>]</command></para> - - <para><emphasis>Esempi:</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3.2in"> - - <tbody> - <row> - <entry><command>cd</command> (oppure <command>chdir</command> in - alcune shell)</entry> - - <entry>cambia directory</entry> - </row> - - <row> - <entry><command>cd</command></entry> - - <entry>si posiziona nella directory home dell'utente</entry> - </row> - - <row> - <entry><command>cd /</command></entry> - - <entry>si posiziona nella directory di sistema roor (/)</entry> - </row> - - <row> - <entry><command>cd ..</command></entry> - - <entry>sale di un livello di directory</entry> - </row> - - <row> - <entry><command>cd ../..</command></entry> - - <entry>sale di due livelli di directory</entry> - </row> - - <row> - <entry><command>cd - <replaceable>/completo/path/name/da/root</replaceable></command></entry> - - <entry>cambia directory rispetto a un path name assoluto - (notare lo slash iniziale)</entry> - </row> - - <row> - <entry><command>cd - <replaceable>path/da/posizione/corrente</replaceable></command></entry> - - <entry>cambia directory rispetto a un path name relativo alla - posizione corrente (no slash iniziale)</entry> - </row> - - <row> - <entry><command>cd - <replaceable>~username/directory</replaceable></command></entry> - - <entry>cambia directory rispetto alla directory home dell'utente - specificato (il carattere ~ non è valido nella shell - Bourne; vedere il <link - linkend="shells">Capitolo 5</link>).</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="getting-started-directory-nav-control-mkdir"> - <title>mkdir - crea una directory</title> - - <para>La gerarchia della propria directory home si estende creando - sotto-directory all'interno di essa. Questo è possibile con il - comando &man.mkdir.1;, crea directory. Di nuovo si può - specificare un path name assoluto o relativo della directory che si - vuole creare.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>mkdir [<replaceable>opzioni</replaceable>] - <replaceable>directory</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-p</option></entry> - - <entry>crea una directory intermedia (genitore), quando - necessario</entry> - </row> - - <row> - <entry><option>-m <replaceable>modi</replaceable></option></entry> - - <entry>permessi di accesso (SVR4). (Si vedranno i - <quote>modi</quote> più avanti in questo - Capitolo)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>mkdir /home/frank/data</userinput></screen> - - <para>oppure se la directory di lavoro corrente è - <filename>/home/frank</filename>, il seguente comando è - equivalente:</para> - - <screen>&prompt.user; <userinput>mkdir data</userinput></screen> - </sect2> - - <sect2 id="getting-started-directory-nav-control-rmdir"> - <title>rmdir - rimuove una directory</title> - - <para>Per rimuovere una directory è necessario che questa sia - vuota. Altrimenti bisogna prima rimuovere i file contenuti in essa. - Inoltre, non si può rimuovere una directory se questa è la - directory di lavoro corrente, bisogna prima uscire da - quest'ultima.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>rmdir - <replaceable>directory</replaceable></command></para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per rimuovere la directory vuota - <filename>/home/frank/data</filename> mentre si è in - <filename>/home/frank</filename> usare:</para> - - <screen>&prompt.user; <userinput>rmdir data</userinput></screen> - - <para>oppure</para> - - <screen>&prompt.user; <userinput>rmdir /home/frank/data</userinput></screen> - </sect2> - - <sect2 id="getting-started-directory-nav-control-ls"> - <title>ls - mostra i contenuti delle directory</title> - - <para>Il comando per visualizzare le proprie directory e i propri file - è &man.ls.1;. È possibile ottenere, attraverso le opzioni, - informazioni circa la dimensione, il tipo, i permessi, la data di - creazione, di modifica e di accesso del file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>ls [<replaceable>opzioni</replaceable>] - [<replaceable>argomenti</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <para>Quando non viene usato nessun argomento, viene mostrato il contenuto - della directory corrente. Ci sono molte utili opzioni per il comando - &man.ls.1;. Segue una lista di alcune di queste. Quando si usa il - comando, le opzioni sono raggruppate insieme, precedute da un - trattino (-).</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry><option>-a</option></entry> - - <entry>mostra tutti i file, inclusi quelli che iniziano con - un punto (.)</entry> - </row> - - <row> - <entry><option>-d</option></entry> - - <entry>mostra solo i nomi delle directory, non i file - nella directory</entry> - </row> - - <row> - <entry><option>-F</option></entry> - - <entry>indica il tipo di elemento terminandolo con un - simbolo:</entry> - </row> - - <row> - <entry></entry> - - <entry><emphasis>directory</emphasis> /</entry> - </row> - - <row> - <entry></entry> - - <entry><emphasis>socket</emphasis> =</entry> - </row> - - <row> - <entry></entry> - - <entry><emphasis>link simbolico</emphasis> @</entry> - </row> - - <row> - <entry></entry> - - <entry><emphasis>eseguibile</emphasis> *</entry> - </row> - - <row> - <entry><option>-g</option></entry> - - <entry>mostra il gruppo Unix assegnato al file, richiede l'opzione - <option>-l</option> (BSD solamente) o su una macchina SVR4, - esempio Solaris, questa opzione ha l'effetto opposto</entry> - </row> - - <row> - <entry><option>-L</option></entry> - - <entry>se il file è un link simbolico, mostra le - informazioni del file o della directory a cui il link si - riferisce, non le informazioni del link stesso</entry> - </row> - - <row> - <entry><option>-l</option></entry> - - <entry>listato lungo: mostra i modi, informazioni di link, il - proprietario, la dimensione, la data dell'ultima modifica del - file. Se il file è un link simbolico, una freccia - (-->) precede il percorso del file collegato.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Il <emphasis>campo modi</emphasis> viene fornito dall'opzione - <option>-l</option> e consiste di 10 caratteri. Il primo carattere - è uno dei seguenti:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <thead> - <row> - <entry>CARATTERE</entry> - - <entry>SE L'ELEMENTO E'</entry> - </row> - </thead> - - <tbody> - <row> - <entry><emphasis>d</emphasis></entry> - - <entry>directory</entry> - </row> - - <row> - <entry><emphasis>-</emphasis></entry> - - <entry>file ordinario</entry> - </row> - - <row> - <entry><emphasis>b</emphasis></entry> - - <entry>file speciale per dispositivi a blocchi</entry> - </row> - - <row> - <entry><emphasis>c</emphasis></entry> - - <entry>file speciale per dispositivi a caratteri</entry> - </row> - - <row> - <entry><emphasis>l</emphasis></entry> - - <entry>link simbolico</entry> - </row> - - <row> - <entry><emphasis>s</emphasis></entry> - - <entry>socket</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>I 9 caratteri successivi sono raggruppati in 3 blocchi di 3 - caratteri ciascuno. Indicano i <emphasis>permessi di accesso al - file</emphasis>: i primi 3 caratteri si riferiscono ai permessi del - <emphasis>proprietario</emphasis> del file, i successivi 3 ai permessi - degli utenti del <emphasis>gruppo</emphasis> Unix assegnato al file e - gli ultimi 3 caratteri ai permessi degl'<emphasis>altri</emphasis> - utenti sul sistema. Possono assumere i seguenti simboli:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.4in"> - - <tbody> - <row> - <entry><emphasis>r</emphasis></entry> - - <entry>permesso di lettura</entry> - </row> - - <row> - <entry><emphasis>w</emphasis></entry> - - <entry>permesso di scrittura</entry> - </row> - - <row> - <entry><emphasis>x</emphasis></entry> - - <entry>permesso di esecuzione</entry> - </row> - - <row> - <entry><emphasis>-</emphasis></entry> - - <entry>permesso negato</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Esistono altri permessi, specificamente progettati per essere usati - in speciali situazioni. Questi sono spiegati nelle pagine man di - &man.ls.1;.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per mostrare i file in una directory</para> - - <screen>&prompt.user; <userinput>ls</userinput> -demofiles frank linda</screen> - - <para>Per mostrare tutti i file in una directory, inclusi i file nascosti - (iniziano con un punto):</para> - - <screen>&prompt.user; <userinput>ls -a</userinput> -. .cshrc .history .plan .rhosts frank -.. .emacs .login .profile demofiles linda</screen> - - <para>Per avere un listato lungo:</para> - - <screen>&prompt.user; <userinput>ls -al</userinput> -total 24 -drwxr-sr-x 5 workshop acs 512 Jun 7 11:12 . -drwxr-xr-x 6 root sys 512 May 29 09:59 .. --rwxr-xr-x 1 workshop acs 532 May 20 15:31 .cshrc --rw------- 1 workshop acs 525 May 20 21:29 .emacs --rw------- 1 workshop acs 622 May 24 12:13 .history --rwxr-xr-x 1 workshop acs 238 May 14 09:44 .login --rw-r--r-- 1 workshop acs 273 May 22 23:53 .plan --rwxr-xr-x 1 workshop acs 413 May 14 09:36 .profile --rw------- 1 workshop acs 49 May 20 20:23 .rhosts -drwx------ 3 workshop acs 512 May 24 11:18 demofiles -drwx------ 2 workshop acs 512 May 21 10:48 frank -drwx------ 3 workshop acs 512 May 24 10:59 linda</screen> - </sect2> - </sect1> - - <sect1 id="getting-started-file-mant-comm"> - <title>Comandi di gestione dei file</title> - - <para>Per creare, copiare, rimuovere file e per modificarne i permessi - si possono usare i seguenti comandi.</para> - - <table frame="all" id="getting-started-table-file-mant-comm"> - <title>Comandi di gestione dei file</title> - - <tgroup cols="2"> - <colspec colwidth="3in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>chgrp [<replaceable>opzioni</replaceable>] - <replaceable>gruppo file</replaceable></command></entry> - - <entry>cambia il gruppo assegnato ad un file</entry> - </row> - - <row> - <entry><command>chmod [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>cambia i permessi di accesso a file o directory</entry> - </row> - - <row> - <entry><command>chown [<replaceable>opzioni</replaceable>] - <replaceable>proprietario file</replaceable></command></entry> - - <entry>cambia il proprietario di un file; può essere usato - solamente dal super-user</entry> - </row> - - <row> - <entry><command>cp [<replaceable>opzioni</replaceable>] - <replaceable> file1 file2</replaceable></command></entry> - - <entry>copia <filename><replaceable>file1</replaceable></filename> - in <filename><replaceable>file2</replaceable></filename>; - <filename><replaceable>file2</replaceable></filename> non dovrebbe - già esistere. Questo comando crea o sovrascrive - <filename><replaceable>file2</replaceable></filename></entry> - </row> - - <row> - <entry><command>mv [<replaceable>opzioni</replaceable>] - <replaceable>file1 file2</replaceable></command></entry> - - <entry>muove (rinomina) - <filename><replaceable>file1</replaceable></filename> in - <filename><replaceable>file2</replaceable></filename></entry> - </row> - - <row> - <entry><command>rm [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>elimina un file o una directory (<option>-r</option> rimuove - ricorsivamente le directory e il loro contenuto) - (<option>-i</option> chiede conferma prima di rimuove i - file)</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>Se si ha una certa familiarità con DOS la tabella che segue - paragona i suoi simili comandi a quelli Unix in modo tale da fornire un - appropriato quadro di riferimento.</para> - - <table frame="all" id="getting-started-table-file-mant-comm-unix-vs-dos"> - <title>Comandi di gestione dei file Unix vs DOS</title> - - <tgroup cols="3"> - <colspec colwidth="3in"> - - <colspec colwidth="2in"> - - <thead> - <row> - <entry align="center">Comando</entry> - - <entry align="center">Unix</entry> - - <entry align="center">Dos</entry> - </row> - </thead> - - <tbody> - <row> - <entry>copia un file</entry> - - <entry><command>cp</command></entry> - - <entry><command>copy</command></entry> - </row> - - <row> - <entry>muove un file</entry> - - <entry><command>mv</command></entry> - - <entry><command>move</command> (non supportato in tutte le - versioni di Dos)</entry> - </row> - - <row> - <entry>rinomina un file</entry> - - <entry><command>mv</command></entry> - - <entry><command>rename</command> & - <command>ren</command></entry> - </row> - - <row> - <entry>elimina un file</entry> - - <entry><command>rm</command></entry> - - <entry><command>erase</command> & - <command>del</command></entry> - </row> - - <row> - <entry>mostra un file a schermo</entry> - - <entry><command>cat</command></entry> - - <entry><command>type</command></entry> - </row> - - <row> - <entry>mostra un file a schermo, una pagina alla volta</entry> - - <entry><command>more</command>, <command>less</command>, - <command>pg</command></entry> - - <entry><command>type /p</command> (non supportato in tutte - le versioni di Dos)</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="getting-started-file-mant-comm-cp"> - <title>cp - copia un file</title> - - <para>Il comando &man.cp.1; copia il contenuto di un file in un altro - file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>cp [<replaceable>opzioni</replaceable>] - <replaceable>filename1 filename2</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-i</option></entry> - - <entry>interattivo (chiede conferma prima di procedere)</entry> - </row> - - <row> - <entry><option>-r</option></entry> - - <entry>copia ricorsivamente una directory</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>cp <replaceable>filename1 filename2</replaceable></userinput></screen> - - <para>Si hanno due copie del file, ognuna con un identico contenuto. - Questi file sono completamente indipendenti tra loro e possono essere - editati e modificati entrambi quando necessario. Ciascuno di essi ha il - proprio inode, i propri blocchi di dati e il proprio elemento nella - tabella di directory.</para> - </sect2> - - <sect2 id="getting-started-file-mant-comm-mv"> - <title>mv - sposta un file</title> - - <para>Il comando &man.mv.1; rinomina (sposta) un file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>mv [<replaceable>opzioni</replaceable>] - <replaceable>vecchio_file nuovo_file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-i</option></entry> - - <entry>interattivo (chiede conferma prima di procedere)</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>non chiede la conferma quando si sovrascrive un file - esistente (ignora <option>-i</option>)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>mv <replaceable>vecchio_file nuovo_file</replaceable></userinput></screen> - - <para>Il file <filename><replaceable>nuovo_file</replaceable></filename> - sostituisce - <filename><replaceable>vecchio_file</replaceable></filename>. - In realtà tutto quello che è stato fatto è aver - aggiornato l'elemento della tabella di directory per attribuire al file - il nuovo nome. Il contenuto del file rimane come era prima della - rinominazione.</para> - </sect2> - - <sect2 id="getting-started-file-mant-comm-rm"> - <title>rm - elimina un file</title> - - <para>Il comando &man.rm.1; elimina un file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>rm [<replaceable>opzioni</replaceable>] - <replaceable>filename</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-i</option></entry> - - <entry>interattivo (chiede conferma prima di procedere)</entry> - </row> - - <row> - <entry><option>-r</option></entry> - - <entry>rimuove una directory ricorsivamente, rimuovendo prima i file - e le directory sottostanti</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>non chiede conferma prima di procedere - (ignora <option>-i</option>)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>rm <replaceable>filename</replaceable></userinput></screen> - - <para>Visualizzando il contento della directory si vedrà che quel - file non esiste più. In realtà tutto quello che è - stato fatto è aver rimosso l'elemento dalla tabella di directory - e marcato l'inode come <quote>non usato</quote>. Il contenuto del file - è ancora sul disco, ma ora il sistema non ha più modo di - identificare quei blocchi di dati con il nome del file eliminato. Non - c'è un certo comando per - <quote><emphasis>riprendere</emphasis></quote> un file che è - stato eliminato in questo modo. Per questa ragione molti utenti alle - prime armi effettuano un alias del comando di eliminazione in - <command>rm -i</command> dove l'opzione <option>-i</option> chiede di - confermare prima di rimuovere il file. Simili alias sono generalmente - messi nel file <filename>.cshrc</filename> per la shell C (vedere il - <link linkend="shells">Capitolo 5</link>).</para> - </sect2> - - <sect2 id="getting-started-file-mant-comm-file-perm"> - <title>Permessi dei file</title> - - <para>Ciascun file e directory ha permessi che stabiliscono chi può - <emphasis>leggerlo</emphasis>, <emphasis>scriverlo</emphasis> e/o - <emphasis>eseguirlo</emphasis>. Per scoprire i permessi assegnati a un - file, può essere usato il comando &man.ls.1; con l'opzione - <option>-l</option>. Quando si ha la necessità di conoscere il - gruppo per il quale i permessi sono stati assegnati si può usare - l'opzione <option>-g</option> insieme a <command>ls -l</command> - (solamente BSD).</para> - - <para>Quando si usa il comando <command>ls -lg</command> su un file - (<command>ls -l</command> su SysV) l'output sarà mostrato come - il seguente:</para> - - <screen>-rwxr-x--- user Unixgroup size Month nn hh:mm filename</screen> - - <para>La zona dedicata ai caratteri e trattini - (<emphasis>-rwxr-x---</emphasis>) è la zona che mostra il tipo di - file e i permessi del file, come spiegato nella precedente sezione. - Quindi la stringa di permessi dell'esempio, - <emphasis>-rwxr-x---</emphasis>, permette al proprietario - <username>user</username> del file di leggerlo, modificarlo ed - eseguirlo; gli utenti del gruppo <groupname>Unixgroup</groupname> del - file possono leggerlo ed eseguirlo; gli <emphasis>altri</emphasis> - utenti del sistema non possono accedere in alcun modo al file.</para> - </sect2> - - <sect2 id="getting-started-file-mant-comm-chmod"> - <title>chmod - cambio dei permessi del file</title> - - <para>Il comando per cambiare i permessi ad un elemento (file, directory, - ecc.) è &man.chmod.1; (cambio dei modi). La sintassi richiede - l'uso del comando con tre cifre (rappresentanti i permessi del - <emphasis>proprietario</emphasis> (<emphasis>u</emphasis>), i permessi - del <emphasis>gruppo</emphasis> (<emphasis>g</emphasis>) e i permessi - degli <emphasis>altri</emphasis> utenti (<emphasis>o</emphasis>)) - seguite da un argomento (che può essere un nome di un file o una - lista di file e directory). Oppure può essere usato con una - rappresentazione simbolica dei permessi, indicando a quale utenza questi - vanno applicati.</para> - - <para>Ogni tipo di permesso è rappresentato dal proprio numero - equivalente:</para> - - <para><emphasis>lettura=4, scrittura=2, esecuzione=1</emphasis></para> - - <para>o da singoli caratteri:</para> - - <para><emphasis>lettura=r, scrittura=w, esecuzione=x</emphasis></para> - - <para>Il permesso <emphasis>4</emphasis> o <emphasis>r</emphasis> - specifica il permesso di <emphasis>lettura</emphasis>. Se i permessi - desiderati sono lettura e scrittura, il 4 (rappresentante la lettura) e - il 2 (rappresentante la scrittura) sono addizionati per ottenere il - permesso 6. Quindi, un permesso settato a 6 vorrà concedere un - permesso di lettura e di scrittura.</para> - - <para>Alternativamente si può usare una notazione simbolica che - usa un carattere rappresentativo per l'utenza a cui ci si riferisce, uno - per il permesso e uno per l'operazione, dove l'operazione può - essere:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry>+</entry> - - <entry>aggiunge permessi</entry> - </row> - - <row> - <entry>-</entry> - - <entry>rimuove permessi</entry> - </row> - - <row> - <entry>=</entry> - - <entry>setta permessi</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Quindi per settare i permessi di lettura e di scrittura per il - proprietario del file si usa nella notazione simbolica - <emphasis>u=rw</emphasis>.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3.5in"> - - <tbody> - <row> - <entry><command>chmod <replaceable>nnn</replaceable> - [<replaceable>lista argomenti</replaceable>]</command></entry> - - <entry>modalità numerica</entry> - </row> - - <row> - <entry><command>chmod [<replaceable>chi</replaceable>] - <replaceable>op</replaceable> - [<replaceable>perm</replaceable>] - [<replaceable>lista argomenti</replaceable>]</command></entry> - - <entry>modalità simbolica</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>dove <replaceable>nnn</replaceable> sono i tre numeri rappresentanti - i permessi del <emphasis>proprietario</emphasis>, del - <emphasis>gruppo</emphasis> e degli <emphasis>altri</emphasis> utenti; - <replaceable>chi</replaceable> può essere - <emphasis>u,g,o</emphasis> oppure <emphasis>a</emphasis> (tutti) e - <replaceable>perm</replaceable> può essere - <emphasis>r,w,x</emphasis>. Nella notazione simbolica si può - separare la specifica dei permessi con una virgola, come mostrato - nell'esempio qui sotto.</para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry><option>-f</option></entry> - - <entry>forza (nessun messaggio di errore viene generato se la - modifica non ha avuto successo)</entry> - </row> - - <row> - <entry><option>-R</option></entry> - - <entry>discesa ricorsiva attraverso la struttura delle directory - e cambio dei modi</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Se i permessi desiderati per il <filename>file1</filename> sono: - <emphasis>proprietario</emphasis>: lettura, scrittura ed esecuzione; - <emphasis>gruppo</emphasis>: lettura ed esecuzione; - <emphasis>altri</emphasis>: lettura ed esecuzione; il comando da usare - è:</para> - - <para><command>chmod 755 file1</command> oppure - <command>chmod u=rwx,go=rx file1</command></para> - - <note> - <para>Quando si assegnano i permessi a un file per l'utenza - <emphasis>gruppo</emphasis> e per l'utenza <emphasis>altri</emphasis> - è necessario che il minimo permesso di esecuzione (inteso come - permesso di accesso) per la directory nella quale il file è - posizionato sia abilitato. Un semplice modo per far questo è - posizionarsi nella directory nella quale i permessi devo essere - garantiti e digitare:</para> - - <para><command>chmod 711 .</command> oppure - <command>chmod u=rw,+x .</command> oppure - <command>chmod u=rwx,go=x .</command></para> - - <para>dove il punto (.) indica la - <emphasis>directory corrente</emphasis>.</para> - </note> - </sect2> - - <sect2 id="getting-started-file-mant-comm-chown"> - <title>chown - cambio del proprietario del file</title> - - <para>Il proprietario di un file può essere cambiato con il comando - &man.chown.8;. Su molte versioni Unix questo può essere - realizzato solo dal super-user, ad esempio, un utente normale non - può attribuire i suoi file ad altri proprietari. &man.chown.8; - è usato come qui sotto, dove &prompt.root; rappresenta il prompt - di shell per il super-user.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3.5in"> - - <tbody> - <row> - <entry><command>chown [<replaceable>opzioni</replaceable>] - <replaceable>utente</replaceable>[:<replaceable>gruppo</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>(SVR4)</entry> - </row> - - <row> - <entry><command>chown [<replaceable>opzioni</replaceable>] - <replaceable>utente</replaceable>[.<replaceable>gruppo</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>(BSD)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry><option>-R</option></entry> - - <entry>discende ricorsivamente attraverso la struttura della - directory</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>forza, non riporta errori</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.root; <userinput>chown <replaceable>nuovo_proprietario file</replaceable></userinput></screen> - </sect2> - - <sect2 id="getting-started-file-mant-comm-chgrp"> - <title>chgrp - cambio del gruppo del file</title> - - <para>Con il comando &man.chgrp.1; tutti possono cambiare il gruppo dei - propri file in un altro gruppo di appartenenza.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>chgrp [<replaceable>opzioni</replaceable>] - <replaceable>gruppo file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry><option>-R</option></entry> - - <entry>discende ricorsivamente attraverso la struttura della - directory</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>forza, non riporta errori</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>chgrp <replaceable>nuovo_gruppo file</replaceable></userinput></screen> - </sect2> - </sect1> - - <sect1 id="getting-started-display-comm"> - <title>Comandi di visualizzazione</title> - - <para>Ci sono alcuni comandi che si possono usare per - <emphasis>visualizzare</emphasis> o <emphasis>esaminare</emphasis> un - file. Alcuni di questi sono editor che verranno trattati più - avanti. Qui si illustreranno alcuni comandi normalmente usati per - visualizzare un file.</para> - - <table frame=all id="getting-started-table-display-comm"> - <title>Comandi di visualizzazione</title> - - <tgroup cols="2"> - <colspec colwidth="3.5in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>echo - [<replaceable>stringa</replaceable>]</command></entry> - - <entry>riporta in standard ouptut una stringa di testo</entry> - </row> - - <row> - <entry><command>cat [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>concatena (lista) un file</entry> - </row> - - <row> - <entry><command>more</command> (o <command>less</command> o - <command>pg</command>) - <command>[<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>visualizzazione paginata di un file di testo</entry> - </row> - - <row> - <entry><command>head [<replaceable>-numero</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>visualizza le prime 10 (o <replaceable>-numero</replaceable>) - linee di un file</entry> - </row> - - <row> - <entry><command>tail [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>visualizza le ultime linee (o parte) di un file</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="getting-started-display-comm-echo"> - <title>echo - mostra un'espressione</title> - - <para>Il comando &man.echo.1; viene utilizzato per ripetere l'argomento - assegnato al comando nel dispositivo standard di uscita. Normalmente - l'argomento termina con un carattere di alimentazione di linea, ma si - può specificare un'opzione per impedirlo.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>echo [<replaceable>stringa</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry><option>-n</option></entry> - - <entry>non stampa new-line (BSD, shell built-in)</entry> - </row> - - <row> - <entry><option>\c</option></entry> - - <entry>non stampa new-line (SVR4)</entry> - </row> - - <row> - <entry><option>\0<replaceable>n</replaceable></option></entry> - - <entry>dove <replaceable>n</replaceable> è il codice del - carattere ASCII a 8 bit (SVR4)</entry> - </row> - - <row> - <entry><option>\t</option></entry> - - <entry>tab (SVR4)</entry> - </row> - - <row> - <entry><option>\f</option></entry> - - <entry>form-feed (emissione carta) (SVR4)</entry> - </row> - - <row> - <entry><option>\n</option></entry> - - <entry>new-line (SVR4)</entry> - </row> - - <row> - <entry><option>\v</option></entry> - - <entry>tab verticale (SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>echo Hello Class</userinput></screen> - - <para>oppure</para> - - <screen>&prompt.user; <userinput>echo "Hello Class"</userinput></screen> - - <para>Per impedire il carattere di fine linea:</para> - - <screen>&prompt.user; <userinput>echo -n Hello Class</userinput></screen> - - <para>oppure</para> - - <screen>&prompt.user; <userinput>echo "Hello Class \c"</userinput></screen> - - <para>dove il modo utilizzato nell'ultimo esempio dipende dal comando - &man.echo.1; usato.</para> - - <para>L'opzione <option>\<replaceable>x</replaceable></option> deve essere - interna a un paio di caratteri di quoting singoli o doppi, con o senza - altri caratteri di stringa.</para> - </sect2> - - <sect2 id="getting-started-display-comm-cat"> - <title>cat - concatena un file</title> - - <para>Il comando di concatenazione &man.cat.1; visualizza il contenuto di - un file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>cat [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.7in"> - - <tbody> - <row> - <entry><option>-n</option></entry> - - <entry>precede ogni linea con un numero</entry> - </row> - - <row> - <entry><option>-v</option></entry> - - <entry>visualizza i caratteri non stampabili, eccetto tab, - new-line e form-feed</entry> - </row> - - <row> - <entry><option>-e</option></entry> - - <entry>visualizza $ alla fine di ogni linea (prima di new-line) - (quando usato con l'opzione <option>-v</option>)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable></userinput></screen> - - <para>Si possono specificare una serie di file su linea di comando e - &man.cat.1; li concatenerà ciascuno a turno, seguendo lo stesso - ordine di immissione, esempio:</para> - - <screen>&prompt.user; <userinput>cat <replaceable>file1 file2 file3</replaceable></userinput></screen> - </sect2> - - <sect2 id="getting-started-display-comm-more-less-pg"> - <title>more, less e pg - visualizzazione paginata di un file</title> - - <para>&man.more.1;, &man.less.1; e <command>pg</command> permettono di - visualizzare il contenuto di un file una schermata (pagina) alla volta. - Inoltre permettono di ritornare sulla precedente pagina, di cercare - parole, ecc. Questi comandi potrebbero non essere disponibili sul - proprio sistema Unix.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>more [<replaceable>opzioni</replaceable>] - [<replaceable>+/schema</replaceable>] - [<replaceable>filename</replaceable>]</command></para> - - <para><command>less [<replaceable>opzioni</replaceable>] - [<replaceable>+/schema</replaceable>] - [<replaceable>filename</replaceable>]</command></para> - - <para><command>pg [<replaceable>opzioni</replaceable>] - [<replaceable>+/schema</replaceable>] - [<replaceable>filename</replaceable>]</command></para> - - <para><emphasis>Opzioni</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="4"> - <colspec colwidth="1.5in"> - - <colspec colwidth="1.5in"> - - <colspec colwidth="1.5in"> - - <thead> - <row> - <entry>more</entry> - - <entry>less</entry> - - <entry>pg</entry> - - <entry>Azione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><option>-c</option></entry> - - <entry><option>-c</option></entry> - - <entry><option>-c</option></entry> - - <entry>pulisce lo schermo prima di visualizzare</entry> - </row> - - <row> - <entry></entry> - - <entry><option>-i</option></entry> - - <entry></entry> - - <entry>ignora differenza tra maiuscole e minuscole</entry> - </row> - - <row> - <entry><option>-w</option></entry> - - <entry>default</entry> - - <entry>default</entry> - - <entry>non esce alla fine dell'input, ma si mette in attesa di - comandi</entry> - </row> - - <row> - <entry><option>-<replaceable>linee</replaceable></option></entry> - - <entry></entry> - - <entry><option>-<replaceable>linee</replaceable></option></entry> - - <entry># (numero di) linee di avanzamento</entry> - </row> - - <row> - <entry><option>+/<replaceable>schema</replaceable></option></entry> - - <entry><option>+/<replaceable>schema</replaceable></option></entry> - - <entry><option>+/<replaceable>schema</replaceable></option></entry> - - <entry>ricerca lo schema (pattern)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Controlli interni</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><command>more</command></entry> - - <entry>visualizza (una schermata alla volta) il file - specificato</entry> - </row> - - <row> - <entry align="center"><emphasis><spazio></emphasis></entry> - - <entry>per vedere la schermata successiva</entry> - </row> - - <row> - <entry align="center"><emphasis><return>o<CR></emphasis></entry> - - <entry>per avanzare di una linea</entry> - </row> - - <row> - <entry align="center"><emphasis>q</emphasis></entry> - - <entry>per uscire</entry> - </row> - - <row> - <entry align="center"><emphasis>h</emphasis></entry> - - <entry>help</entry> - </row> - - <row> - <entry align="center"><emphasis>b</emphasis></entry> - - <entry>torna alla schermata precedente</entry> - </row> - - <row> - <entry align="center"><emphasis>/<replaceable>parola</replaceable></emphasis></entry> - - <entry>cerca <replaceable>parola</replaceable> nel resto del - file</entry> - </row> - - <row> - <entry></entry> - - <entry>vedere le <emphasis>pagine man</emphasis> per altre - opzioni</entry> - </row> - - <row> - <entry><command>less</command></entry> - - <entry>simile a &man.more.1;, vedere le - <emphasis>pagine man</emphasis> per le opzioni</entry> - </row> - - <row> - <entry><command>pg</command></entry> - - <entry>in SVR4 equivale a &man.more.1; (pagina)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="getting-started-display-comm-head"> - <title>head - mostra l'inizio di un file</title> - - <para>Il comando &man.head.1; visualizza l'inizio di un file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>head [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-n - <replaceable>numero</replaceable></option></entry> - - <entry>numero di linee da visualizzare partendo dall'inizio del - file</entry> - </row> - - <row> - <entry><option>-<replaceable>numero</replaceable></option></entry> - - <entry>come sopra</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Di default &man.head.1; mostra le prime 10 linee del file. Si - possono visualizzare più (o meno) linee con l'opzione - <option>-n <replaceable>numero</replaceable></option> o - <option>-<replaceable>numero</replaceable></option>, ad esempio, per - visualizzare le prime 40 linee:</para> - - <screen>&prompt.user; <userinput>head -40 <replaceable>filename</replaceable></userinput></screen> - - <para>oppure</para> - - <screen>&prompt.user; <userinput>head -n 40 <replaceable>filename</replaceable></userinput></screen> - </sect2> - - <sect2 id="getting-started-display-comm-tail"> - <title>tail - mostra la fine di un file</title> - - <para>Il comando &man.tail.1; visualizza la fine di un file.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>tail [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-<replaceable>numero</replaceable></option></entry> - - <entry>numero di linee da visualizzare, partendo dalla fine del - file</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Di default &man.tail.1; mostra le ultime 10 linee del file, ma si - può specificare un numero differente di linee o di byte, o un - differente punto di inizio all'interno del file. Per visualizzare le - ultime 30 linee di un file, usare l'opzione - <option>-<replaceable>numero</replaceable></option>:</para> - - <screen>&prompt.user; <userinput>tail -30 <replaceable>filename</replaceable></userinput></screen> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/unix-introduction/glossary/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/glossary/chapter.sgml deleted file mode 100644 index 5f242d64be..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/glossary/chapter.sgml +++ /dev/null @@ -1,596 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<glossary> - <title>Glossario</title> - - <glossdiv> - <title>A</title> - - <glossentry> - <glossterm>account</glossterm> - - <glossdef> - <para>struttura di dati che contiene alcune informazioni (come password, - nome reale, username, indirizzo, ecc.) relative a un utente</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>alias</glossterm> - - <glossdef> - <para>meccanismo che permette di invocare un comando (o una combinazione - di comandi) attraverso un nome pseudonimo precedentemente - assegnato</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>B</title> - - <glossentry> - <glossterm>background</glossterm> - - <glossdef> - <para>riferito alla modalità di gestione dell'esecuzione di un - processo in shell corrente: la shell non aspetta la fine di tale - processo ma continua la sua normale esecuzione</para> - - <para><emphasis>Vedere:</emphasis> - <link linkend="shells-job-control">sezione 5.5</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>backquote</glossterm> - - <glossdef> - <para>caratteri speciali utilizzati per inserire in una stringa l'output - del comando specificato tra questi caratteri</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shell-programming-sett-param-val">sezione 9.2</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>built-in</glossterm> - - <glossdef> - <para>comandi incorporati nel codice della shell</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shells-built-in-comm">sezione 5.1</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>C</title> - - <glossentry> - <glossterm>case sensitive</glossterm> - - <glossdef> - <para>distinzione tra lettere maiuscole e lettere minuscole</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>D</title> - - <glossentry> - <glossterm>directory-home</glossterm> - - <glossdef> - <para>è la directory dell'utente, nella quale ci si ritrova - (in generale) dopo la fase di login</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-directory-nav-control">sezione - 3.6</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>directory-root</glossterm> - - <glossdef> - <para>è la directory padre di tutte le altre directory (indicata - spesso con il segno /)</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="structure-file-system">sezione 2.2</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>E</title> - - <glossentry> - <glossterm>editor</glossterm> - - <glossdef> - <para>strumenti per manipolare testi (programmi, ecc.)</para> - - <para><emphasis>Vedere:</emphasis> <link linkend="editors">Capitolo - 10</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>EOF</glossterm> - - <glossdef> - <para>sta per <quote>end of file</quote> e indica la fine del - file</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>F</title> - - <glossentry> - <glossterm>filename</glossterm> - - <glossdef> - <para>nome del file</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>file system</glossterm> - - <glossdef> - <para>architettura formata da un insieme di strutture dati che permetto - di organizzare e gestire i dati su disco</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="structure-file-system">sezione 2.2</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>foreground</glossterm> - - <glossdef> - <para>riferito alla modalità di gestione dell'esecuzione di un - processo in shell corrente: la shell aspetta che il processo termini - prima di riprendere la sua esecuzione</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shells-job-control">sezione 5.5</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>G</title> - - <glossentry> - <glossterm>groupid</glossterm> - - <glossdef> - <para>numero che identifica in maniera univoca un gruppo di utenti su un - sistema Unix</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-login-identity">sezione 3.1.4</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>groupname</glossterm> - - <glossdef> - <para>nome che identifica un gruppo su un sistema Unix</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-login-identity">sezione 3.1.4</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>H</title> - - <glossentry> - <glossterm>hard link</glossterm> - - <glossdef> - <para>link fisico tra due file</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="commands-work-files-ln">sezione 8.1.7</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>here document</glossterm> - - <glossdef> - <para>speciale forma di quoting</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shell-programming-here-doc">sezione 9.6</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>history</glossterm> - - <glossdef> - <para>storia dei comandi digitati precedentemente</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shells-history">sezione 5.6</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>I</title> - - <glossentry> - <glossterm>inode</glossterm> - - <glossdef> - <para>struttura di dati contenente informazioni sui file</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="structure-directories-files-inodes">sezione 2.3</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>J</title> - - <glossentry> - <glossterm>job</glossterm> - - <glossdef> - <para>sinonimo di processo</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>K</title> - - <glossentry> - <glossterm>kernel</glossterm> - - <glossdef> - <para>è il cuore del sistema operativo, il posto in cui sono - caricati tutti i driver per i device, gestisce i processi, le - operazione di I/O, ecc.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>L</title> - - <glossentry> - <glossterm>login</glossterm> - - <glossdef> - <para>riferito sia al nome utente di un account Unix (login username) - sia alla fase (fase di login) di accesso a un sistema Unix - (login+password) (il riferimento risulta chiaro dal contesto)</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-login">sezione 3.1</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>M</title> - - <glossentry> - <glossterm>man page</glossterm> - - <glossdef> - <para>pagina del manuale di un sistema Unix</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-get-help">sezione 3.5</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>multi-level file system </glossterm> - - <glossdef> - <para>file system a più livelli organizzati in gerarchia</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="structure-file-system">sezione 2.2</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>multi-processor</glossterm> - - <glossdef> - <para>o multi-tasking; capacità del sistema operativo che - permette di eseguire più programmi (processi) senza doverne - aspettare la terminazione sequenziale</para> - - <para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione - 2.1</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>multi-user</glossterm> - - <glossdef> - <para>capacità del sistema operativo che permette di gestire - più utenti contemporaneamente</para> - - <para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione - 2.1</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>O</title> - - <glossentry> - <glossterm>OS</glossterm> - - <glossdef> - <para>operating system, sistema operativo</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>P</title> - - <glossentry> - <glossterm>password</glossterm> - - <glossdef> - <para>codice segreto di un account Unix utilizzato per autenticare un - utente nel sistema</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-login">sezione 3.1</link> e - <link - linkend="getting-started-login-passwords">sezione 3.1.2</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>path name</glossterm> - - <glossdef> - <para>percorso dei nomi, che indica i <quote>rami</quote> del file - system (directory separate da un /) che bisogna attraversare per - raggiungere un determinato file o directory</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="structure-file-system">sezione 2.2</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>pattern</glossterm> - - <glossdef> - <para>schema</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>pipe/piping</glossterm> - - <glossdef> - <para>meccanismo che porta l'output di un comando nell'input di - un altro</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="special-features-file-redir">sezione 6.2</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>Q</title> - - <glossentry> - <glossterm>quoting</glossterm> - - <glossdef> - <para>tecnica di interpretazione di una stringa da parte della - shell</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shell-programming-quoting">sezione 9.3</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>S</title> - - <glossentry> - <glossterm>script</glossterm> - - <glossdef> - <para>programma scritto nel linguaggio della shell</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="shell-programming-scripts">sezione 9.1</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>shell</glossterm> - - <glossdef> - <para>interprete a linea di comando. È l'interfaccia tra - l'utente e il sistema operativo (kernel)</para> - - <para><emphasis>Vedere:</emphasis> <link linkend="shells">Capitolo - 5</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>simbolic link</glossterm> - - <glossdef> - <para>link simbolico (collegamento tramite path name) tra due file o - directory</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="commands-work-files-ln">sezione 8.1.7</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>system call</glossterm> - - <glossdef> - <para>sono delle procedure (routine) standard, che i programmi utente - utilizzano per accedere ai servizi che il kernel mette - a disposizione</para> - - <para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione - 2.1</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>standard error</glossterm> - - <glossdef> - <para>dispositivo standard di errori (terminale di default)</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="special-features-file-desc">sezione 6.1</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>standard input</glossterm> - - <glossdef> - <para>dispositivo standard di ingresso (tastiera di default)</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="special-features-file-desc">sezione 6.1</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>standard output</glossterm> - - <glossdef> - <para>dispositivo standard di uscita (terminale di default)</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="special-features-file-desc">sezione 6.1</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>super-user</glossterm> - - <glossdef> - <para>o root, utente speciale che amministra un sistema Unix</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>U</title> - - <glossentry> - <glossterm>userid</glossterm> - - <glossdef> - <para>numero che identifica univocamente l'utente su un sistema - Unix</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-login-identity">sezione 3.1.4</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>username</glossterm> - - <glossdef> - <para>o user, nome di un utente Unix (utilizzato nella fase di - login)</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="getting-started-login-identity">sezione 3.1.4</link></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>V</title> - - <glossentry> - <glossterm>verbose</glossterm> - - <glossdef> - <para>modalità di esecuzione di un comando che fornisce molte - informazioni addizionali (utile per gli utenti novizi)</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>W</title> - - <glossentry> - <glossterm>wild card</glossterm> - - <glossdef> - <para>anche conosciuti come meta-caratteri, sono caratteri speciali - utilizzati in alcune circostanze per il confronto/sostituzione di - caratteri</para> - - <para><emphasis>Vedere:</emphasis> <link - linkend="special-features-wildcard">sezione 6.4</link></para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>word-wrap</glossterm> - - <glossdef> - <para>meccanismo che invia alla prossima riga l'intera parola fuori - margine</para> - </glossdef> - </glossentry> - </glossdiv> -</glossary> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "glossary") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/history/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/history/chapter.sgml deleted file mode 100644 index 1ca0607634..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/history/chapter.sgml +++ /dev/null @@ -1,113 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="history"> - <title>Storia di Unix</title> - - <para>1965 Bell Laboratory con la collaborazione del MIT e della General - Eletric lavorano per la realizzazione di un nuovo sistema operativo, - Multics, il quale vuole fornire, come principali caratteristiche, - capacità multi-utente (multi-user), multi-processo (multi-processor) - e un file system multi-livello (gerarchico) - (multi-level file system).</para> - - <para>1969 AT&T era infelice del progresso di Multics e abbandona il - progetto. Ken Thompson, Dennis Ritchie, Rudd Canaday e Doug McIlroy, - alcuni programmatori dei Bell Lab che avevano lavorato nel progetto Multics, - progettano e implementano su un PDP-7 la prima versione del file system Unix - insieme ad alcune utility. Il nome Unix è stato assegnato da parte - di Brian Kernighan come gioco di parole su Multics.</para> - - <para>1 Gennaio 1970 Inizio di Unix.</para> - - <para>1971 Il sistema ora gira su un PDP-11 con 16 Kbyte di memoria, di cui - 8 Kbyte per i programmi utente, e con un disco di 512 Kbyte.</para> - - <para>Il suo primo reale impiego è come strumento di manipolazione - del testo in esclusiva per il dipartimento dei Bell Lab. Quel tipo di - utilizzo giustifica ulteriormente la ricerca e lo sviluppo attraverso la - programmazione di gruppo. Unix attira i programmatori perchè - è stato progettato con queste caratteristiche:</para> - - <itemizedlist> - <listitem> - <para>ambiente di programmazione;</para> - </listitem> - - <listitem> - <para>semplice interfaccia utente;</para> - </listitem> - - <listitem> - <para>semplici utility che possono essere combinate per realizzare potenti - funzioni;</para> - </listitem> - - <listitem> - <para>file system gerarchico (ad albero);</para> - </listitem> - - <listitem> - <para>semplice interfacciamento con i dispositivi, in armonia con il - formato dei file;</para> - </listitem> - - <listitem> - <para>sistema multi-utente e multi-processo;</para> - </listitem> - - <listitem> - <para>architettura indipendente e trasparente all'utente.</para> - </listitem> - </itemizedlist> - - <para>1973 Unix è riscritto prevalentemente in C, un nuovo linguaggio - di programmazione sviluppato da Dennis Ritchie. La codifica in questo - linguaggio di alto livello diminuisce fortemente lo sforzo necessario per - portare Unix su nuove macchine.</para> - - <para>1974 Thompson e Ritchie descrivono in una relazione pubblicata in un - comunicato dell'ACM il nuovo sistema operativo Unix. Unix genera - entusiasmo nella comunità accademica che lo vede come un potente - strumento di insegnamento per lo studio della programmazione di sistemi. - Poichè il decreto del 1956 impedisce ad AT&T di - commercializzare il prodotto, viene concessa una licenza - all'Università per scopi educativi e una per esistenza - commerciale.</para> - - <para>1977 Ci sono circa 500 siti Unix nel mondo.</para> - - <para>1980 BSD 4.1 (software sviluppato da Berkeley).</para> - - <para>1983 SunOS, BSD 4.2, Sys V.</para> - - <para>1984 Ci sono circa 100.000 siti Unix che girano su differenti - piattaforme hardware, con differenti capacità.</para> - - <para>1988 AT&T e Sun Microsystem sviluppano System V Release 4 (SVR4). - Questo sarà in futuro implementato in UnixWare e Solaris 2.</para> - - <para>1993 Novell compra Unix da AT&T.</para> - - <para>1994 Novell porta il nome <emphasis>UNIX</emphasis> a X/OPEN.</para> - - <para>1995 Santa Cruz Operation compra UnixWare da Novell. Santa Cruz - Operation e Hewlett-Packard annunciano lo sviluppo di una versione di Unix a - 64 bit.</para> - - <para>1996 International Data Corporation prevede che nel 1997 ci saranno 3 - milioni di sistemi Unix nel mondo.</para> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/preface/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/preface/chapter.sgml deleted file mode 100644 index 4d1e628959..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/preface/chapter.sgml +++ /dev/null @@ -1,107 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<preface id="preface"> - <title>Prefazione</title> - - <para>Questo documento è rivolto in prevalenza a quelle persone che si - avvicinano per la prima volta a Unix, ma non solo.</para> - - <para>Prima di iniziare ad esporre la traduzione di questo documento - volevo dire alcune cose. Alcune parole del testo originale in lingua - inglese non sono state tradotte in italiano, vuoi perchè la - rispettiva traduzione in italiano non è efficiente in termini di - comprensibilità, vuoi perchè è di uso comune far - riferimento a queste direttamente in lingua inglese (vedi login, quoting, - built-in, here document, shell, background, pipe, script, ecc.). Inoltre mi - è sembrato opportuno e logico modificare l'ultima sezione di questo - documento, bibliografia di Unix (testi in lingua inglese), in una breve - bibliografia italiana di Unix. Infine ho aggiunto un glossario dove poter - trovare un elenco dei termini inglesi più caldi incontrati in questo - documento e il loro significato corrispondente.</para> - - <para>Non mi resta che augurarvi una buona lettura.</para> - - <bridgehead id="preface-conv" renderas=sect1>Convenzioni usate in questo - libro</bridgehead> - - <para>Per fornire un testo consistente e facile da leggere, sono state - seguite numerose convenzioni in tutto il libro.</para> - - <bridgehead id="preface-typographic-conv" renderas=sect2>Convenzioni - Tipografiche</bridgehead> - - <variablelist> - <varlistentry> - <term><emphasis>Italico</emphasis></term> - - <listitem> - <para>Un font <emphasis>italico</emphasis> è per i nomi dei file, - per gli URL, per il testo enfatizzato, e per il primo utilizzo dei - termini tecnici.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>Monospazio</varname></term> - - <listitem> - <para>Un font <varname>monospazio</varname> è usato per i - messaggi di errore, i comandi, le variabili di ambiente, i nomi di - host, i nomi degli utenti, i nomi dei gruppi, i nomi dei device, le - variabili, e i frammenti di codice.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><application>Grassetto</application></term> - - <listitem> - <para>Un font in <application>grassetto</application> è per le - applicazioni, i comandi, e i tasti.</para> - </listitem> - </varlistentry> - </variablelist> - - <bridgehead id="preface-command-conv" renderas="sect2">Input - dell'Utente</bridgehead> - - <para>I tasti sono visualizzati in <keycap>grassetto</keycap> per - differenziarli dal testo normale. Le combinazioni di tasti che devono - essere digitate contemporaneamente sono visualizzate con un - `<literal>+</literal>' tra i tasti, come:</para> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>Alt</keycap> - <keycap>Del</keycap> - </keycombo></para> - - <para>I tasti che devono essere digitati in sequenza saranno separati da - virgole, come per esempio:</para> - - <para><keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>X</keycap> - </keycombo>, <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>S</keycap> - </keycombo></para> - - <para>Vuol dire che l'utente deve digitare i tasti <keycap>Ctrl</keycap> e - <keycap>X</keycap> contemporaneamente e poi i tasti <keycap>Ctrl</keycap> e - <keycap>S</keycap>.</para> -</preface> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "preface") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/shell-programming/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/shell-programming/chapter.sgml deleted file mode 100644 index ecc583eb4a..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/shell-programming/chapter.sgml +++ /dev/null @@ -1,1703 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="shell-programming"> - <title>Programmazione di shell</title> - - <sect1 id="shell-programming-scripts"> - <title>Script di shell</title> - - <para>Si possono scrivere programmi di shell creando script contenenti - alcuni comandi di shell. La prima linea dello script deve iniziare con - #!, che indica al kernel che lo script è direttamente eseguibile. - Si fa immediatamente seguire a quel simbolo il nome della shell - o del programma da eseguire (gli spazi sono permessi), usando un path name - assoluto. Generalmente si possono avere fino a 32 caratteri, forse di - più su alcuni sistemi e si può includere qualche opzione. - Quindi per inizializzare uno script per la shell Bourne la prima linea - dovrà essere:</para> - - <programlisting>#! /bin/sh</programlisting> - - <para>e per la shell C:</para> - - <programlisting>#! /bin/csh -f</programlisting> - - <para>dove l'opzione <option>-f</option> indica che la shell non deve - leggere il file <filename>.cshrc</filename>. Alcuni spazi bianchi - seguenti il magico simbolo, #!, sono opzionali.</para> - - <para>Inoltre si deve specificare che lo script è eseguibile, - settando gli opportuni bit sul file con il comando &man.chmod.1;, - esempio:</para> - - <screen>&prompt.user; <userinput>chmod +x <replaceable>shell_script</replaceable></userinput></screen> - - <para>All'interno degli script il simbolo # indica un commento da quel punto - fino alle fine della linea; #! è un caso speciale se trovato come - primo carattere del file.</para> - </sect1> - - <sect1 id="shell-programming-sett-param-val"> - <title>Settare i valori dei parametri</title> - - <para>I valori di un parametro, ad esempio <literal>param</literal>, sono - assegnati così:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <thead> - <row> - <entry>Shell Bourne</entry> - - <entry>Shell C</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>param=<replaceable>valore</replaceable></command></entry> - - <entry><command>set param = - <replaceable>valore</replaceable></command></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>dove <replaceable>valore</replaceable> è una valida stringa che - può essere chiusa tra caratteri di quoting singoli - ('<replaceable>valore</replaceable>') o doppi - ("<replaceable>valore</replaceable>") per permettere alcuni spazi bianchi - all'interno del valore della stringa. Quando viene racchiusa con dei - caratteri backquote (`<replaceable>valore</replaceable>`) la stringa viene - prima valutata dalla shell e viene sostituita con il risultato ottenuto - dalla valutazione. Questo viene spesso usato per eseguire un comando, - sostituendo l'output del comando a <replaceable>valore</replaceable>, - esempio:</para> - - <screen>$ <userinput>day=`date +%a`</userinput></screen> - - <screen>$ <userinput>echo $day</userinput> -Wed</screen> - - <para>Dopo che il valore del parametro è stato assegnato, si accede - al valore corrente del parametro usando la notazione - <literal>$param</literal> o <literal>${param}</literal>.</para> - </sect1> - - <sect1 id="shell-programming-quoting"> - <title>Quoting</title> - - <para>Le stringhe possono essere quotate per controllare il modo in cui la - shell interpreta alcuni parametri o variabili all'interno della stringa. - Per delimitare le stringhe si possono usare i caratteri di quoting singoli - (') o doppi ("). I caratteri di quoting doppi definiscono la stringa e - permettono la sostituzione di variabile. I carattere di quoting singoli - definiscono la stringa ma impediscono la sostituzione di variabile. - Un backslash (\) prima di un carattere viene posto per effettuare un - escape su di esso, specificando che il sistema deve considerare il - carattere letteralmente, senza assegnarli alcun significato speciale. - Queste tecniche di quoting possono essere usate per separare una variabile - da una stringa fissa. Come esempio si consideri la variabile - <literal>var</literal>, a cui è stata assegnata il valore - <literal>bat</literal>, e la stringa costante <literal>man</literal>. Se - si vuole combinare queste stringhe per ottenere come risultato la stringa - <literal>batman</literal> si può sperimentare:</para> - - <para><literal>$varman</literal></para> - - <para>ma questo non funzionerà, poichè la shell tenta di - valutare una variabile chiamata <literal>varman</literal>, che non esiste. - Per ottenere il risultato desiderato si ha la necessità di separare - le stringhe tramite quoting o di isolare la variabile con delle parentesi - graffe ({}), in questo modo:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><literal>"$var"man</literal></entry> - - <entry>- quoting sulla variabile</entry> - </row> - - <row> - <entry><literal>$var""man</literal></entry> - - <entry>- separazione di parametri</entry> - </row> - - <row> - <entry><literal>$var"man"</literal></entry> - - <entry>- quoting sulla costante</entry> - </row> - - <row> - <entry><literal>$var''man</literal></entry> - - <entry>- separazione di parametri</entry> - </row> - - <row> - <entry><literal>$var'man'</literal></entry> - - <entry>- quoting sulla costante</entry> - </row> - - <row> - <entry><literal>$var\man</literal></entry> - - <entry>- separazione di parametri</entry> - </row> - - <row> - <entry><literal>${var}man</literal></entry> - - <entry>- si isola la variabile</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Queste funzionano tutte poichè ", ', \, { e } non sono validi - caratteri per un nome di variabile.</para> - - <para>Non si può usare</para> - - <para><literal>'$var'man</literal></para> - - <para><literal>\$varman</literal></para> - - <para>poichè impediscono che la sostituzione della variabile - prenda posto.</para> - - <para>Quando si usano le parentesi graffe, queste devono circondare - solamente la variabile, senza includere il $, altrimenti saranno incluse - come parte del risultato della stringa, esempio:</para> - - <screen>&prompt.user; <userinput>echo {$var}man</userinput> -{bat}man</screen> - </sect1> - - <sect1 id="shell-programming-var"> - <title>Variabili</title> - - <para>Alcune variabili sono automaticamente inizializzate all'avvio della - shell. Queste variabili permettono di riferirsi agli argomenti su linea - di comando.</para> - - <para>Queste <emphasis>variabili di shell</emphasis> sono:</para> - - <table frame=all id="shell-programming-table-shell-var"> - <title>Variabili di shell</title> - - <tgroup cols="4"> - <colspec colwidth="1in"> - - <colspec colwidth="5in"> - - <colspec colwidth="0.3in"> - - <colspec colwidth="0.3in"> - - <thead> - <row> - <entry align="center">Variabile</entry> - - <entry align="center">Uso</entry> - - <entry align="center">sh</entry> - - <entry align="center">csh</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>$#</literal></entry> - - <entry>numero di argomenti su linea di comando</entry> - - <entry align="center">x</entry> - - <entry align="center"></entry> - </row> - - <row> - <entry><literal>$-</literal></entry> - - <entry>opzioni fornite alla shell</entry> - - <entry align="center">x</entry> - - <entry align="center"></entry> - </row> - - <row> - <entry><literal>$?</literal></entry> - - <entry>valore di uscita dell'ultimo comando eseguito</entry> - - <entry align="center">x</entry> - - <entry align="center"></entry> - </row> - - <row> - <entry><literal>$$</literal></entry> - - <entry>numero id del processo corrente</entry> - - <entry align="center">x</entry> - - <entry align="center">x</entry> - </row> - - <row> - <entry><literal>$!</literal></entry> - - <entry>numero di processo dell'ultimo comando messo in - background</entry> - - <entry align="center">x</entry> - - <entry align="center"></entry> - </row> - - <row> - <entry><literal>$<replaceable>n</replaceable></literal></entry> - - <entry>argomento su linea di comando, dove - <replaceable>n</replaceable> varia tra 1 e 9, leggendo da sinistra - a destra</entry> - - <entry align="center">x</entry> - - <entry align="center">x</entry> - </row> - - <row> - <entry><literal>$0</literal></entry> - - <entry>il nome della shell corrente o del programma corrente</entry> - - <entry align="center">x</entry> - - <entry align="center">x</entry> - </row> - - <row> - <entry><literal>$*</literal></entry> - - <entry>tutti gli argomenti su linea di comando ("$1 $2 ... - $9")</entry> - - <entry align="center">x</entry> - - <entry align="center">x</entry> - </row> - - <row> - <entry><literal>$@</literal></entry> - - <entry>tutti gli argomenti su linea di comando, ciascuno quotato - separatamente ("$1" "$2" ... "$9")</entry> - - <entry align="center">x</entry> - - <entry align="center"></entry> - </row> - - <row> - <entry><literal>$argv[<replaceable>n</replaceable>]</literal></entry> - - <entry>seleziona l'<replaceable>n-esima</replaceable> parola dalla - lista di input</entry> - - <entry align="center"></entry> - - <entry align="center">x</entry> - </row> - - <row> - <entry><literal>${argv[<replaceable>n</replaceable>]}</literal></entry> - - <entry>come sopra</entry> - - <entry align="center"></entry> - - <entry align="center">x</entry> - </row> - - <row> - <entry><literal>$#argv</literal></entry> - - <entry>riporta il numero di parole della lista di input</entry> - - <entry align="center"></entry> - - <entry align="center">x</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>L'uso di queste variabili può essere illustrato con alcuni - semplici script. Per la shell Bourne lo script potrebbe essere:</para> - - <programlisting>#!/bin/sh -echo "$#:" $# -echo '$#:' $# -echo '$-:' $- -echo '$?:' $? -echo '$$:' $$ -echo '$!:' $! -echo '$3:' $3 -echo '$0:' $0 -echo '$*:' $* -echo '$@:' $@</programlisting> - - <para>Quando viene eseguito con alcuni argomenti, mostra i valori delle - variabili di shell, esempio:</para> - - <screen>$ <userinput>./variables.sh one two three four five</userinput> -5: 5 -$#: 5 -$-: -$?: 0 -$$: 12417 -$!: -$3: three -$0: ./variables.sh -$*: one two three four five -$@: one two three four five</screen> - - <para>Come si può notare, si ha la necessità di usare un - carattere di quoting singolo per impedire alla shell di assegnare - significati speciali a $. Il carattere di quoting doppio, come nella - prima struttura <command>echo</command>, permette di rimpiazzare il nome - della variabile con il suo valore.</para> - - <para>Similmente, per le variabili della shell C si possono illustrare le - sostituzioni di variabili tramite il seguente script:</para> - - <programlisting>#!/bin/csh -f -echo '$$:' $$ -echo '$3:' $3 -echo '$0:' $0 -echo '$*:' $* -echo '$argv[2]:' $argv[2] -echo '${argv[4]}:' ${argv[4]} -echo '$#argv:' $#argv</programlisting> - - <para>che quando eseguito con alcuni argomenti mostra il risultato - seguente:</para> - - <screen>&prompt.user; <userinput>./variables.csh one two three four five -</userinput> -$$: 12419 -$3: three -$0: ./variables.csh -$*: one two three four five -$argv[2]: two -${argv[4]}: four -$#argv: 5</screen> - </sect1> - - <sect1 id="shell-programming-param-sost"> - <title>Sostituzione di parametri</title> - - <para>Si può riferirsi ai parametri in modo astratto e sostituire i - loro valori in base a delle condizioni, usando gli operatori definiti qui - sotto. Ancora una volta si possono usare le parentesi graffe ({}) per - isolare la variabile e il suo operatore.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><literal>$<replaceable>parametro</replaceable></literal></entry> - - <entry>sostituisce questa stringa con il valore di - <replaceable>parametro</replaceable></entry> - </row> - - <row> - <entry><literal>${<replaceable>parametro</replaceable>}</literal></entry> - - <entry>come sopra. Le parentesi sono d'aiuto se non c'è - separazione tra questo parametro e una stringa adiacente.</entry> - </row> - - <row> - <entry><literal>$<replaceable>parametro</replaceable>=</literal></entry> - - <entry>setta <replaceable>parametro</replaceable> a - <emphasis>null</emphasis>.</entry> - </row> - - <row> - <entry><literal>${<replaceable>parametro</replaceable>-<replaceable>default</replaceable>}</literal></entry> - - <entry>se <replaceable>parametro</replaceable> non è settato - allora si usa <replaceable>default</replaceable> come valore. - <replaceable>parametro</replaceable> non viene resettato.</entry> - </row> - - <row> - <entry><literal>${<replaceable>parametro</replaceable>=<replaceable>default</replaceable>}</literal></entry> - - <entry>se <replaceable>parametro</replaceable> non è settato - allora lo si setta a <replaceable>default</replaceable> e si usa - il nuovo valore</entry> - </row> - - <row> - <entry><literal>${<replaceable>parametro</replaceable>+<replaceable>nuovo_valore</replaceable>}</literal></entry> - - <entry>se <replaceable>parametro</replaceable> è settato - allora si usa <replaceable>nuovo_valore</replaceable> altrimenti - non si usa nulla. <replaceable>parametro</replaceable> non viene - resettato.</entry> - </row> - - <row> - <entry><literal>${<replaceable>parametro</replaceable>?<replaceable>messaggio</replaceable>}</literal></entry> - - <entry>se <replaceable>parametro</replaceable> non è settato - allora si visualizza il messaggio. Se - <replaceable>parametro</replaceable> è settato allora si - usa il valore corrente.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Non ci sono spazi nei precedenti operatori. Se un due punti (:) viene - inserito prima di -, =, + o ? allora si effettua prima un test per vedere - se il parametro ha un settaggio <emphasis>non-nullo</emphasis>.</para> - - <para>La shell C ha alcuni modi aggiuntivi per la sostituzione di - parametri:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><literal>$lista[<replaceable>n</replaceable>]</literal></entry> - - <entry>seleziona l'<replaceable>n-esima</replaceable> parola dalla - lista</entry> - </row> - - <row> - <entry><literal>${lista[<replaceable>n</replaceable>]}</literal></entry> - - <entry>come sopra</entry> - </row> - - <row> - <entry><literal>$#lista</literal></entry> - - <entry>riporta il numero di parole in lista</entry> - </row> - - <row> - <entry><literal>$?<replaceable>parametro</replaceable></literal></entry> - - <entry>ritorna 1 se il parametro è settato, 0 - altrimenti</entry> - </row> - - <row> - <entry><literal>${?<replaceable>parametro</replaceable>}</literal></entry> - - <entry>come sopra</entry> - </row> - - <row> - <entry><literal>$<</literal></entry> - - <entry>legge una linea da &man.stdin.4;</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Inoltre la shell C definisce l'array - <literal>$argv[<replaceable>n</replaceable>]</literal> per - contenere gli <replaceable>n</replaceable> argomenti della linea di - comando e <literal>$#argv</literal> per il numero di argomenti, come - specificato in <link linkend="shell-programming-table-shell-var">Tabella - 9.1</link>.</para> - - <para>Per illustrare alcune di queste caratteristiche si userà il - seguente script di prova:</para> - - <programlisting>#!/bin/sh -param0=$0 -test -n "$1" && param1=$1 -test -n "$2" && param2=$2 -test -n "$3" && param3=$3 -echo 0: $param0 -echo "1: ${param1-1}: \c" ;echo $param1 -echo "2: ${param2=2}: \c" ;echo $param2 -echo "3: ${param3+3}: \c" ;echo $param3</programlisting> - - <para>Inizialmente nello script si verifica con &man.test.1; se la - variabile esiste; in tal caso si setta il parametro al suo valore. - Dopo si riportano i valori, effettuando le sostituzioni.</para> - - <para>Nella prima esecuzione dello script non vengono forniti - argomenti:</para> - - <screen>$ <userinput>./parameter.sh</userinput> -0: ./parameter.sh # trova sempre $0 -1: 1: # sostituisce 1, ma non assegna questo valore -2: 2: 2 # sostituisce 2 e assegna questo valore -3: : # non sostituisce</screen> - - <para>In questa seconda esecuzione dello script si forniscono alcuni - argomenti:</para> - - <screen>$ <userinput>./parameter one two three</userinput> -0: ./parameter.sh # trova sempre $0 -1: one: one # non sostituisce, ha già un valore -2: two: two # non sostituisce, ha già un valore -3: 3: three # sostituisce 3 ma non assegna questo valore</screen> - </sect1> - - <sect1 id="shell-programming-here-doc"> - <title>Here document</title> - - <para>Un <emphasis>here document</emphasis> è una forma di quoting - che permette alle variabili di shell di essere sostituite. È una - forma speciale di redirezione che inizia con una linea contenente - solamente <emphasis><<<replaceable>PAROLA</replaceable></emphasis> - e finisce con una linea contenete solamente - <emphasis><replaceable>PAROLA</replaceable></emphasis>. Nella shell - Bourne si può impedire la sostituzione di shell effettuando un - escape su <emphasis><replaceable>PAROLA</replaceable></emphasis>, mettendo - un \ davanti a <emphasis><replaceable>PAROLA</replaceable></emphasis> - sulla linea di redirezione, esempio - <emphasis><<\<replaceable>PAROLA</replaceable></emphasis>, ma non - sulla linea finale. Per avere lo stesso effetto con la shell C si mette - il \ davanti a <emphasis><replaceable>PAROLA</replaceable></emphasis> in - entrambi i posti.</para> - - <para>Gli script che seguono illustrano questo meccanismo:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="3.3in"> - - <tbody> - <row> - <entry>per la <emphasis>shell Bourne</emphasis>:</entry> - - <entry>e per la <emphasis>shell C:</emphasis></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <programlisting>#!/bin/sh #!/bin/csh -f -fa=fa set fa = fa -non="" set non = "" -cat << EOF cat << EOF -Questo here document Questo here document -$non $fa $non $fa -sostituzione di variabile sostituzione di variabile -EOF EOF -cat << \EOF cat << \EOF -Questo here document Questo here document -$non $fa $non $fa -sostituzione di variabile sostituzione di variabile -EOF \EOF</programlisting> - - <para>Entrambi gli output producono:</para> - - <screen>Questo here document -fa -sostituzione di variabile -Questo here document -$non $fa -sostituzione di variabile</screen> - - <para>Nella parte superiore dell'esempio le variabili di shell - <literal>$non</literal> e <literal>$fa</literal> sono sostituite. - Nella parte inferiore queste variabili vengono trattate come delle - semplici stringhe di testo senza effettuare la sostituzione.</para> - </sect1> - - <sect1 id="shell-programming-int-input"> - <title>Input interattivo</title> - - <para>Gli script di shell possono accettare input interattivo per - inizializzare parametri all'interno dello script stesso.</para> - - <sect2 id="shell-programming-int-input-sh"> - <title>Sh</title> - - <para>&man.sh.1; utilizza il comando built-in <command>read</command> per - leggere una linea di input, esempio:</para> - - <para><command>read param</command></para> - - <para>Questo può essere illustrato con un semplice script:</para> - - <programlisting>#!/bin/sh -echo "Inserisci una frase \c" # /bin/echo che richiede "\c" per - # impedire un newline -read param -echo param=$param</programlisting> - - <para>Quando questo script viene eseguito, viene richiesto l'input, che - viene poi mostrato nel risultato:</para> - - <screen>$ <userinput>./read.sh</userinput> -<prompt>Inserisci una frase</prompt> <userinput>hello frank</userinput> # E' stato digitato hello frank <return> -param=hello frank</screen> - </sect2> - - <sect2 id="shell-programming-int-input-csh"> - <title>Csh</title> - - <para>&man.csh.1; usa il simbolo <literal>$<</literal> per leggere una - linea da &man.stdin.4;, esempio:</para> - - <para><command>set param = $<</command></para> - - <para>Gli spazi bianchi intorno al segno di uguale sono importanti. - Il seguente script illustra come usarlo:</para> - - <programlisting>#!/bin/csh -f - echo -n "Inserisci una frase" # Questo echo built-in richiede -n - # per impedire un newline - set param = $< - echo param=$param</programlisting> - - <para>Quindi chiede l'input e lo mostra nel risultato:</para> - - <screen>&prompt.user; <userinput>./read.csh</userinput> -<prompt>Inserisci una frase</prompt> <userinput>hello frank</userinput> # E' stato digitato hello frank <return> -param=hello frank</screen> - </sect2> - </sect1> - - <sect1 id="shell-programming-functions"> - <title>Funzioni</title> - - <para>La shell Bourne permette di definire funzioni. Queste sono molto - simili agli alias della shell C, ma permettono più - flessibilità. Una funzione ha la forma:</para> - - <para><command><replaceable>funzione</replaceable> () { - <replaceable>comando</replaceable>; }</command></para> - - <para>dove lo spazio dopo { e il punto e virgola (;) sono obbligatori; - il punto e virgola può essere omesso facendo precedere a } un - newline. Spazi e newline aggiuntivi sono permessi. - Alcuni esempi di funzioni possono essere visti nel semplice file - <filename>.profile</filename> discusso nei primi capitoli, dove si avevano - delle funzioni per <command>ls</command> e <command>ll</command>:</para> - - <para><command>ls() { /bin/ls -sbF "$@";}</command></para> - - <para><command>ll() { ls -al "$@";}</command></para> - - <para>La prima funzione ridefinisce &man.ls.1; affinchè le opzioni - <option>-sbF</option> siano sempre fornite dal comando standard - <command>/bin/ls</command> e in modo da agire in base all'input fornito, - <literal>$@</literal>. La seconda di queste funzioni prende il valore - corrente di <command>ls</command> (la funzione precedente) e aggiunge le - opzioni <option>-al</option>.</para> - - <para>Le funzioni sono molto utili negli script di shell. Il seguente - script è una versione semplificata di uno script utilizzato per - effettuare automaticamente il backup su nastro delle partizioni di - sistema.</para> - - <programlisting>#!/bin/sh -# Script cron per un completo backup del sistema -HOST=`/bin/uname -n` -admin=frank -Mt=/bin/mt -Dump=/usr/sbin/ufsdump -Mail=/bin/mailx -device=/dev/rmt/0n -Rewind="$Mt -f $device rewind" -Offline="$Mt -f $device rewoffl" -# Failure - exit -failure () { - $Mail -s "Backup fallito - $HOST" $admin << EOF_failure - $HOST - Script cron backup fallito. A quanto pare non c'è il nastro nel dispositivo. - EOF_failure - exit 1 - } -# Dump failure - exit -dumpfail () { - $Mail -s "Backup fallito - $HOST" $admin << EOF_dumpfail - $HOST - Script cron backup fallito. A quanto pare non c'è il nastro nel dispositivo. - EOF_dumpfail - exit 1 - } -# Success -success () { - $Mail -s "Backup completato con successo - $HOST" $admin << EOF_success - $HOST - Script cron backup apparentemente riuscito. Il file /etc/dumpdates è: - `/bin/cat /etc/dumpdates` - EOF_success - } -# Conferma nastro nel device -$Rewind || failure -$Dump 0uf $device / || dumpfail -$Dump 0uf $device /usr || dumpfail -$Dump 0uf $device /home || dumpfail -$Dump 0uf $device /var || dumpfail -($Dump 0uf $device /var/spool/mail || dumpfail) && success -$Offline</programlisting> - - <para>Questo script illustra alcuni argomenti che sono stati trattati in - questo documento. Lo script inizia settando i valori di alcuni parametri. - <literal>HOST</literal> viene inizializzato dall'output di un comando, - <literal>admin</literal> è l'amministratore di sistema, - <literal>Mt</literal>, <literal>Dump</literal> e <literal>Mail</literal> - sono nomi di programmi, <literal>device</literal> è il dispositivo - speciale usato per accedere al nastro, <literal>Rewind</literal> e - <literal>Offline</literal> contengono i comandi rispettivamente per - riavvolgere e scaricare il nastro usando il riferimento - <literal>Mt</literal> e le necessarie opzioni. Vengono definite - tre funzioni: <command>failure</command>, <command>dumpfail</command> e - <command>success</command>. Tutte le funzioni in questo script utilizzano - la forma <emphasis>here document</emphasis> per realizzare il contenuto - della funzione stessa. Si introducono ora gli operatori logici - <emphasis>OR</emphasis> (<emphasis>||</emphasis>) e - <emphasis>AND</emphasis> (<emphasis>&&</emphasis>); ciascuno è - posizionato tra una coppia di comandi. Per l'operatore - <emphasis>OR</emphasis>, il secondo comando viene eseguito solamente se - il primo comando non è stato completato con successo. Per - l'operatore <emphasis>AND</emphasis>, il secondo comando viene - eseguito solamente se il primo comando è stato completato con - successo.</para> - - <para>Lo scopo principale dello script è realizzare i comandi - <command>Dump</command>, ad esempio copiando i file system specificati. - Prima si tenta di eseguire il riavvolgimento del nastro. Se questo - fallisce, <literal>|| failure</literal>, si esegue la funzione - <command>failure</command> e si esce dal programma. Se invece questo ha - successo si procede con il backup a turno di ogni partizione, ogni volta - verificando che questa operazione sia completamente riuscita - (<literal>|| dumpfail</literal>). Se questa operazione non viene eseguita - completamente con successo si esegue la procedura - <command>dumpfail</command> e si esce. Se l'ultimo backup ha successo si - procede con la funzione <command>success</command> (<literal>(...) && - success</literal>). In fine si riavvolge il nastro e lo si manda fuori - linea affinchè altri utenti non possano accidentalmente scriverci - sopra.</para> - </sect1> - - <sect1 id="shell-programming-control-comm"> - <title>Comandi di controllo</title> - - <sect2 id="shell-programming-control-comm-if"> - <title>Condizionale if</title> - - <para>L'espressione condizionale <command>if</command> è - disponibile in entrambe le shell, ma con una diversa sintassi.</para> - - <sect3 id="shell-programming-control-comm-if-sh"> - <title>Sh</title> - - <programlisting><command>if</command> <replaceable>condizione1</replaceable> -<command>then</command> - lista di comandi se <replaceable>condizione1</replaceable> è vera (true) -[<command>elif</command> <replaceable>condizione2</replaceable> - <command>then</command> lista di comandi se <replaceable>condizione2</replaceable> è vera (true)] -[<command>else</command> - lista di comandi se <replaceable>condizione1</replaceable> è falsa (false)] -<command>fi</command></programlisting> - - <para>Le condizioni sono sottoposte usualmente al comando &man.test.1; o - <command>[]</command> (Vedere la <link - linkend="shell-programming-control-comm-test">sezione 9.9.6</link>). - L'<command>if</command> e <command>then</command> devono essere - separati con un newline o un punto e virgola (;).</para> - - <programlisting>#!/bin/sh -if [ $# -ge 2 ] -then - echo $2 -elif [ $# -eq 1 ]; then - echo $1 -else - echo Nessun input -fi</programlisting> - - <para>Sono richiesti degli spazi nel formato della condizione di - &man.test.1;, uno dopo <command>[</command> e uno prima di - <command>]</command>. Questo script potrebbe comportarsi in modo - differente a seconda che ci siano zero, uno o più argomenti su - linea di comando. Iniziando con nessun argomento:</para> - - <screen>$ <userinput>./if.sh</userinput> -Nessun input</screen> - - <para>Ora con un argomento:</para> - - <screen>$ <userinput>./if.sh one</userinput> -one</screen> - - <para>E ora con due argomenti:</para> - - <screen>$ <userinput>./if.sh one two</userinput> -two</screen> - </sect3> - - <sect3 id="shell-programming-control-comm-if-csh"> - <title>Csh</title> - - <programlisting><command>if</command> (<replaceable>condizione</replaceable>) <command><replaceable>comando</replaceable></command> - -oppure- -<command>if</command> (<replaceable>condizione1</replaceable>) <command>then</command> - lista di comandi se <replaceable>condizione1</replaceable> è vera (true) -[<command>else</command> <command>if</command> (<replaceable>condizione2</replaceable>) <command>then</command> - lista di comandi se <replaceable>condizione2</replaceable> è vera (true)] -[<command>else</command> - lista di comandi se <replaceable>condizione1</replaceable> è falsa (false)] -<command>endif</command></programlisting> - - <para>L'<command>if</command> e <command>then</command> devono stare - sulla stessa linea.</para> - - <programlisting>#!/bin/csh -f -if ( $#argv >= 2 ) then - echo $2 -else if ( $#argv == 1 ) then - echo $1 -else - echo Nessun input -endif</programlisting> - - <para>Di nuovo, questo script potrebbe comportarsi in modo differente a - seconda che ci siano zero, uno o più argomenti su linea di - comando. Iniziando con nessun argomento:</para> - - <screen>&prompt.user; <userinput>./if.csh</userinput> -Nessun input</screen> - - <para>Ora con un argomento:</para> - - <screen>&prompt.user; <userinput>./if.csh one</userinput> -one</screen> - - <para>E ora con due argomenti:</para> - - <screen>&prompt.user; <userinput>./if.csh one two</userinput> -two</screen> - </sect3> - </sect2> - - <sect2 id="shell-programming-control-comm-switch-case"> - <title>Condizionale switch e case</title> - - <para>Per scegliere tra una serie di valori di tipo stringa relativi a un - parametro si usa <command>case</command> nella shell Bourne e - <command>switch</command> nella shell C.</para> - - <sect3 id="shell-programming-control-comm-switch-case-sh"> - <title>Sh</title> - - <programlisting><command>case</command> <replaceable>parametro</replaceable> <command>in</command> - <replaceable>schema1</replaceable>[|<replaceable>schema1a</replaceable>]) <replaceable>lista1 di comandi</replaceable>;; - <replaceable>schema2</replaceable>) <replaceable>lista2 di comandi</replaceable> - <replaceable>lista2a di comandi</replaceable>;; - <replaceable>schema3</replaceable>) <replaceable>lista3 di comandi</replaceable>;; - *) ;; -<command>esac</command></programlisting> - - <para>Si possono usare validi nomi di file meta-caratteri all'interno - dello schema per il confronto. I ;; concludono ogni scelta e - possono essere sulla stessa linea della scelta o a seguito di un - newline, dopo l'ultimo comando per la scelta. Schemi alternativi - per la scelta di un particolare caso sono separati da una barra - verticale |, come nel primo schema dell'esempio precedente. I simboli - wild card ,? per indicare un generico carattere e * per far - corrispondere alcuni caratteri, possono essere usati singolarmente o - in modo adiacente per completare stringhe.</para> - - <para>Questo semplice esempio illustra come usare l'espressione - condizionale <command>case</command>.</para> - - <programlisting>#!/bin/sh -case $1 in - aa|ab) echo A - ;; - b?) echo "B \c" - echo $1;; - c*) echo C;; - *) echo D;; -esac</programlisting> - - <para>Quindi quando si esegue lo script con l'argomento posto sulla - colonna di sinistra, lo script risponde come sulla colonna di - destra:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry>aa</entry> - - <entry>A</entry> - </row> - - <row> - <entry>ab</entry> - - <entry>A</entry> - </row> - - <row> - <entry>ac</entry> - - <entry>D</entry> - </row> - - <row> - <entry>bb</entry> - - <entry>B bb</entry> - </row> - - <row> - <entry>bbb</entry> - - <entry>D</entry> - </row> - - <row> - <entry>c</entry> - - <entry>C</entry> - </row> - - <row> - <entry>cc</entry> - - <entry>C</entry> - </row> - - <row> - <entry>fff</entry> - - <entry>D</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3 id="shell-programming-control-comm-switch-case-csh"> - <title>Csh</title> - - <programlisting><command>switch</command> (<replaceable>parametro</replaceable>) -<command>case</command> <replaceable>schema1</replaceable>: - <replaceable>lista1 di comandi</replaceable> - [<command>breaksw</command>] -<command>case</command> <replaceable>schema2</replaceable>: - <replaceable>lista2 di comandi</replaceable> - [<command>breaksw</command>] -<command>default</command>: - lista di comandi per il comportamento di default - [<command>breaksw</command>] -<command>endsw</command></programlisting> - - <para><command>breaksw</command> è opzionale e può essere - usato per interrompere lo switch dopo che si è verificata una - corrispondenza del valore di tipo stringa del parametro confrontato. - <command>Switch</command> non accetta | nella lista degli schemi, ma - permette di unire insieme diverse strutture <command>case</command> - per fornire un simile risultato. Il seguente script di shell C ha lo - stesso comportamento dell'esempio precedente, riferito al - <command>case</command> della shell Bourne.</para> - - <programlisting>#!/bin/csh -f -switch ($1) - case aa: - case ab: - echo A - breaksw - case b?: - echo -n "B " - echo $1 - breaksw - case c*: - echo C - breaksw - default: - echo D -endsw</programlisting> - </sect3> - </sect2> - - <sect2 id="shell-programming-control-comm-for-foreach"> - <title>for e foreach</title> - - <para>Per effettuare un ciclo tra una lista di valori di tipo - stringa si possono usare i comandi <command>for</command> e - <command>foreach</command>.</para> - - <sect3 id="shell-programming-control-comm-for-foreach-sh"> - <title>Sh</title> - - <programlisting><command>for</command> <replaceable>variabile</replaceable> [<command>in</command> <replaceable>lista_di_valori</replaceable>] -<command>do</command> - <replaceable>lista di comandi</replaceable> -<command>done</command></programlisting> - - <para>La <replaceable>lista_di_valori</replaceable> è opzionale, - presupponendo <literal>$@</literal> se nulla viene specificato. Ogni - valore in questa lista viene sostituito sequenzialmente in - <replaceable>variabile</replaceable> fino a quando la lista risulta - vuota. Possono essere usati wild card, che vengono applicati ai - nomi dei file nella directory corrente. Di seguito si illustra il - ciclo <command>for</command> che copia tutti i file che finiscono con - <filename>.old</filename> negli stessi nomi che finiscono però - con <filename>.new</filename>. In questi esempi l'utility - &man.basename.1; estrae la parte base del nome affinchè - si possa modificarne l'estensione.</para> - - <programlisting>#!/bin/sh -for file in *.old -do - newf=`basename $file .old` - cp $file $newf.new -done</programlisting> - </sect3> - - <sect3 id="shell-programming-control-comm-for-foreach-csh"> - <title>Csh</title> - - <programlisting><command>foreach</command> <replaceable>variabile</replaceable> (<replaceable>lista_di_valori</replaceable>) - <replaceable>lista di comandi</replaceable> -<command>end</command></programlisting> - - <para>L'equivalente script in shell C per copiare tutti i file con - estensione <filename>.old</filename> negli stessi file con estensione - <filename>.new</filename> è:</para> - - <programlisting>#!/bin/csh -f -foreach file (*.old) - set newf = `basename $file .old` - cp $file $newf.new -end</programlisting> - </sect3> - </sect2> - - <sect2 id="shell-programming-control-comm-while"> - <title>while</title> - - <para>Il comando <command>while</command> permette di effettuare il ciclo - sempre che la condizione sia vera.</para> - - <sect3 id="shell-programming-control-comm-while-sh"> - <title>Sh</title> - - <programlisting><command>while</command> <replaceable>condizione</replaceable> -<command>do</command> - <replaceable>lista di comandi</replaceable> - [<command>break</command>] - [<command>continue</command>] -<command>done</command></programlisting> - - <para>Un semplice script per illustrare il ciclo - <command>while</command> è:</para> - - <programlisting>#!/bin/sh -while [ $# -gt 0 ] -do - echo $1 - shift -done</programlisting> - - <para>Questo script prende la lista degli argomenti, ne visualizza il - primo, quindi effettua uno shift nella lista verso sinistra, perdendo - il primo elemento originale. Il ciclo viene ripetuto fino a quando - tutti gli argomenti sono stati spostati fuori dalla lista.</para> - - <screen>$ <userinput>./while.sh one two three</userinput> -one -two -three</screen> - </sect3> - - <sect3 id="shell-programming-control-comm-while-csh"> - <title>Csh</title> - - <programlisting><command>while</command> (<replaceable>condizione</replaceable>) - <replaceable>lista di comandi</replaceable> - [<command>break</command>] - [<command>continue</command>] -<command>end</command></programlisting> - - <para>Se si vuole che la condizione sia sempre vera si specifica 1 - all'interno del test condizionale.</para> - - <para>Lo script di shell C equivalente a quello precedente - è:</para> - - <programlisting>#!/bin/csh -f -while ($#argv != 0 ) - echo $argv[1] - shift -end</programlisting> - </sect3> - </sect2> - - <sect2 id="shell-programming-control-comm-until"> - <title>until</title> - - <para>Questo costrutto di ciclo è solamente disponibile per la - shell Bourne.</para> - - <programlisting><command>until</command> <replaceable>condizione</replaceable> -<command>do</command> - lista di comandi se la condizione è falsa -<command>done</command></programlisting> - - <para>La condizione viene verificata all'inizio di ogni ciclo e il ciclo - termina quando la condizione è vera.</para> - - <para>Uno script equivalente all'esempio del <command>while</command> - precedente è:</para> - - <programlisting>#!/bin/sh -until [ $# -le 0 ] -do - echo $1 - shift -done</programlisting> - - <para>Si noti che qui si verifica per <emphasis>minore o - uguale</emphasis>, piuttosto che per <emphasis>maggiore</emphasis>, - poichè il ciclo <command>until</command> viene abilitato da una - condizione <emphasis>falsa</emphasis>.</para> - - <para>Sia il ciclo <command>until</command> che il - <command>while</command> sono solamente eseguiti se la condizione - è soddisfatta. La condizione viene valutata prima - dell'esecuzione dei comandi.</para> - </sect2> - - <sect2 id="shell-programming-control-comm-test"> - <title>test</title> - - <para>Le espressioni condizionali vengono valutate per valori - <emphasis>veri</emphasis> o <emphasis>falsi</emphasis>. Questo, di - solito, viene realizzato con &man.test.1; o equivalentemente con i suoi - operatori <command>[]</command>. Se la condizione viene valutata vera, - viene settato uno stato di uscita zero (<emphasis>TRUE</emphasis>), - altrimenti viene settato uno stato di uscita non-zero - (<emphasis>FALSE</emphasis>). Se non ci sono argomenti viene settato - uno stato di uscita non-zero. Gli operatori utilizzati nelle - espressioni condizionali della shell Bourne sono mostrati qui - sotto.</para> - - <para>Per i <emphasis>nomi di file</emphasis> le opzioni per - &man.test.1; sono date con la sintassi seguente:</para> - - <para><option>-<replaceable>opzione</replaceable></option> - <replaceable>filename</replaceable></para> - - <para>Le opzioni di &man.test.1; disponibili per i - <emphasis>file</emphasis> includono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-r</option></entry> - - <entry>vero se il file esiste ed è leggibile</entry> - </row> - - <row> - <entry><option>-w</option></entry> - - <entry>vero se il file esiste ed è scrivibile</entry> - </row> - - <row> - <entry><option>-x</option></entry> - - <entry>vero se il file esiste ed è eseguibile</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>vero se il file esiste ed è un file regolare (o per - &man.csh.1; esiste e non è una directory)</entry> - </row> - - <row> - <entry><option>-d</option></entry> - - <entry>vero se il file esiste ed è una directory</entry> - </row> - - <row> - <entry><option>-h</option> o <option>-L</option></entry> - - <entry>vero se il file esiste ed è un link - simbolico</entry> - </row> - - <row> - <entry><option>-c</option></entry> - - <entry>vero se il file esiste ed è un file speciale a - caratteri (ad esempio un dispositivo al quale si accede un - carattere alla volta)</entry> - </row> - - <row> - <entry><option>-b</option></entry> - - <entry>vero se il file esiste ed è un file speciale a - blocchi (ad esempio un dispositivo al quale si accede in blocchi - di dati)</entry> - </row> - - <row> - <entry><option>-p</option></entry> - - <entry>vero se il file esiste ed è un file pipe - (fifo)</entry> - </row> - - <row> - <entry><option>-u</option></entry> - - <entry>vero se il file esiste ed è setuid (ad esempio ha il - bit set-user-id settato a s o S nel terzo bit)</entry> - </row> - - <row> - <entry><option>-g</option></entry> - - <entry>vero se il file esiste ed è setgid (ad esempio ha il - bit set-group-id settato a s o S nel sesto bit)</entry> - </row> - - <row> - <entry><option>-k</option></entry> - - <entry>vero se il file esiste e ha lo sticky bit settato (una t - nel nono bit)</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>vero se il file esiste ed ha una dimensione maggiore di - zero</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>C'è un test per i <emphasis>descrittori di - file</emphasis>:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><option>-t - [<replaceable>descrittore_file</replaceable>]</option></entry> - - <entry>vero se l'aperto descrittore del file specificato (1, - &man.stdout.4;, di default) è associato ad un - terminale</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Ci sono test per le <emphasis>stringhe</emphasis>:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><option>-z - <replaceable>stringa</replaceable></option></entry> - - <entry>vero se la lunghezza della stringa è zero</entry> - </row> - - <row> - <entry><option>-n - <replaceable>stringa</replaceable></option></entry> - - <entry>vero se la lunghezza della stringa non è - zero</entry> - </row> - - <row> - <entry><option><replaceable>stringa1</replaceable> = - <replaceable>stringa2</replaceable></option></entry> - - <entry>vero se <replaceable>stringa1</replaceable> è - identica a <replaceable>stringa2</replaceable></entry> - </row> - - <row> - <entry><option><replaceable>stringa1</replaceable> != - <replaceable>stringa2</replaceable></option></entry> - - <entry>vero se <replaceable>stringa1</replaceable> non è - identica a <replaceable>stringa2</replaceable></entry> - </row> - - <row> - <entry><replaceable>stringa</replaceable></entry> - - <entry>vero se la stringa non è nulla</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Ci sono dei confronti per gli interi:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option><replaceable>n1</replaceable> -eq - <replaceable>n2</replaceable></option></entry> - - <entry>vero se gli interi <replaceable>n1</replaceable> e - <replaceable>n2</replaceable> sono uguali</entry> - </row> - - <row> - <entry><option><replaceable>n1</replaceable> -ne - <replaceable>n2</replaceable></option></entry> - - <entry>vero se gli interi <replaceable>n1</replaceable> e - <replaceable>n2</replaceable> non sono uguali</entry> - </row> - - <row> - <entry><option><replaceable>n1</replaceable> -gt - <replaceable>n2</replaceable></option></entry> - - <entry>vero se l'intero <replaceable>n1</replaceable> è - maggiore dell'intero <replaceable>n2</replaceable></entry> - </row> - - <row> - <entry><option><replaceable>n1</replaceable> -ge - <replaceable>n2</replaceable></option></entry> - - <entry>vero se l'intero <replaceable>n1</replaceable> è - maggiore o uguale dell'intero - <replaceable>n2</replaceable></entry> - </row> - - <row> - <entry><option><replaceable>n1</replaceable> -lt - <replaceable>n2</replaceable></option></entry> - - <entry>vero se l'intero <replaceable>n1</replaceable> è - minore dell'intero <replaceable>n2</replaceable></entry> - </row> - - <row> - <entry><option><replaceable>n1</replaceable> -le - <replaceable>n2</replaceable></option></entry> - - <entry>vero se l'intero <replaceable>n1</replaceable> è - minore o uguale dell'intero - <replaceable>n2</replaceable></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Sono disponibili i seguenti <emphasis>operatori - logici</emphasis>:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>!</option></entry> - - <entry>negazione (unaria)</entry> - </row> - - <row> - <entry><option>-a</option></entry> - - <entry>and (binario)</entry> - </row> - - <row> - <entry><option>-o</option></entry> - - <entry>or (binario)</entry> - </row> - - <row> - <entry><option>()</option></entry> - - <entry>le espressioni all'interno di ( ) vengono raggruppate - insieme. Può essere necessario quotare le parentesi ( ) - per impedire alla shell di interpretarle.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="shell-programming-control-comm-csh-log-rel-op"> - <title>Operatori relazionali e logici della shell C</title> - - <para>La shell C possiede un suo set di operatori logici e relazionali - built-in. In ordine decrescente di priorità questi sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>(...)</command></entry> - - <entry>raggruppa espressioni con ( )</entry> - </row> - - <row> - <entry><command>~</command></entry> - - <entry>inverso (il suo complemento)</entry> - </row> - - <row> - <entry><command>!</command></entry> - - <entry>negazione logica</entry> - </row> - - <row> - <entry><command>*, /, %</command></entry> - - <entry>moltiplicazione, divisione, modulo</entry> - </row> - - <row> - <entry><command>+, -</command></entry> - - <entry>addizione, sottrazione</entry> - </row> - - <row> - <entry><command><<, >></command></entry> - - <entry>shift a sinistra di bit, shift a destra di bit</entry> - </row> - - <row> - <entry><command><=</command></entry> - - <entry>minore o uguale</entry> - </row> - - <row> - <entry><command>>=</command></entry> - - <entry>maggiore o uguale</entry> - </row> - - <row> - <entry><command><</command></entry> - - <entry>minore</entry> - </row> - - <row> - <entry><command>></command></entry> - - <entry>maggiore</entry> - </row> - - <row> - <entry><command>= =</command></entry> - - <entry>uguale</entry> - </row> - - <row> - <entry><command>!=</command></entry> - - <entry>non uguale</entry> - </row> - - <row> - <entry><command>=~</command></entry> - - <entry>uguale a stringa</entry> - </row> - - <row> - <entry><command>!~</command></entry> - - <entry>non uguale a stringa</entry> - </row> - - <row> - <entry><command>&</command></entry> - - <entry>AND bit</entry> - </row> - - <row> - <entry><command>^</command></entry> - - <entry>XOR bit (or esclusivo)</entry> - </row> - - <row> - <entry><command>|</command></entry> - - <entry>OR bit</entry> - </row> - - <row> - <entry><command>&&</command></entry> - - <entry>AND logico</entry> - </row> - - <row> - <entry><command>||</command></entry> - - <entry>OR logico</entry> - </row> - - <row> - <entry><command>{<replaceable>comando</replaceable>}</command></entry> - - <entry>vero (1) se il comando termina con uno stato di uscita 0, - falso (0) altrimenti.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Inoltre la shell C permette richieste sul tipo e sui permessi dei - file con gli operatori seguenti:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-r</option></entry> - - <entry>ritorna vero (1) se il file esiste ed è leggibile, - altrimenti ritorna falso (0)</entry> - </row> - - <row> - <entry><option>-w</option></entry> - - <entry>vero se il file esiste ed è scrivibile</entry> - </row> - - <row> - <entry><option>-x</option></entry> - - <entry>vero se il file esiste ed è eseguibile</entry> - </row> - - <row> - <entry><option>-f</option></entry> - - <entry>vero se il file esiste e non è una directory</entry> - </row> - - <row> - <entry><option>-d</option></entry> - - <entry>vero se il file esiste ed è una directory</entry> - </row> - - <row> - <entry><option>-e</option></entry> - - <entry>vero se il file esiste</entry> - </row> - - <row> - <entry><option>-o</option></entry> - - <entry>vero se l'utente corrente è il proprietario del - file</entry> - </row> - - <row> - <entry><option>-z</option></entry> - - <entry>vero se il file ha una lunghezza zero (file vuoto)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/shells/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/shells/chapter.sgml deleted file mode 100644 index 34dd6de037..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/shells/chapter.sgml +++ /dev/null @@ -1,1167 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="shells"> - <title>Shell</title> - - <para>La shell, che sta tra l'utente e il sistema operativo, opera come un - interprete di comandi. Legge l'input dal terminale e traduce i comandi in - azioni, azioni che vengono intraprese dal sistema. La shell è simile - al <emphasis>command.com</emphasis> in DOS. Una volta effettuato il login - nel sistema, viene assegnata la shell di default. La shell, al suo avvio, - legge i suoi file di inizializzazione e può settare alcune - variabili di ambiente, i path di ricerca dei comandi, gli alias dei comandi - ed eseguire qualche comando specificato in questi file.</para> - - <para>La prima shell è stata la shell Bourne, &man.sh.1;. Ogni - piattaforma Unix dispone della shell Bourne o di una shell Bourne - compatibile. Questa shell ha molte buone caratteristiche per controllare - l'input e l'output, ma non è molto adatta all'utente interattivo. - Per andare incontro a quest'ultimo è stata scritta la shell C, - &man.csh.1;, presente ora in molti, ma non tutti, i sistemi Unix. - Questa shell usa una sorta di sintassi C, il linguaggio con cui Unix - è stato scritto, ma ha molte scomode implementazioni - dell'input/output. La shell C ha il controllo dei job, quindi può - mandare un job eseguito in background (<quote>sotto shell</quote>) in - foreground (<quote>in shell corrente</quote>). Inoltre ha la funzione di - history (storia dei comandi) che permette di modificare e ripetere comandi - eseguiti precedentemente.</para> - - <para>Il prompt di default per la shell Bourne è <emphasis>$</emphasis> - (o &prompt.root; per l'utente root). Il prompt di default per la shell C - è &prompt.user;.</para> - - <para>Sono disponibili in rete molte altre shell. Quasi tutte sono basate - sulla shell &man.sh.1; o &man.csh.1; con estensioni per fornire il controllo - dei job alla shell &man.sh.1;, permettere di manipolare il modo di - esecuzione dei comandi su linea di comando, cercare attraverso i comandi - eseguiti precedentemente, fornire il completamento dei nomi dei comandi, - prompt personalizzati, ecc. Alcune delle seguenti shell maggiormente - conosciute potrebbero essere sul proprio amato sistema Unix: la shell korn, - <command>ksh</command>, di David Korn e la shell Bourne Again, &man.bash.1;, - dal progetto GNU Free Software Foundations, entrambe basate su &man.sh.1;, - la shell T-C, &man.tcsh.1; e l'estensione della shell C, - <command>cshe</command>, entrambe bastate su &man.csh.1;. In seguito si - descriveranno alcune delle caratteristiche di &man.sh.1; e &man.csh.1;, - così per iniziare.</para> - - <sect1 id="shells-built-in-comm"> - <title>Comandi built-in</title> - - <para>La shell ha alcuni comandi <emphasis>built-in</emphasis>, chiamati - anche comandi nativi. Questi comandi sono eseguiti direttamente dalla - shell e non chiamano nessun altro programma per essere eseguiti. Questi - comandi built-in possono essere diversi tra le varie shell.</para> - - <sect2 id="shells-built-in-comm-sh"> - <title>Sh</title> - - <para>Per la shell Bourne alcuni dei comandi built-in più - comunemente usati sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><command>:</command></entry> - - <entry>comando null</entry> - </row> - - <row> - <entry><command>.</command></entry> - - <entry>prende (legge ed esegue) i comandi da un file</entry> - </row> - - <row> - <entry><command>case</command></entry> - - <entry>condizionale case</entry> - </row> - - <row> - <entry><command>cd</command></entry> - - <entry>cambia la directory di lavoro (<literal>$HOME</literal> di - default)</entry> - </row> - - <row> - <entry><command>echo</command></entry> - - <entry>scrive una stringa su standard output</entry> - </row> - - <row> - <entry><command>eval</command></entry> - - <entry>valuta l'argomento specificato e ritorna il risultato alla - shell</entry> - </row> - - <row> - <entry><command>exec</command></entry> - - <entry>esegue il comando specificato rimpiazzando la shell - corrente</entry> - </row> - - <row> - <entry><command>exit</command></entry> - - <entry>esce dalla shell corrente</entry> - </row> - - <row> - <entry><command>export</command></entry> - - <entry>condivide le variabili di ambiente specificate con le - successive shell</entry> - </row> - - <row> - <entry><command>for</command></entry> - - <entry>condizionale di ciclo for</entry> - </row> - - <row> - <entry><command>if</command></entry> - - <entry>condizionale if</entry> - </row> - - <row> - <entry><command>pwd</command></entry> - - <entry>mostra la directory di lavoro corrente</entry> - </row> - - <row> - <entry><command>read</command></entry> - - <entry>legge una linea di input da standard input</entry> - </row> - - <row> - <entry><command>set</command></entry> - - <entry>setta le variabili di shell</entry> - </row> - - <row> - <entry><command>test</command></entry> - - <entry>valuta un'espressione come vera o falsa</entry> - </row> - - <row> - <entry><command>trap</command></entry> - - <entry>intrappola un tipo di segnale ed esegue comandi</entry> - </row> - - <row> - <entry><command>umask</command></entry> - - <entry>setta la maschera di default relativa ai permessi da - impostare per i nuovi file</entry> - </row> - - <row> - <entry><command>unset</command></entry> - - <entry>resetta le variabili di shell</entry> - </row> - - <row> - <entry><command>wait</command></entry> - - <entry>attente che un specifico processo termini</entry> - </row> - - <row> - <entry><command>while</command></entry> - - <entry>condizionale di ciclo while</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="shells-built-in-comm-csh"> - <title>Csh</title> - - <para>Per la shell C i comandi built-in maggiormente usati sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>alias</command></entry> - - <entry>assegna un nome a una funzione</entry> - </row> - - <row> - <entry><command>bg</command></entry> - - <entry>mette un job in background</entry> - </row> - - <row> - <entry><command>cd</command></entry> - - <entry>cambia la directory di lavoro corrente</entry> - </row> - - <row> - <entry><command>echo</command></entry> - - <entry>scrive una stringa su standard output</entry> - </row> - - <row> - <entry><command>eval</command></entry> - - <entry>valuta gli argomenti specificati e ritorna il risultato - alla shell</entry> - </row> - - <row> - <entry><command>exec</command></entry> - - <entry>esegue il comando specificato rimpiazzando la shell - corrente</entry> - </row> - - <row> - <entry><command>exit</command></entry> - - <entry>esce dalla shell corrente</entry> - </row> - - <row> - <entry><command>fg</command></entry> - - <entry>porta un job in foreground</entry> - </row> - - <row> - <entry><command>foreach</command></entry> - - <entry>condizionale di ciclo for</entry> - </row> - - <row> - <entry><command>glob</command></entry> - - <entry>crea un'espansione dei nomi di file su una lista senza - tenere conto del carattere di escape \</entry> - </row> - - <row> - <entry><command>history</command></entry> - - <entry>stampa la storia dei comandi della shell</entry> - </row> - - <row> - <entry><command>if</command></entry> - - <entry>condizionale if</entry> - </row> - - <row> - <entry><command>jobs</command></entry> - - <entry>mostra o controlla i job attivi</entry> - </row> - - <row> - <entry><command>kill</command></entry> - - <entry>termina un processo specifico</entry> - </row> - - <row> - <entry><command>limit</command></entry> - - <entry>setta dei limiti sulle risorse di sistema</entry> - </row> - - <row> - <entry><command>logout</command></entry> - - <entry>termina la shell di login</entry> - </row> - - <row> - <entry><command>nice - <replaceable>comando</replaceable></command></entry> - - <entry>abbassa la priorità di schedulazione del - comando specificato</entry> - </row> - - <row> - <entry><command>nohup - <replaceable>comando</replaceable></command></entry> - - <entry>non termina il comando specificato quando la shell - esce</entry> - </row> - - <row> - <entry><command>popd</command></entry> - - <entry>estrae un record dallo stack delle directory e ritorna - nella directory estratta</entry> - </row> - - <row> - <entry><command>pushd</command></entry> - - <entry>cambia nella nuova directory specificata e aggiunge quella - corrente nello stack delle directory</entry> - </row> - - <row> - <entry><command>rehash</command></entry> - - <entry>ricrea la tabella hash dei percorsi (path) per i file - eseguibili</entry> - </row> - - <row> - <entry><command>repeat</command></entry> - - <entry>ripete un comando il numero di volte specificato</entry> - </row> - - <row> - <entry><command>set</command></entry> - - <entry>setta una variabile di shell</entry> - </row> - - <row> - <entry><command>setenv</command></entry> - - <entry>setta una variabile di ambiente per la shell corrente e per - quelle successive</entry> - </row> - - <row> - <entry><command>source</command></entry> - - <entry>prende (legge ed esegue) comandi da un file</entry> - </row> - - <row> - <entry><command>stop</command></entry> - - <entry>ferma uno specifico job in background</entry> - </row> - - <row> - <entry><command>switch</command></entry> - - <entry>condizionale switch</entry> - </row> - - <row> - <entry><command>umask</command></entry> - - <entry>setta la maschera di default relativa ai permessi da - impostare per i nuovi file</entry> - </row> - - <row> - <entry><command>unalias</command></entry> - - <entry>rimuove il nome alias specificato</entry> - </row> - - <row> - <entry><command>unset</command></entry> - - <entry>resetta le variabile di shell</entry> - </row> - - <row> - <entry><command>unsetenv</command></entry> - - <entry>resetta le variabili di ambiente</entry> - </row> - - <row> - <entry><command>wait</command></entry> - - <entry>attente la terminazione di tutti i processi in - background</entry> - </row> - - <row> - <entry><command>while</command></entry> - - <entry>condizionale di ciclo while</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - </sect1> - - <sect1 id="shells-env-var"> - <title>Variabili di ambiente</title> - - <para>Le variabili di ambiente sono usate per fornire informazioni ai - programmi che si utilizzano. Si possono avere sia <emphasis>variabili - globali di ambiente</emphasis> sia <emphasis>variabili locali di - shell</emphasis>. Le variabili globali di ambiente sono inizializzate - attraverso la propria shell di login e i nuovi programmi e le nuove shell - ereditano l'ambiente della shell genitore. Le variabili locali di shell - sono usate solamente dalla shell corrente e non sono passate ad altri - processi. Un processo figlio non può passare una variabile al suo - processo padre.</para> - - <para>Le variabili di ambiente correnti sono visualizzabili con i comandi - &man.env.1; o &man.printenv.1;. Alcune comuni variabili sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><literal>DISPLAY</literal></entry> - - <entry>Il display grafico da usare, esempio - <literal>nyssa:0.0</literal></entry> - </row> - - <row> - <entry><literal>EDITOR</literal></entry> - - <entry>Il path (percorso) del proprio editor di default, esempio - <filename>/usr/bin/vi</filename></entry> - </row> - - <row> - <entry><literal>GROUP</literal></entry> - - <entry>Il proprio gruppo di login, esempio - <username>staff</username></entry> - </row> - - <row> - <entry><literal>HOME</literal></entry> - - <entry>Il path della propria home directory, esempio - <filename>/home/frank</filename></entry> - </row> - - <row> - <entry><literal>HOST</literal></entry> - - <entry>Il nome host del proprio sistema, esempio - <hostid role="hostname">nyssa</hostid></entry> - </row> - - <row> - <entry><literal>IFS</literal></entry> - - <entry>I separatori di campo interni, generalmente alcuni spazi - bianchi (tab, spazio e new-line di default)</entry> - </row> - - <row> - <entry><literal>LOGNAME</literal></entry> - - <entry>Il nome del proprio login, esempio - <username>frank</username></entry> - </row> - - <row> - <entry><literal>PATH</literal></entry> - - <entry>I path per ricercare i comandi, esempio - <filename>/usr/bin:/usr/ucb:/usr/local/bin</filename></entry> - </row> - - <row> - <entry><literal>PS1</literal></entry> - - <entry>La stringa del prompt primario, solamente shell Bourne - (<emphasis>$</emphasis> di default)</entry> - </row> - - <row> - <entry><literal>PS2</literal></entry> - - <entry>La stringa del prompt secondario, solamente shell Bourne - (> di default)</entry> - </row> - - <row> - <entry><literal>SHELL</literal></entry> - - <entry>La propria shell di login, esempio - <filename>/usr/bin/csh</filename></entry> - </row> - - <row> - <entry><literal>TERM</literal></entry> - - <entry>Il proprio tipo di terminale, esempio - <literal>xterm</literal></entry> - </row> - - <row> - <entry><literal>USER</literal></entry> - - <entry>Il proprio username, esempio - <username>frank</username></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Molte variabili di ambiente sono inizializzate automaticamente quando - si effettua il login. Queste possono essere modificate e si possono - definire altre variabili nei propri file di inizializzazione o in - qualunque momento all'interno della shell. Alcune variabili che è - possibile si voglia cambiare sono <literal>PATH</literal> e - <literal>DISPLAY</literal>. La variabile <literal>PATH</literal> - specifica le directory nelle quali saranno automaticamente cercati i - comandi richiesti. Alcuni esempi sono nello script di inizializzazione - di shell mostrato più avanti.</para> - - <para>Per la shell C si può settare una <emphasis>variabile globale - di ambiente</emphasis> con un comando simile a quello usato per - visualizzare le variabili:</para> - - <screen>&prompt.user; <userinput>setenv <replaceable>NOME valore</replaceable></userinput></screen> - - <para>e per la shell Bourne:</para> - - <screen>$ <userinput><replaceable>NOME</replaceable>=<replaceable>valore</replaceable>; export <replaceable>NOME</replaceable></userinput></screen> - - <para>Si possono elencare le proprie variabili globali di ambiente con i - comandi &man.env.1; o &man.printenv.1;. Si possono resettare queste - variabili con i comandi <command>unsetenv</command> (shell C) o - <command>unset</command> (shell Bourne).</para> - - <para>Per settare una <emphasis>variabile locale di shell</emphasis> in - shell C si usa il comando <command>set</command> con la sintassi seguente. - Senza opzioni <command>set</command> mostra tutte le variabili - locali.</para> - - <screen>&prompt.user; <userinput>set <replaceable>nome</replaceable>=<replaceable>valore</replaceable></userinput></screen> - - <para>Per la shell Bourne si setta una variabile locale di shell - con:</para> - - <screen>$ <userinput><replaceable>nome</replaceable>=<replaceable>valore</replaceable></userinput></screen> - - <para>Il valore corrente di una variabile è accessibile attraverso le - notazioni <literal>$<replaceable>nome</replaceable></literal> o - <literal>${<replaceable>nome</replaceable>}</literal>.</para> - </sect1> - - <sect1 id="shells-sh"> - <title>La shell Bourne, sh</title> - - <para>La shell &man.sh.1; usa il file di inizializzazione - <filename>.profile</filename> posto nella home directory dell'utente. - Inoltre può esserci un file di inizializzazione globale del - sistema, esempio <filename>/etc/profile</filename>. In tal caso, il file - globale del sistema sarà eseguito prima di quello locale.</para> - - <para>Un semplice file <filename>.profile</filename> potrebbe essere come - il seguente:</para> - - <programlisting> -PATH=/usr/bin:/usr/ucb:/usr/local/bin:. # setta il PATH -export PATH # rende disponibile PATH per le sotto-shell -# setta il prompt -PS1="{`hostname` `whoami`} " # setta il prompt, $ di default -# funzioni -ls() { /bin/ls -sbF "$@";} -ll() { ls -al "$@";} -# setta il tipo di terminale -stty erase ^H # setta Control-H come tasto di cancellazione -eval `tset -Q -s -m ':?xterm'` # richiede il tipo di terminale, presupponendo - # xterm -# -umask 077</programlisting> - - <para>Ogni volta che si incontra il simbolo #, il resto di quella linea - viene trattato come un commento. Nella variabile <literal>PATH</literal> - ogni directory è separata da due punti (:) e il punto - (<filename>.</filename>) specifica che la directory corrente è nel - proprio path. Se il punto non è nel proprio path, lo stesso - diventa un semplice elemento per eseguire un programma nella directory - corrente:</para> - - <para><command>./<replaceable>programma</replaceable></command></para> - - <para>Non è una buona idea avere il punto (<filename>.</filename>) - nel proprio <literal>PATH</literal>, in modo tale da non eseguire - inavvertitamente un programma senza averne l'intenzione quando si usa il - comando <command>cd</command> per spostarsi in differenti - directory.</para> - - <para>Una variabile settata in <filename>.profile</filename> rimane valida - solo nel contesto della shell di login, a meno che la si esporti con - <command>export</command> o si esegua <filename>.profile</filename> in - un'altra shell. Nell'esempio precedente <literal>PATH</literal> viene - esportato per le sotto-shell. Si può eseguire un file con il - comando built-int <command>.</command> di &man.sh.1;, esempio:</para> - - <para><command>. ./.profile</command></para> - - <para>Si possono creare proprie funzioni. Nell'esempio precedente la - funzione <command>ll</command>, risultato di <command>ls -al</command>, - lavora su un specifico file o directory.</para> - - <para>Con &man.stty.1; il carattere di cancellazione viene settato a - <keycombo action="simul"> - <keycap>Control</keycap> - <keycap>H</keycap> - </keycombo>, che è usualmente il tasto di - <keycap>Backspace</keycap>.</para> - - <para>Il comando &man.tset.1; richiede il tipo di terminale e assume questo - a <literal>xterm</literal> se si conferma con invio - <keycap><CR></keycap>. Questo comando è eseguito con un - comando built-in di shell, <command>eval</command>, che prende il - risultato del comando &man.tset.1; e lo usa come argomento per la shell. - In questo caso l'opzione <option>-s</option> di &man.tset.1; setta - le variabili <literal>TERM</literal> e <literal>TERMCAP</literal> e le - esporta.</para> - - <para>L'ultima linea nell'esempio richiama il comando - <command>umask</command>, facendo in modo che i file e le directory create - non abbiano i permessi di lettura-scrittura-esecuzione per l'utenza - <emphasis>gruppo</emphasis> e <emphasis>altri</emphasis>.</para> - - <para>Per altre informazioni su &man.sh.1;, digitare - <command>man sh</command> al prompt di shell.</para> - </sect1> - - <sect1 id="shells-csh"> - <title>La shell C, csh</title> - - <para>La shell C, &man.csh.1;, usa i file di inizializzazione - <filename>.cshrc</filename> e <filename>.login</filename>. Alcune - versioni usano un file di inizializzazione globale del sistema, ad - esempio <filename>/etc/csh.login</filename>. Il proprio file - <filename>.login</filename> è eseguito solamente quando si effettua - il login. Il proprio file <filename>.cshrc</filename> è eseguito - ogni volta in cui si avvia una shell &man.csh.1;, incluso quando si - effettua il login. Questo file ha molte caratteristiche simili al file - <filename>.profile</filename>, ma un differente modo di composizione. - Qui si usano i comandi <command>set</command> o <command>setenv</command> - per inizializzare una variabile, dove <command>set</command> viene usato - per definire una variabile solo per la shell corrente, mentre - <command>setenv</command> definisce una variabile per la shell corrente e - per le altre sotto-shell. Le variabili di ambiente - <literal>USER</literal>, <literal>TERM</literal> e <literal>PATH</literal> - sono automaticamente importate ed esportate dalle variabili - <literal>user</literal>, <literal>term</literal> e <literal>path</literal> - della shell &man.csh.1;. Quindi <command>setenv</command> non è - necessario per queste variabili. La shell C usa il simbolo ~ per indicare - la directory home dell'utente in un path, come in - <filename>~/.cshrc</filename> o per specificare una directory di login di - un altro utente, come in - <filename>~<replaceable>username</replaceable>/.cshrc</filename>.</para> - - <para>Alcune variabili predefinite usate dalla shell C sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><literal>argv</literal></entry> - - <entry>La lista degli argomenti della shell corrente</entry> - </row> - - <row> - <entry><literal>cwd</literal></entry> - - <entry>La directory di lavoro corrente</entry> - </row> - - <row> - <entry><literal>history</literal></entry> - - <entry>Imposta la dimensione della lista di history (storia) da - memorizzare</entry> - </row> - - <row> - <entry><literal>home</literal></entry> - - <entry>La directory home dell'utente, visualizzabile con - <literal>$HOME</literal></entry> - </row> - - <row> - <entry><literal>ignoreeof</literal></entry> - - <entry>Quando viene settata, EOF (<keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>D</keycap> - </keycombo>) viene ignorato dal terminale</entry> - </row> - - <row> - <entry><literal>noclobber</literal></entry> - - <entry>Quando viene settata si impedisce di redirigere l'output per - sovrascrivere file esistenti</entry> - </row> - - <row> - <entry><literal>noglob</literal></entry> - - <entry>Quando viene settata si impedisce l'espansione dei nomi di - file all'interno di un confronto con uno schema wild card</entry> - </row> - - <row> - <entry><literal>path</literal></entry> - - <entry>I path di ricerca dei comandi, visualizzabile con - <literal>$PATH</literal></entry> - </row> - - <row> - <entry><literal>prompt</literal></entry> - - <entry>Setta il prompt della linea di comando (&prompt.user; di - default)</entry> - </row> - - <row> - <entry><literal>savehist</literal></entry> - - <entry>Numero di volte (di login) che bisogna mantenere memorizzata - la lista di history nel file <filename>.history</filename></entry> - </row> - - <row> - <entry><literal>shell</literal></entry> - - <entry>Il path name completo della shell corrente, visualizzabile - con <literal>$SHELL</literal></entry> - </row> - - <row> - <entry><literal>status</literal></entry> - - <entry>Il codice di stato di uscita dell'ultimo comando - (0=uscita normale, 1=comando fallito)</entry> - </row> - - <row> - <entry><literal>term</literal></entry> - - <entry>Il proprio tipo di terminale, visualizzabile con - <literal>$TERM</literal></entry> - </row> - - <row> - <entry><literal>user</literal></entry> - - <entry>Il proprio nome utente, username, visualizzabile con - <literal>$USER</literal></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Un semplice file <filename>.cshrc</filename> potrebbe essere come il - seguente:</para> - - <programlisting> -set path=(/usr/bin /usr/ucb /usr/local/bin ~/bin . ) # setta il path -set prompt = "{`hostname` `whoami` !} " # setta il promt primario ; - # % di default -set noclobber # non redirige l'output su file esistenti -set ignoreeof #ignora EOF (Ctrl+D) in questa shell -set history=100 savehist=50 # mantiene una lista history di comandi e la - # memorizza tra vari (50) login -# alias -alias h history # alias h per history -alias ls "/usr/bin/ls -sbF" # alias ls per ls -sbF -alias ll ls -al # alias ll per ls -sbFal (combina queste - # opzioni con quelle di ls sopra citate) -alias cd 'cd \!*;pwd' # alias cd per stampare la directory di lavoro - # corrente dopo aver cambiato directory -umask 077</programlisting> - - <para>Alcune nuove caratteristiche che non sono state viste nel - file <filename>.profile</filename> (shell &man.sh.1;) sono - <literal>noclobber</literal>, <literal>ignoreeof</literal> e - <literal>history</literal>. <literal>Noclobber</literal> indica che - l'output non può essere rediretto su un file esistente, mentre - <literal>ignoreeof</literal> specifica che EOF ( - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>D</keycap> - </keycombo>) non causa l'uscita dalla shell di login o l'uscita dal - sistema.</para> - - <para>Con la caratteristica di <emphasis>history</emphasis> si possono - richiamare comandi eseguiti precedentemente e rieseguirli, eventualmente - con dei cambiamenti.</para> - - <para>Un <emphasis>alias</emphasis> permette di usare uno specifico nome - <emphasis>alias</emphasis> al posto del comando completo. Nell'esempio - precedente, il risultato di digitare <command>ls</command> sarà - quello di eseguire <command>/usr/bin/ls -sbF</command>. Si può - verificare quale comando <command>ls</command> è nel proprio path - con il comando &man.which.1;, ad esempio:</para> - - <screen>&prompt.user; <userinput>which ls</userinput> -ls: alias di /usr/bin/ls -sbF</screen> - - <para>Un semplice file <filename>.login</filename> potrebbe essere come il - seguente:</para> - - <programlisting># .login -stty erase ^H # setta Control+H come tasto di eliminazione -set noglob # impedisce un confronto con uno schema wild card -eval `tset -Q -s -m ':?xterm'` # chiede il tipo di terminale presupponendo - # xterm -unset noglob # riabilita un confronto con uno schema wild card</programlisting> - - <para>Abilitando e disabilitando <literal>noglob</literal> intorno a - &man.tset.1; si impedisce di confondere il tipo di terminale con - qualche espansione dei nomi di file in un confronto con uno schema - (pattern) wild card.</para> - - <para>Se si effettuano cambiamenti al proprio file di inizializzazione, - questi possono essere attivati eseguendo il file modificato. Per la shell - &man.csh.1; questo è possibile attraverso il comando - built-in <command>source</command>, esempio:</para> - - <para><command>source .cshrc</command></para> - - <para>Per altre informazioni circa la shell &man.csh.1; digitare - <command>man csh</command> al prompt di shell.</para> - </sect1> - - <sect1 id="shells-job-control"> - <title>Controllo dei job</title> - - <para>Con la shell C, &man.csh.1; e molte altre nuove shell, incluse alcune - nuove shell Bourne, si possono mettere i job in background apporrendo - <emphasis>&</emphasis> al comando, così come succede per la - shell &man.sh.1;. Questo può anche essere fatto, una volta - sottoposto il comando, digitando <keycombo action="simul"> - <keycap>Control</keycap> - <keycap>Z</keycap> - </keycombo> per sospendere il job e quindi <command>bg</command> per - metterlo in background. Per riportarlo in foreground si digita - <command>fg</command>.</para> - - <para>Si possono avere molti job eseguiti in background. Quando questi sono - in background, non sono connessi alla tastiera per l'input, ma possono - tuttavia mostrare l'output nel terminale, sparpagliandolo con qualsiasi - cosa ci sia digitata o mostrata attraverso il job corrente. Si può - avere la necessità di redirigere I/O in o da un file per un job in - background. La propria tastiera è solamente connessa al corrente - job in foreground.</para> - - <para>Il comando built-in <command>jobs</command> permette di elencare i - propri job in background. Si può usare il comando &man.kill.1; per - terminare un job in background. In questi comandi, con la notazione - <emphasis>%<replaceable>n</replaceable></emphasis> ci si riferisce - all'<replaceable>n-esimo</replaceable> job in background, rimpiazzando - <replaceable>n</replaceable> con il numero di job proveniente dall'output - di <command>jobs</command>. Quindi si termina il secondo job in - background con <command>kill %2</command> e si riprende il terzo job in - foreground con <command>fg %3</command>.</para> - </sect1> - - <sect1 id="shells-history"> - <title>History</title> - - <para>La shell C, la shell Korn e molte altre shell avanzate, mantengono - informazioni sui comandi che sono stati eseguiti in shell. La - quantità di storia memorizzabile dipende dalla shell utilizzata. - Qui si descriveranno le caratteristiche di history della shell C.</para> - - <para>Si possono usare le variabili <literal>history</literal> e - <literal>savehist</literal> per settare rispettivamente quanti comandi - della shell corrente memorizzare e per quanti login mantenerli. - Si può inserire in <filename>.cshrc</filename> la seguente linea - per memorizzare 100 comandi della shell corrente fino a 50 prossimi - login.</para> - - <para><command>set history=100 savehist=50</command></para> - - <para>La shell mantiene traccia della storia dei comandi tra un login e - l'altro memorizzandola nel file <filename>~/.history</filename>.</para> - - <para>Si può usare il comando built-in <command>history</command> per - richiamare i comandi eseguiti precedentemente, ad esempio per stampare gli - ultimi 10:</para> - - <screen>&prompt.user; <userinput>history 10</userinput> -52 cd workshop -53 ls -54 cd Unix_intro -55 ls -56 pwd -57 date -58 w -59 alias -60 history -61 history 10</screen> - - <para>Si può ripetere l'ultimo comando digitando - <command>!!</command>:</para> - - <screen>&prompt.user; <userinput>!!</userinput> -53 ls -54 cd Unix_intro -55 ls -56 pwd -57 date -58 w -59 alias -60 history -61 history 10 -62 history 10</screen> - - <para>Si può ripetere un comando numerato introducendo il numero con - un <command>!</command>, esempio:</para> - - <screen>&prompt.user; <userinput>!57</userinput> -date -Tue Apr 9 09:55:31 EDT 1996</screen> - - <para>Si può ripetere un comando che inizia con qualche stringa, - introducendo la parte iniziale univoca della stringa con un - <command>!</command>, esempio:</para> - - <screen>&prompt.user; <userinput>!da</userinput> -date -Tue Apr 9 09:55:31 EDT 1996</screen> - - <para>Quando la shell valuta la linea di comando verifica subito la - sostituzione di history prima di interpretare qualche altra cosa. Per - usare uno di questi caratteri speciali in un comando di shell è - necessario usare un escape, o effettuare un quoting, apporrendo un \ prima - del carattere, esempio \!. I caratteri di sostituzione di history sono - sintetizzati nella tabella seguente:</para> - - <table frame=all id="shells-table-history-sob"> - <title>Comandi di sostituzione di history per la shell C</title> - - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <thead> - <row> - <entry align="center">Comando</entry> - - <entry align="center">Funzione sostitutiva</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>!!</command></entry> - - <entry>ripete l'ultimo comando</entry> - </row> - - <row> - <entry><command>!<replaceable>n</replaceable></command></entry> - - <entry>ripete il comando numero <replaceable>n</replaceable></entry> - </row> - - <row> - <entry><command>!-<replaceable>n</replaceable></command></entry> - - <entry>ripete l'<replaceable>n-esimo</replaceable> comando partendo - dall'ultimo</entry> - </row> - - <row> - <entry><command>!<replaceable>str</replaceable></command></entry> - - <entry>ripete il comando che inizia con la stringa - <replaceable>str</replaceable></entry> - </row> - - <row> - <entry><command>!?<replaceable>str</replaceable>?</command></entry> - - <entry>ripete il comando con all'interno - <replaceable>str</replaceable></entry> - </row> - - <row> - <entry><command>!?<replaceable>str</replaceable>?%</command></entry> - - <entry>seleziona il primo argomento che ha - <replaceable>str</replaceable> all'interno</entry> - </row> - - <row> - <entry><command>!:</command></entry> - - <entry>ripete l'ultimo comando, generalmente usato con una - modifica</entry> - </row> - - <row> - <entry><command>!:<replaceable>n</replaceable></command></entry> - - <entry>seleziona l'<replaceable>n-esimo</replaceable> argomento - dell'ultimo comando (n=0 è il nome del comando)</entry> - </row> - - <row> - <entry><command>!:<replaceable>n</replaceable>-<replaceable>m</replaceable></command></entry> - - <entry>seleziona gli argomenti tra - l'<replaceable>n-esimo</replaceable> e - l'<replaceable>m-esimo</replaceable> argomento dell'ultimo - comando</entry> - </row> - - <row> - <entry><command>!^</command></entry> - - <entry>seleziona il primo argomento dell'ultimo comando (come - <command>!:1</command>)</entry> - </row> - - <row> - <entry><command>!$</command></entry> - - <entry>seleziona l'ultimo argomento dell'ultimo comando</entry> - </row> - - <row> - <entry><command>!*</command></entry> - - <entry>seleziona tutti gli argomenti del precedente comando</entry> - </row> - - <row> - <entry><command>!:<replaceable>n</replaceable>*</command></entry> - - <entry>seleziona gli argomenti - dall'<replaceable>n-esimo</replaceable> all'ultimo, incluso, del - precedente comando</entry> - </row> - - <row> - <entry><command>!:<replaceable>n</replaceable>-</command></entry> - - <entry>seleziona gli argomenti - dall'<replaceable>n-esimo</replaceable> all'ultimo, escluso, del - precedente comando</entry> - </row> - - <row> - <entry><command>^<replaceable>str1</replaceable>^<replaceable>str2</replaceable>^</command></entry> - - <entry>rimpiazza <replaceable>str1</replaceable> con - <replaceable>str2</replaceable> nella prima occorrenza nel - precedente comando</entry> - </row> - - <row> - <entry><command>!<replaceable>n</replaceable>:s/<replaceable>str1</replaceable>/<replaceable>str2</replaceable>/</command></entry> - - <entry>sostituisce <replaceable>str1</replaceable> con - <replaceable>str2</replaceable> nella prima occorrenza - nell'<replaceable>n-esimo</replaceable> comando, finendo con una - sostituzione globale <emphasis>g</emphasis> - </entry> - </row> - </tbody> - </tgroup> - </table> - - <para>Altre informazioni sono descritte nelle <emphasis>pagine - man</emphasis>.</para> - </sect1> - - <sect1 id="shells-change"> - <title>Cambiare la propria shell</title> - - <para>Per cambiare la propria shell si usano generalmente i comandi - &man.chsh.1; o <command>passwd -e</command>. Il flag di opzione, qui - <option>-e</option>, può cambiare da sistema a sistema - (<option>-s</option> su sistemi basati su BSD), quindi verificare le - proprie <emphasis>pagine man</emphasis> sul proprio sistema per un - uso corretto. Alcune volte questa caratteristica è disabilitata. - Se non si riesce a cambiare la propria shell contattare il proprio - amministratore di sistema (System Administrator).</para> - - <para>La nuova shell deve essere un path name assoluto di una valida shell - sul sistema. Le shell disponibili variano da sistema a sistema. Inoltre - il path name assoluto della shell può cambiare. Normalmente, per - la shell Bourne e la shell C sono standard e sono:</para> - - <para><filename>/bin/sh</filename></para> - - <para><filename>/bin/csh</filename></para> - - <para>Alcuni sistemi hanno anche la shell Korn standard normalmente - in:</para> - - <para><filename>/bin/ksh</filename></para> - - <para>Altre shell, che sono poco popolari e non distribuite normalmente - dal venditore di OS, sono &man.bash.1; e &man.tcsh.1;. Queste potrebbero - essere situate in <filename>/bin</filename> o in una directory locale, - esempio <filename>/usr/local/bin</filename> o - <filename>/opt/local/bin</filename>. Se si sceglie una shell non standard - del OS, ci si deve assicurare che quella shell e tutte le shell di login - disponibili sul sistema siano elencate nel file - <filename>/etc/shells</filename>. Se questo file esiste e la propria - shell non è elencata in esso, il demone per il trasferimento di - file, &man.ftpd.8;, ti impedirà una connessione ftp su questa - macchina. Se tale file non esiste, solamente account con shell - <quote>standard</quote> possono connettersi via &man.ftp.1;.</para> - - <para>Si può sempre provare una shell prima di settarla come la - propria shell di default. Per fare questo si deve digitare il nome della - shell che si desidera utilizzare, come qualsiasi altro comando.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/special-features/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/special-features/chapter.sgml deleted file mode 100644 index 2ca527e4b4..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/special-features/chapter.sgml +++ /dev/null @@ -1,565 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="special-features"> - <title>Caratteristiche speciali di Unix</title> - - <para>Uno dei più importanti contributi che Unix ha dato ai sistemi - operativi è stato quello di fornire molti strumenti per creare lavori - ordinari e per ottenere le informazioni che si desiderano. Un altro - è rappresentato dal modo standard con cui i dati sono memorizzati e - trasmessi in un sistema Unix. Questo permette di trasferire dati - <emphasis>in</emphasis> un file, nel terminale video o in un programma, - oppure <emphasis>da</emphasis> un file, dalla tastiera o da un programma, - sempre in maniera uniforme. Il trattamento standardizzato dei dati supporta - due importanti caratteristiche di Unix: la redirezione di I/O e il - piping.</para> - - <para>Con la <emphasis>redirezione dell'output</emphasis>, l'output di un - comando viene rediretto su un file piuttosto che sul terminale video. - Con la <emphasis>redirezione dell'input</emphasis>, l'input di un comando - viene preso da un file piuttosto che dalla tastiera. Sono possibili - altre tecniche di redirezione dell'input e dell'output come - si vedrà in seguito. Con il <emphasis>piping</emphasis>, l'output di - un comando può essere usato come input di un comando successivo. - In questo capitolo si discuterà di alcune delle caratteristiche e - degli strumenti disponibili per gli utenti Unix.</para> - - <sect1 id="special-features-file-desc"> - <title>Descrittori di file</title> - - <para>Ci sono 3 descrittori di file standard:</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <colspec colwidth="1in"> - - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry>&man.stdin.4;</entry> - - <entry>0</entry> - - <entry>Standard input per il programma</entry> - </row> - - <row> - <entry>&man.stdout.4;</entry> - - <entry>1</entry> - - <entry>Standard output dal programma</entry> - </row> - - <row> - <entry>&man.stderr.4;</entry> - - <entry>2</entry> - - <entry>Standard error (output) dal programma</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Normalmente l'input viene preso dalla tastiera o da un file. - Generalmente l'output, sia &man.stdout.4; che &man.stderr.4;, scorre nel - terminale, ma può essere rediretto, uno o entrambi, su uno o - più file.</para> - - <para>Si possono specificare descrittori di file addizionali, denotandoli - con un numero da 3 a 9 e redirigendo l'I/O attraverso questi.</para> - </sect1> - - <sect1 id="special-features-file-redir"> - <title>Redirezione di file</title> - - <para>La redirezione dell'output prende l'output di un comando e lo - posiziona nel file specificato. La redirezione dell'input legge il file - specificato come input per un comando. La tabella che segue sintetizza le - possibili modalità di redirezione.</para> - - <table frame="all" id="special-features-table-file-redir"> - <title>Redirezione di file</title> - - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <thead> - <row> - <entry align="center">SIMBOLO</entry> - - <entry align="center">REDIREZIONE</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>></command></entry> - - <entry>redirezione dell'output</entry> - </row> - - <row> - <entry><command>>!</command></entry> - - <entry>come sopra, ma non tiene conto dell'opzione - <emphasis>noclobber</emphasis> per &man.csh.1;</entry> - </row> - - <row> - <entry><command>>></command></entry> - - <entry>appende l'output</entry> - </row> - - <row> - <entry><command>>>!</command></entry> - - <entry>come sopra, ma non tiene conto dell'opzione - <emphasis>noclobber</emphasis> su &man.csh.1; e crea il file se - non esiste</entry> - </row> - - <row> - <entry><command>|</command></entry> - - <entry>incanala (pipe) l'output nell'input di un altro - comando</entry> - </row> - - <row> - <entry><command><</command></entry> - - <entry>redirezione dell'input</entry> - </row> - - <row> - <entry><command><<<replaceable>Stringa</replaceable></command></entry> - - <entry>legge da standard input fino a quando incontra una linea - contenente solo la parola <replaceable>Stringa</replaceable>. - Anche conosciuto come <emphasis>here document</emphasis> - (vedere il <link - linkend="shell-programming">Capitolo 9</link>)</entry> - </row> - - <row> - <entry><command><<\<replaceable>Stringa</replaceable></command></entry> - - <entry>come sopra, ma le sostituzioni di shell non sono - permesse</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>Un esempio di redirezione dell'output è:</para> - - <para><command>cat <replaceable>file1 file2</replaceable> > - <replaceable>file3</replaceable></command></para> - - <para>Il precedente comando concatena - <filename><replaceable>file1</replaceable></filename> - e <filename><replaceable>file2</replaceable></filename> e redirige (manda) - l'output in <filename><replaceable>file3</replaceable></filename>. Se - <filename><replaceable>file3</replaceable></filename> non esiste, viene - creato. Se esiste, verrà troncato a lunghezza zero prima che il - nuovo contenuto sia inserito, oppure, se l'opzione - <emphasis>noclobber</emphasis> della shell &man.csh.1; è abilitata, - il comando verrà rifiutato (vedere la shell &man.csh.1; nel - <link linkend="shells">Capitolo 5</link>). I file originali - <filename><replaceable>file1</replaceable></filename> e - <filename><replaceable>file2</replaceable></filename> rimarranno - come erano prima dell'esecuzione del comando, ossia due entità - separate.</para> - - <para>L'output viene appeso a un file con la forma:</para> - - <para><command>cat <replaceable>file1</replaceable> >> - <replaceable>file2</replaceable></command></para> - - <para>Questo comando appende il contenuto di - <filename><replaceable>file1</replaceable></filename> alla fine - dell'esistente <filename><replaceable>file2</replaceable></filename> - (<filename><replaceable>file2</replaceable></filename> non viene - soprascritto).</para> - - <para>L'input è rediretto (preso) da un file con la forma:</para> - - <para><command><replaceable>programma</replaceable> < - <replaceable>file</replaceable></command></para> - - <para>Questo comando prende l'input per il - <command><replaceable>programma</replaceable></command> da - <filename><replaceable>file</replaceable></filename>.</para> - - <para>Per incanalare (pipe) l'output di un programma nell'input di un altro - programma si usa la forma:</para> - - <para><command><replaceable>comando</replaceable>|<replaceable>comando</replaceable></command></para> - - <para>Questo comando assegna l'output del primo comando all'input del - secondo comando.</para> - - <sect2 id="special-features-file-redir-csh"> - <title>Csh</title> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><command>>& - <replaceable>file</replaceable></command></entry> - - <entry>redirige &man.stdout.4; e &man.stderr.4; in - <filename><replaceable>file</replaceable></filename></entry> - </row> - - <row> - <entry><command>>>& - <replaceable>file</replaceable></command></entry> - - <entry>appende &man.stdout.4; e &man.stderr.4; in - <filename><replaceable>file</replaceable></filename></entry> - </row> - - <row> - <entry><command>|& - <replaceable>comando</replaceable></command></entry> - - <entry>crea una pipe tra &man.stdout.4;-&man.stderr.4; e il - <command><replaceable>comando</replaceable></command></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Per redirigere &man.stdout.4; e &man.stderr.4; in due file separati - si deve prima redirigere &man.stdout.4; in una sotto-shell, - così:</para> - - <screen>&prompt.user; <userinput>(<replaceable>comando</replaceable> > <replaceable>out_file</replaceable>) >& <replaceable>err_file</replaceable></userinput></screen> - </sect2> - - <sect2 id="special-features-file-redir-sh"> - <title>Sh</title> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><command>2> - <replaceable>file</replaceable></command></entry> - - <entry>redirige &man.stderr.4; in - <filename><replaceable>file</replaceable></filename></entry> - </row> - - <row> - <entry><command>> <replaceable>file</replaceable> - 2>&1</command></entry> - - <entry>redirige &man.stdout.4; e &man.stderr.4; in - <filename><replaceable>file</replaceable></filename></entry> - </row> - - <row> - <entry><command>>> <replaceable>file</replaceable> - 2>&1</command></entry> - - <entry>appende &man.stdout.4; e &man.stderr.4; in - <filename><replaceable>file</replaceable></filename></entry> - </row> - - <row> - <entry><command>2>&1 | - <replaceable>comando</replaceable></command></entry> - - <entry>crea una pipe tra &man.stdout.4;-&man.stderr.4; e il - <replaceable>comando</replaceable></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Per redirigere &man.stdout.4; e &man.stderr.4; in due file separati - si può fare:</para> - - <screen>$ <userinput><replaceable>comando</replaceable> 1> <replaceable>out_file</replaceable> 2> <replaceable>err_file</replaceable></userinput></screen> - - <para>oppure, data la redirezione di default per &man.stdout.4;:</para> - - <screen>$ <userinput><replaceable>comando</replaceable> > <replaceable>out_file</replaceable> 2> <replaceable>err_file</replaceable></userinput></screen> - - <para>Con la shell Bourne si possono specificare altri descrittori di file - (da 3 a 9) e redirigere l'output attraverso questi. Questo può - essere fatto con la forma:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><command><replaceable>n</replaceable>>&<replaceable>m</replaceable></command></entry> - - <entry>redirige il descrittore di file - <replaceable>n</replaceable> sul descrittore di file - <replaceable>m</replaceable></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Questo meccanismo viene utilizzato per mandare &man.stderr.4; nello - stesso posto di &man.stdout.4;, <command>2>&1</command>, quando - si vuole avere i messaggi di errore e i normali messaggi in un file - piuttosto che sul terminale. Se si vuole che solamente i messaggi di - errore vadano nel file, si può usare un descrittore di file di - supporto, 3. Si redirige prima 3 su 2, quindi 2 su 1 e in fine si - redirige 1 su 3.</para> - - <screen>$ <userinput>(<replaceable>comando</replaceable> 3>&2 2>&1 1>&3) > <replaceable>file</replaceable></userinput></screen> - - <para>Questo manda &man.stderr.4; in 1 e &man.stdout.4; in 3 che è - rediretto su 2. In questo modo, in effetti, si ribaltano i normali - significati dei descrittori di file 1 e 2. Si può sperimentare - tutto questo con l'esempio seguente:</para> - - <screen>$ <userinput>(cat <replaceable>file</replaceable> 3>&2 2>&1 1>&3) > <replaceable>errfile</replaceable></userinput></screen> - - <para>Quindi se <filename><replaceable>file</replaceable></filename> - è letto, l'informazione è scartata dall'output del - comando, ma se <filename><replaceable>file</replaceable></filename> non - può essere letto, i messaggi di errore sono messi nel file - <filename><replaceable>errfile</replaceable></filename> per usi - futuri.</para> - - <para>I descrittori di file che sono stati creati possono essere chiusi - con:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><command><replaceable>m</replaceable><&-</command></entry> - - <entry>chiude un descrittore di file di input</entry> - </row> - - <row> - <entry><command><&-</command></entry> - - <entry>chiude &man.stdin.4;</entry> - </row> - - <row> - <entry><command><replaceable>m</replaceable>>&-</command></entry> - - <entry>chiude un descrittore di file di output</entry> - </row> - - <row> - <entry><command>>&-</command></entry> - - <entry>chiude &man.stdout.4;</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - </sect1> - - <sect1 id="special-features-special-comm-simb"> - <title>Altri speciali simboli di comando</title> - - <para>Oltre ai simboli di redirezione dei file ci sono altri - simboli speciali che si possono usare su linea di comando. - Alcuni di questi sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><command>;</command></entry> - - <entry>separatore di comandi</entry> - </row> - - <row> - <entry><command>&</command></entry> - - <entry>esegue un comando in background</entry> - </row> - - <row> - <entry><command>&&</command></entry> - - <entry>esegue il comando seguente (a questo simbolo) solamente se il - comando precedente (a questo simbolo) è stato completato - con successo, esempio: - <command>grep <replaceable>stringa file</replaceable> && cat - <replaceable>file</replaceable></command></entry> - </row> - - <row> - <entry><command>||</command></entry> - - <entry>esegue il comando seguente (a questo simbolo) solamente se il - comando precedente (a questo simbolo) non è stato - completato con successo, esempio: - <command>grep <replaceable>stringa file</replaceable> || - echo "Stringa non trovata."</command></entry> - </row> - - <row> - <entry><command>( )</command></entry> - - <entry>i comandi tra parentesi sono eseguiti in una sotto-shell. - L'output della sotto-shell può essere manipolato come - specificato nelle precedenti sezioni.</entry> - </row> - - <row> - <entry><command>' '</command></entry> - - <entry>segni di quoting letterali. All'interno di questi segni di - quoting non viene permesso ad alcuni caratteri di assumere - significati speciali.</entry> - </row> - - <row> - <entry><command>\</command></entry> - - <entry>considera il prossimo carattere letteralmente - (escape)</entry> - </row> - - <row> - <entry><command>" "</command></entry> - - <entry>segni di quoting regolari. All'interno di questi segni di - quoting sono permesse sostituzioni di variabili e di comando - (non disattivano $ e \ all'interno della stringa).</entry> - </row> - - <row> - <entry><command>`<replaceable>comando</replaceable>`</command></entry> - - <entry>prende l'output del comando e lo sostituisce nell'argomento - su linea di comando</entry> - </row> - - <row> - <entry><command>#</command></entry> - - <entry>ogni cosa che lo segue fino a un newline è un - commento</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Inoltre, il carattere \ può essere usato per effettuare un - escape sul carattere di newline, in modo tale da continuare un - lungo comando su più di una linea fisica di testo.</para> - </sect1> - - <sect1 id="special-features-wildcard"> - <title>Meta caratteri</title> - - <para>La shell e alcuni programmi di manipolazione testo permettono i - <emphasis>meta-caratteri</emphasis>, chiamati anche - <emphasis>wild card</emphasis>, i quali vengono rimpiazzati dai - corrispondenti schemi (pattern). Per i nomi di file questi - <emphasis>meta-caratteri</emphasis> e i loro significati sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><emphasis>?</emphasis></entry> - - <entry>indica un singolo carattere alla posizione - indicata</entry> - </row> - - <row> - <entry><emphasis>*</emphasis></entry> - - <entry>indica una stringa di zero o più - caratteri</entry> - </row> - - <row> - <entry><emphasis>[abc...]</emphasis></entry> - - <entry>indica un carattere tra quelli racchiusi</entry> - </row> - - <row> - <entry><emphasis>[a-e]</emphasis></entry> - - <entry>indica un carattere tra quelli nel range a, b, c, d, - e</entry> - </row> - - <row> - <entry><emphasis>[!def]</emphasis></entry> - - <entry>indica un carattere tra quelli non inclusi in parentesi, - solamente &man.sh.1;</entry> - </row> - - <row> - <entry><emphasis>{abc,bcd,cde}</emphasis></entry> - - <entry>indica un set di caratteri tra quelli inclusi in parentesi, - separati da una virgola (,) (niente spazi), solamente - &man.csh.1;</entry> - </row> - - <row> - <entry><emphasis>~</emphasis></entry> - - <entry>indica la directory home dell'utente corrente, solamente - &man.csh.1;</entry> - </row> - - <row> - <entry><emphasis>~<replaceable>user</replaceable></emphasis></entry> - - <entry>indica la directory home dell'utente specificato, solamente - &man.csh.1;</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: ---> diff --git a/it_IT.ISO8859-15/books/unix-introduction/structure/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/structure/chapter.sgml deleted file mode 100644 index 2a67e9991a..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/structure/chapter.sgml +++ /dev/null @@ -1,175 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="structure"> - <title>Struttura di Unix</title> - - <sect1 id="structure-os"> - <title>Il sistema operativo</title> - - <para>Unix è un sistema operativo a strati. Lo strato più - interno è l'hardware il quale fornisce servizi al OS. Il sistema - operativo (OS), riferito in Unix come al <emphasis>kernel</emphasis>, - interagisce direttamente con l'hardware e fornisce i servizi ai programmi - utente. I programmi utente non necessitano di conoscere informazioni - sull'hardware. Devono solo sapere come interagire con il kernel ed - è quest'ultimo a fornire i servizi richiesti. Uno dei più - grandi fattori che ha contribuito alla richiesta di Unix da parte dei - programmatori è stato che molti programmi utente corretti - sono indipendenti dall'hardware sottostante, e ciò li rende - facilmente trasportabili su nuovi sistemi.</para> - - <para>I programmi utente interagiscono con il kernel attraverso un set di - <emphasis>system call</emphasis> (chiamate di sistema) standard. Queste - system call chiedono dei servizi, servizi che saranno forniti dal kernel. - Così i servizi possono includere un accesso a un file: aprire, - chiudere, leggere, scrivere un file, creare un link o eseguire un file; - creare o aggiornare degli account (informazioni relative ad un utente come - nome, password, ecc.); cambiare il proprietario di un file o di una - directory; spostarsi in una nuova directory; creare, sospendere o - terminare un processo; abilitare l'accesso a un dispositivo hardware e - impostare dei limiti sulle risorse di sistema.</para> - - <para>Unix è un sistema operativo <emphasis>multi-user</emphasis> - (multi-utente) e <emphasis>multi-tasking</emphasis> (multi-processo). Si - possono avere molti utenti <quote>loggati</quote> simultaneamente nel - sistema (multi-user), ognuno dei quali esegue alcuni programmi - (multi-tasking). È compito del kernel mantenere ogni processo e - ogni utente separato e regolare l'accesso all'hardware di sistema, inclusa - la cpu, la memoria, il disco e altri dispositivi di I/O.</para> - -<programlisting> -FIGURA 2.1 Struttura di un sistema Unix - - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -| | -| Programmi | -| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | -| | | | -| | Kernel | | -| | _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | -| | | Hardware | | | -| | |_ _ _ _ _ _ _ _ _ _ _ _ _ _| | | -| | | | -| | System Call | | -| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| | -| | -|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|</programlisting> - </sect1> - - <sect1 id="structure-file-system"> - <title>Il file system</title> - - <para>L'aspetto del file system di Unix è paragonabile alla struttura - rovesciata di un albero. Si parte dall'alto con la directory - <emphasis>root</emphasis>, denotata con <filename>/</filename>, per poi - scendere attraverso sotto-directory sottostanti la root.</para> - -<programlisting> -FIGURA 2.2 Struttura del file system di Unix - - - /(root) 1 livello - | | | | | - bin dev etc tmp usr 2 livello - | | | | | | | | | - sh date csh ttya cua0 passwd group bin lib 3 livello - | - gcc 4 livello - - .... n livello</programlisting> - - <para>Ogni nodo è o un <emphasis>file</emphasis> o una - <emphasis>directory</emphasis> di file, dove quest'ultima può - contenere altri file e directory. Un file o una directory vengono - specificati attraverso il loro <emphasis>path name</emphasis> (percorso - del nome del file o della directory), il quale può essere un path - name assoluto oppure un path name relativo ad un'altra locazione. Un path - name assoluto inizia con la directory root, <filename>/</filename>, - seguono poi i <quote>rami</quote> del file system, ognuno separato da /, - fino a raggiungere il file desiderato, come per esempio:</para> - - <para><filename>/home/condron/source/xntp</filename></para> - - <para>Un path name relativo specifica un percorso relativo ad un altro path - name, che usualmente è la directory di lavoro corrente in cui ci si - trova. Sono ora introdotte due directory speciali:</para> - - <para><filename>.</filename> la directory corrente</para> - - <para><filename>..</filename> la directory padre della directory - corrente</para> - - <para>Quindi se si è in <filename>/home/frank</filename> e si - desidera specificare un path nel modo relativo si può usare:</para> - - <para><filename>../condron/source/xntp</filename></para> - - <para>Questo indica che si deve prima salire di un livello di directory, - quindi passare attraverso la directory <filename>condron</filename>, - seguire la directory <filename>source</filename> e quindi - <filename>xntp</filename>.</para> - </sect1> - - <sect1 id="structure-directories-files-inodes"> - <title>Directory, file e inode Unix</title> - - <para>Ogni <emphasis>directory</emphasis> e ogni <emphasis>file</emphasis> - sono inclusi nella loro directory padre. Nel caso della directory root, - la directory padre è se stessa. Una directory è un file - contenente una tabella che elenca i file contenuti nella directory stessa, - dove ai nomi dei file in lista vengono assegnati i corrispondenti numeri - di <emphasis>inode</emphasis>. Un inode è un file speciale, - progettato per essere letto dal kernel al fine di conoscere alcune - informazioni su ciascun file. Un inode specifica i permessi del file, il - proprietario del file, la data di creazione, quella dell'ultimo accesso e - quella dell'ultima modifica del file e la posizione fisica dei blocchi di - dati sul disco che contengono il file.</para> - - <para>Il sistema non richiede qualche struttura particolare per i dati - contenuti nel file. Il file può essere ASCII o binario o una - combinazione di questi e può rappresentare dati testuali, uno - script di shell, un codice oggetto compilato per un programma, una tabella - di directory, robaccia o qualunque cosa si voglia.</para> - - <para>Non c'è un'intestazione, una traccia, un'etichetta o il - carattere <emphasis>EOF</emphasis> come parte del file.</para> - </sect1> - - <sect1 id="structure-programs"> - <title>Programmi Unix</title> - - <para>Un <emphasis>programma</emphasis> o un <emphasis>comando</emphasis> - interagisce con il kernel per fornire l'ambiente e realizzare le - funzioni richieste dall'utente. Un programma può essere: un file - di shell eseguibile, conosciuto come uno script di shell, un comando - interno (built-in) alla shell o un file sorgente compilato in codice - oggetto.</para> - - <para>La <emphasis>shell</emphasis> è un interprete a linea di - comando. L'utente interagisce con il kernel attraverso la shell. Si - può scrivere uno script ASCII (testo) in modo tale da essere - interpretato da una shell.</para> - - <para>I programmi di sistema sono generalmente in forma binaria, compilati - partendo da un codice sorgente in C. Questi si trovano in posti come - <filename>/bin</filename>, <filename>/usr/bin</filename>, - <filename>/usr/local/bin</filename>, <filename>/usr/ucb</filename>, ecc. - Questi comandi forniscono quelle funzionalità che normalmente si - pensano essere di Unix. Alcuni di questi sono &man.sh.1;, &man.csh.1;, - &man.date.1;, &man.who.1;, &man.more.1;, &man.ls.1; e molti altri.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/system-resource/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/system-resource/chapter.sgml deleted file mode 100644 index 015343a0fd..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/system-resource/chapter.sgml +++ /dev/null @@ -1,1199 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="system-resource"> - <title>Risorse di sistema e stampa</title> - - <sect1 id="system-resource-"> - <title>Risorse di sistema</title> - - <para>Comandi per gestire le risorse di sistema.</para> - - <table frame="all" id="system-resource-table-commands"> - <title>Comandi per le risorse di sistema</title> - - <tgroup cols="2"> - <colspec colwidth="3.7in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>chsh</command> (<command>passwd -e/-s</command>) - <command><replaceable>username - login_shell</replaceable></command></entry> - - <entry>cambia la shell di login dell'utente (spesso solo attraverso - il super-user)</entry> - </row> - - <row> - <entry><command>date - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>visualizza data e ora corrente</entry> - </row> - - <row> - <entry><command>df [<replaceable>opzioni</replaceable>] - [<replaceable>risorsa</replaceable>]</command></entry> - - <entry>riporta una sintesi dei blocchi del disco e degli inode - liberi e usati</entry> - </row> - - <row> - <entry><command>du [<replaceable>opzioni</replaceable>] - [<replaceable>directory o file</replaceable>]</command></entry> - - <entry>riporta la quantità di spazio di disco usato</entry> - </row> - - <row> - <entry><command>hostname/uname</command></entry> - - <entry>visualizza o setta (solamente super-user) il nome della - macchina in uso</entry> - </row> - - <row> - <entry><command>kill [<replaceable>opzioni</replaceable>] - [<replaceable>-SEGNALE</replaceable>] - [<replaceable>pid#</replaceable>] - [%<replaceable>job</replaceable>]</command></entry> - - <entry>manda un segnale al processo specificato dal numero di - processo id (<replaceable>pid#</replaceable>) o dal numero di - controllo del job (%<replaceable>n</replaceable>). Il segnale di - default termina il processo</entry> - </row> - - <row> - <entry><command>man [<replaceable>opzioni</replaceable>] - <replaceable>comando</replaceable></command></entry> - - <entry>visualizza la pagina (<emphasis>man</emphasis>) del manuale - relativa al comando specificato</entry> - </row> - - <row> - <entry><command>passwd - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>setta o modifica la propria password</entry> - </row> - - <row> - <entry><command>ps - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>mostra lo stato dei processi attivi</entry> - </row> - - <row> - <entry><command>script - <replaceable>file</replaceable></command></entry> - - <entry>salva tutto ciò che appare sullo schermo in un file - fino a quando viene eseguito il comando - <command>exit</command></entry> - </row> - - <row> - <entry><command>stty - [<replaceable>opzioni</replaceable>]</command></entry> - - <entry>setta o visualizza le opzioni del terminale di - controllo</entry> - </row> - - <row> - <entry><command>whereis [<replaceable>opzioni</replaceable>] - <replaceable>comando</replaceable></command></entry> - - <entry>riporta le posizioni del file binario, del sorgente e della - pagina man relative al comando specificato</entry> - </row> - - <row> - <entry><command>which - <replaceable>comando</replaceable></command></entry> - - <entry>riporta il percorso (path) del comando specificato o l'alias - di shell in uso</entry> - </row> - - <row> - <entry><command>who</command> oppure <command>w</command></entry> - - <entry>riporta gli utenti <quote>loggati</quote> e i loro processi - in esecuzione</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="system-resource-df"> - <title>df - riepiloga i blocchi del disco e lo spazio usato</title> - - <para>Il comando &man.df.1; è usato per riportare il numero di - blocchi del disco e di inode liberi e usati per ogni file system. - Il formato dell'output e le valide opzioni sono molto specifiche dal - sistema operativo e dalla versione del programma in uso.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>df [<replaceable>opzioni</replaceable>] - [<replaceable>risorsa</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-l</option></entry> - - <entry>solo il file system locale (SVR4)</entry> - </row> - - <row> - <entry><option>-k</option></entry> - - <entry>riporta in kilobyte (SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>{Unix prompt 1} <userinput>df</userinput> -Filesystem kbytes used avail capacity Mounted on - -/dev/sd0a 20895 19224 0 102% / -/dev/sd0h 319055 131293 155857 46% /usr -/dev/sd1g 637726 348809 225145 61% /usr/local -/dev/sd1a 240111 165489 50611 77% /home/guardian -peri:/usr/local/backup - 1952573 976558 780758 56% /usr/local/backup -peri:/home/peri 726884 391189 263007 60% /home/peri -peri:/usr/spool/mail - 192383 1081 172064 1% /var/spool/mail -peri:/acs/peri/2 - 723934 521604 129937 80% /acs/peri/2</screen> - </sect2> - - <sect2 id="system-resource-du"> - <title>du - mostra lo spazio del disco usato</title> - - <para>Il comando &man.du.1; riporta la quantità di spazio di disco - usato per i file o per le directory specificate.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>du [<replaceable>opzioni</replaceable>] - [<replaceable>directory o file</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-a</option></entry> - - <entry>mostra l'uso del disco per ogni file, non solo per le - sotto-directory</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>mostra solo la somma totale</entry> - </row> - - <row> - <entry><option>-k</option></entry> - - <entry>riporta in kilobyte (SVR4)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>{Unix prompt 3} <userinput>du</userinput> - 1 ./.elm - 1 ./Mail - 1 ./News -20 ./uc -86 .</screen> - - <screen>{Unix prompt 4} <userinput>du -a uc</userinput> -7 uc/Unixgrep.txt -5 uc/editors.txt -1 uc/.emacs -1 uc/.exrc -4 uc/telnet.ftp -1 uc/uniq.tee.txt -20 uc</screen> - </sect2> - - <sect2 id="system-resource-ps"> - <title>ps - mostra lo stato dei processi attivi</title> - - <para>Il comando &man.ps.1; è usato per mostrare i processi - correntemente eseguiti sul sistema. Il formato dell'output e le - valide opzioni dipendono molto dal sistema operativo e dalla versione - del programma in uso.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>ps [<replaceable>opzioni</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="3"> - <colspec colwidth="1in"> - - <colspec colwidth="1in"> - - <thead> - <row> - <entry>BSD</entry> - - <entry>SVR4</entry> - </row> - </thead> - - <tbody> - <row> - <entry><option>-a</option></entry> - - <entry><option>-e</option></entry> - - <entry>tutti i processi di tutti gli utenti</entry> - </row> - - <row> - <entry><option>-e</option></entry> - - <entry></entry> - - <entry>ambiente di esecuzione</entry> - </row> - - <row> - <entry><option>-g</option></entry> - - <entry></entry> - - <entry>processi del gruppo amministrativo come - <groupname>well</groupname></entry> - </row> - - <row> - <entry><option>-l</option></entry> - - <entry><option>-l</option></entry> - - <entry>formato lungo</entry> - </row> - - <row> - <entry><option>-u</option></entry> - - <entry><option>-u <replaceable>user</replaceable></option></entry> - - <entry>relazione specifica di un utente</entry> - </row> - - <row> - <entry><option>-x</option></entry> - - <entry><option>-e</option></entry> - - <entry>anche i processi non eseguiti da terminali</entry> - </row> - - <row> - <entry></entry> - - <entry><option>-f</option></entry> - - <entry>lista completa</entry> - </row> - - <row> - <entry><option>-w</option></entry> - - <entry></entry> - - <entry>riporta i primi 132 caratteri per linea</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>Poichè il comando &man.ps.1 è molto dipendente dal - sistema, si raccomanda di consultare le <emphasis>pagine - man</emphasis> del proprio sistema per i dettagli delle opzioni e per - l'interpretazione dell'output di &man.ps.1;.</para> - </note> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>{Unix prompt 5} <userinput>ps</userinput> -PID TT STAT TIME COMMAND -15549 p0 IW 0:00 -tcsh (tcsh) -15588 p0 IW 0:00 man nice -15594 p0 IW 0:00 sh -c less /tmp/man15588 -15595 p0 IW 0:00 less /tmp/man15588 -15486 p1 S 0:00 -tcsh (tcsh) -15599 p1 T 0:00 emacs Unixgrep.txt -15600 p1 R 0:00 ps</screen> - </sect2> - - <sect2 id="system-resource-kill"> - <title>kill - termina un processo</title> - - <para>Il comando &man.kill.1; manda un segnale a un processo, - generalmente per terminarlo.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>kill [<replaceable>-SEGNALE</replaceable>] - <replaceable>id-processo</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-l</option></entry> - - <entry>visualizza i segnali disponibili per kill</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>{Unix prompt 9} <userinput>kill -l</userinput> -HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP -TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2</screen> - - <para>Il segnale <option>-KILL</option>, anche specificato con - <option>-9</option> (a causa della nona posizione assunta nella lista - precedente), è il maggior segnale comunemente usato con - &man.kill.1;. A differenza di altri segnali, questo, una volta captato, - non può essere ignorato dal programma.</para> - - <screen>{Unix prompt 10} <userinput>kill -9 15599</userinput> -[1] + Killed emacs Unixgrep.txt</screen> - </sect2> - - <sect2 id="system-resource-who"> - <title>who - mostra gli utenti attuali</title> - - <para>Il comando &man.who.1; riporta chi è correntemente - <quote>loggato</quote> nel sistema.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>who [<option>am i</option>]</command></para> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>beauty condron> <userinput>who</userinput> -wmtell ttyp1 Apr 21 20:15 (apple.acs.ohio-s) -fbwalk ttyp2 Apr 21 23:21 (worf.acs.ohio-st) -stwang ttyp3 Apr 21 23:22 (127.99.25.8) -david ttyp4 Apr 21 22:27 (slip1-61.acs.ohi) -tgardner ttyp5 Apr 21 23:07 (picard.acs.ohio-) -awallace ttyp6 Apr 21 23:00 (ts31-4.homenet.o) -gtl27 ttyp7 Apr 21 23:24 (data.acs.ohio-st) -ccchang ttyp8 Apr 21 23:32 (slip3-10.acs.ohi) -condron ttypc Apr 21 23:38 (lcondron-mac.acs) -dgildman ttype Apr 21 22:30 (slip3-36.acs.ohi) -fcbetz ttyq2 Apr 21 21:12 (ts24-10.homenet.)</screen> - - <screen>beauty condron> <userinput>who am i</userinput> -beauty!condron ttypc Apr 21 23:38 (lcondron-mac.acs)</screen> - </sect2> - - <sect2 id="system-resource-whereis"> - <title>whereis - riporta le locazioni del programma</title> - - <para>Il comando &man.whereis.1; riporta le locazioni del file - sorgente, di quello binario e del file delle pagine man associate al - comando.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>whereis [<replaceable>opzioni</replaceable>] - <replaceable>comando</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-b</option></entry> - - <entry>riporta solamente i file binari</entry> - </row> - - <row> - <entry><option>-m</option></entry> - - <entry>riporta solamente la sezione manuale</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>riporta solamente i file sorgenti</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>brigadier: condron [69]> <userinput>whereis Mail</userinput> -Mail: /usr/ucb/Mail /usr/lib/Mail.help /usr/lib/Mail.rc /usr/man/man1/Mail.1</screen> - - <screen>brigadier: condron [70]> <userinput>whereis -b Mail</userinput> -Mail: /usr/ucb/Mail /usr/lib/Mail.help /usr/lib/Mail.rc</screen> - - <screen>brigadier: condron [71]> <userinput>whereis -m Mail</userinput> -Mail: /usr/man/man1/Mail.1</screen> - </sect2> - - <sect2 id="system-resource-which"> - <title>which - riporta il comando trovato</title> - - <para>Il comando &man.which.1; riporta il nome del file che sarà - eseguito quando il comando specificato viene invocato. Questo - può essere un path name assoluto o il primo alias trovato nel - proprio path.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>which <replaceable>comando</replaceable></command></para> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>brigadier: condron [73]> <userinput>which Mail</userinput> -/usr/ucb/Mail</screen> - </sect2> - - <sect2 id="system-resource-hostname-unname"> - <title>hostname/uname - nome della macchina</title> - - <para>Il comando &man.hostname.1; (<command>uname -u</command> su SysV) - riporta il nome host della macchina nella quale l'utente è - <quote>loggato</quote>, esempio:</para> - - <screen>brigadier: condron [91]> <userinput>hostname</userinput> -brigadier</screen> - - <para>&man.uname.1; ha opzioni aggiuntive per visualizzare informazioni - circa l'hardware del sistema e la versione del software.</para> - </sect2> - - <sect2 id="system-resource-script"> - <title>script - memorizza la propria schermata di I/O</title> - - <para>Il comando &man.script.1; crea una documentazione della propria - sessione di I/O. Usando il comando &man.script.1; si possono catturare - tutti i dati trasmessi da e per il proprio terminale visuale fino - all'uscita (con <command>exit</command>) del programma stesso. - Può essere utile durante un processo di debugging, per - documentare le azioni che si stanno sperimentando o per avere una - copia stampabile per una attenta lettura successiva.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>script [<option>-a</option>] - [<replaceable>file</replaceable>] <...> exit</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-a</option></entry> - - <entry>appende l'output al file</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Di default, <filename>typescript</filename> è il nome del - file usato dal comando &man.script.1;.</para> - - <para>Ci si deve ricordare di digitare <command>exit</command> per - terminare la propria sessione script e chiudere così il file - <filename>typescript</filename>.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>beauty condron> <userinput>script</userinput> -Script started, file is typescript</screen> - - <screen>beauty condron> <userinput>ps</userinput> -PID TT STAT TIME COMMAND -23323 p8 S 0:00 -h -i (tcsh) -23327 p8 R 0:00 ps -18706 pa S 0:00 -tcsh (tcsh) -23315 pa T 0:00 emacs -23321 pa S 0:00 script -23322 pa S 0:00 script -3400 pb I 0:00 -tcsh (tcsh)</screen> - - <screen>beauty condron> <userinput>kill -9 23315</userinput></screen> - - <screen>beauty condron> <userinput>date</userinput> -Mon Apr 22 22:29:44 EDT 1996</screen> - - <screen>beauty condron> <userinput>exit</userinput> -exit -Script done, file is typescript -[1] + Killed emacs</screen> - - <screen>beauty condron> <userinput>cat typescript</userinput> -Script started on Mon Apr 22 22:28:36 1996 - -beauty condron>ps -PID TT STAT TIME COMMAND -23323 p8 S 0:00 -h -i (tcsh) -23327 p8 R 0:00 ps -18706 pa S 0:00 -tcsh (tcsh) -23315 pa T 0:00 emacs -23321 pa S 0:00 script -23322 pa S 0:00 script -3400 pb I 0:00 -tcsh (tcsh) - -beauty condron>kill -9 23315 - -beauty condron>date -Mon Apr 22 22:29:44 EDT 1996 - -beauty condron>exit -exit - -script done on Mon Apr 22 22:30:02 1996</screen> - - <screen>beauty condron> <userinput></userinput></screen> - </sect2> - - <sect2 id="system-resource-date"> - <title>date - data e ora corrente</title> - - <para>Il comando &man.date.1; mostra la data e l'ora corrente. - Un super-user può modificare la data e l'ora.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>date [<replaceable>opzioni</replaceable>] - [<replaceable>+formato</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><option>-u</option></entry> - - <entry>usa Universal Time (o Greenwich Mean Time)</entry> - </row> - - <row> - <entry><option>+<replaceable>formato</replaceable></option></entry> - - <entry>specifica il formato di output</entry> - </row> - - <row> - <entry align="center"><option>%a</option></entry> - - <entry>abbreviazione giorni, da Sabato a Domenica</entry> - </row> - - <row> - <entry align="center"><option>%h</option></entry> - - <entry>abbreviazione mesi, da Gennaio a Dicembre</entry> - </row> - - <row> - <entry align="center"><option>%j</option></entry> - - <entry>giorno dell'anno, da 001 a 366</entry> - </row> - - <row> - <entry align="center"><option>%n</option></entry> - - <entry>new-line</entry> - </row> - - <row> - <entry align="center"><option>%t</option></entry> - - <entry>tab</entry> - </row> - - <row> - <entry align="center"><option>%y</option></entry> - - <entry>ultime due cifre dell'anno, da 00 a 99</entry> - </row> - - <row> - <entry align="center"><option>%D</option></entry> - - <entry>formato data MM/DD/YY</entry> - </row> - - <row> - <entry align="center"><option>%H</option></entry> - - <entry>ora, da 00 a 23</entry> - </row> - - <row> - <entry align="center"><option>%M</option></entry> - - <entry>minuti, da 00 a 59</entry> - </row> - - <row> - <entry align="center"><option>%S</option></entry> - - <entry>secondi, da 00 a 59</entry> - </row> - - <row> - <entry align="center"><option>%T</option></entry> - - <entry>formato ora HH:MM:SS</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>beauty condron> <userinput>date</userinput> -Mon Jun 10 09:01:05 EDT 1996</screen> - - <screen>beauty condron> <userinput>date -u</userinput> -Mon Jun 10 13:01:33 GMT 1996</screen> - - <screen>beauty condron> <userinput>date +%a%t%D</userinput> -Mon 06/10/96</screen> - - <screen>beauty condron> <userinput>date '+%y:%j'</userinput> -96:162</screen> - </sect2> - </sect1> - - <sect1 id="system-resource-print"> - <title>Comandi di stampa</title> - - <table frame=all id="system-resource-table-print-commands"> - <title>Comandi di stampa</title> - - <tgroup cols="2"> - <colspec colwidth="3in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>lpq</command> (<command>lpstat</command>) - <command>[<replaceable>opzioni</replaceable>]</command></entry> - - <entry>mostra lo stato dei job (lavori) di stampa</entry> - </row> - - <row> - <entry><command>lpr</command> (<command>lp</command>) - <command>[<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>stampa con una stampante specifica</entry> - </row> - - <row> - <entry><command>lprm</command> (<command>cancel</command>) - <command>[<replaceable>opzioni</replaceable>]</command></entry> - - <entry>rimuove un job di stampa dalla coda di stampa</entry> - </row> - - <row> - <entry><command>pr [<replaceable>opzioni</replaceable>] - [<replaceable>file</replaceable>]</command></entry> - - <entry>filtra il file e lo stampa sul terminale</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>I comandi di stampa permettono di stampare file sullo standard output - (&man.pr.1;) o attraverso una stampante (&man.lp.1; e &man.lpr.1) fino a - filtrare l'output. I comandi di stampa di <emphasis>BSD</emphasis> e - <emphasis>SysV</emphasis> usano diversi nomi e diverse opzioni per - produrre lo stesso risultato: &man.lpr.1;, &man.lprm.1; e &man.lpq.1; - contro &man.lp.1;, <command>cancel</command> e <command>lpstat</command> - rispettivamente per BSD e SysV, sottopongono, cancellano e verificano lo - stato di un job (lavoro) di stampa.</para> - - <sect2 id="system-resource-print-lp-lpr"> - <title>lp/lpr - sottopone un job di stampa</title> - - <para>Il comando &man.lp.1; o &man.lpr.1; sottopone il file specificato o - lo standard input al demone di stampa per essere stampato. Ad ogni job - viene assegnato un unico id di richiesta che può essere usato - in seguito per verificare o cancellare il job mentre è nella - coda di stampa.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>lp [<replaceable>opzioni</replaceable>] - <replaceable>filename</replaceable></command></para> - - <para><command>lpr [<replaceable>opzioni</replaceable>] - <replaceable>filename</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="3"> - <colspec colwidth="1.6in"> - - <colspec colwidth="1.4in"> - - <thead> - <row> - <entry>lp</entry> - - <entry>lpr</entry> - - <entry>funzione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><option>-n - <replaceable>numero</replaceable></option></entry> - - <entry><option>-<replaceable>#numero</replaceable></option></entry> - - <entry>numero di copie</entry> - </row> - - <row> - <entry><option>-t - <replaceable>titolo</replaceable></option></entry> - - <entry><option>-T<replaceable>titolo</replaceable></option></entry> - - <entry>titolo del job</entry> - </row> - - <row> - <entry><option>-d - <replaceable>destinazione</replaceable></option></entry> - - <entry><option>-P<replaceable>stampante</replaceable></option></entry> - - <entry>nome della stampante</entry> - </row> - - <row> - <entry><option>-c</option></entry> - - <entry>(default)</entry> - - <entry>copia il file in coda prima di stamparlo</entry> - </row> - - <row> - <entry>(default)</entry> - - <entry><option>-s</option></entry> - - <entry>non copia il file in coda prima di stamparlo</entry> - </row> - - <row> - <entry><option>-o - <replaceable>opzioni</replaceable></option></entry> - - <entry></entry> - - <entry>opzioni addizionali, esempio - <option>nobanner</option></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>I file che iniziano con i simboli <literal>%!</literal> sono - considerati file contenenti comandi PostScript.</para> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per stampare il file <filename>ssh.ps</filename>:</para> - - <screen>&prompt.user; <userinput>lp ssh.ps</userinput> -request id is lp-153 (1 file(s))</screen> - - <para>Questo sottopone il job nella coda della stampante di default, - <devicename>lp</devicename>, con l'id di richiesta - <literal>lp-153</literal>.</para> - </sect2> - - <sect2 id="system-resource-print-lpstat-lpq"> - <title>lpstat/lpq - verifica lo stato di un job di stampa</title> - - <para>Si può verificare lo stato del proprio job di stampa con il - comando <command>lpstat</command> o &man.lpq.1;.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>lpstat - [<replaceable>opzioni</replaceable>]</command></para> - - <para><command>lpq [<replaceable>opzioni</replaceable>] - [<replaceable>job#</replaceable>] - [<replaceable>username</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="3"> - <colspec colwidth="1.5in"> - - <colspec colwidth="1.5in"> - - <colspec colwidth="3.5in"> - - <thead> - <row> - <entry>lpstat</entry> - - <entry>lpq</entry> - - <entry>funzione</entry> - </row> - </thead> - - <tbody> - <row> - <entry><option>-d</option></entry> - - <entry>(<devicename>lp</devicename> di default)</entry> - - <entry>lista dei sistemi destinazione di default</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry></entry> - - <entry>riassume lo stato di stampa</entry> - </row> - - <row> - <entry><option>-t</option></entry> - - <entry></entry> - - <entry>stampa tutte le informazioni dello stato di stampa</entry> - </row> - - <row> - <entry><option>-u - [<replaceable>login-ID-list</replaceable>]</option></entry> - - <entry></entry> - - <entry>lista dell'utente specificato</entry> - </row> - - <row> - <entry><option>-v</option></entry> - - <entry></entry> - - <entry>elenca le stampanti conosciute dal sistema</entry> - </row> - - <row> - <entry><option>-p - <replaceable>stampante</replaceable></option></entry> - - <entry><option>-P<replaceable>stampante</replaceable></option></entry> - - <entry>stampa lo stato della stampante specificata</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>lpstat</userinput> -lp-153 frank 208068 Apr 29 15:14 on lp </screen> - </sect2> - - <sect2 id="system-resource-print-cancel-lprm"> - <title>cancel/lprm - cancella un job di stampa</title> - - <para>Alcuni utenti possono cancellare solamente i loro job di - stampa.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>cancel [<replaceable>id-richiesta</replaceable>] - [<replaceable>stampante</replaceable>]</command></para> - - <para><command>lprm [<replaceable>opzioni</replaceable>] - [<replaceable>job#</replaceable>] - [<replaceable>username</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="3"> - <colspec colwidth="2in"> - - <colspec colwidth="2in"> - - <colspec colwidth="2in"> - - <thead> - <row> - <entry>cancel</entry> - - <entry>lprm</entry> - - <entry>funzione</entry> - </row> - </thead> - - <tbody> - <row> - <entry></entry> - - <entry><option>-P<replaceable>stampante</replaceable></option></entry> - - <entry>specifica la stampante</entry> - </row> - - <row> - <entry></entry> - - <entry><option>-</option></entry> - - <entry>tutti i job dell'utente</entry> - </row> - - <row> - <entry><option>-u - [<replaceable>login-ID-list</replaceable>]</option></entry> - - <entry></entry> - - <entry>lista dell'utente</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Per cancellare il job sottomesso in precedenza:</para> - - <screen>&prompt.user; <userinput>cancel lp-153</userinput></screen> - </sect2> - - <sect2 id="system-resource-print-pr"> - <title>pr - prepara file per la stampa</title> - - <para>Il comando &man.pr.1; stampa l'intestazione e le informazioni - traccia che circoscrivono il file formattato. Si può specificare - il numero di pagine da stampare, le linee per pagina, le colonne, le - linee bianche, si può specificare la larghezza di pagina, - l'intestazione e le informazioni traccia e in che modo trattare il - carattere tab.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>pr [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <tbody> - <row> - <entry><option>+<replaceable>numero_pagina</replaceable></option></entry> - - <entry>inizia a stampare al numero di pagina specificato</entry> - </row> - - <row> - <entry><option>-<replaceable>colonne</replaceable></option></entry> - - <entry>numero di colonne</entry> - </row> - - <row> - <entry><option>-a</option></entry> - - <entry>modifica l'opzione <replaceable>-colonne</replaceable> per - riempire le colonne nell'ordine round-robin</entry> - </row> - - <row> - <entry><option>-d</option></entry> - - <entry>doppio spazio</entry> - </row> - - <row> - <entry><option>-e [<replaceable>carattere</replaceable>] - [<replaceable>gap</replaceable>]</option></entry> - - <entry>spazio tab</entry> - </row> - - <row> - <entry><option>-h - <replaceable>stringa_intestazione</replaceable></option></entry> - - <entry>intestazione per ogni pagina</entry> - </row> - - <row> - <entry><option>-l - <replaceable>linee</replaceable></option></entry> - - <entry>linee per pagina</entry> - </row> - - <row> - <entry><option>-t</option></entry> - - <entry>non stampa l'intestazione e la traccia per ogni - pagina</entry> - </row> - - <row> - <entry><option>-w - <replaceable>larghezza</replaceable></option></entry> - - <entry>larghezza di pagina</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Il file contenente la lista di libri di P. G. Wodehouse Lord - Emsworth dovrebbe essere stampato con 14 linee per pagina (incluse 5 di - intestazione e 5 (vuote) linee traccia), dove l'opzione - <option>-e</option> specifica in che modo convertire i tab:</para> - - <screen>&prompt.user; <userinput>pr -l 14 -e42 wodehouse</userinput> - - - - - -Apr 29 11:11 1996 wodehouse_emsworth_books Page 1 - - - - -Something Fresh [1915] Uncle Dynamite [1948] -Leave it to Psmith [1923] Pigs Have Wings [1952] -Summer Lightning [1929] Cocktail Time [1958] -Heavy Weather [1933] Service with a Smile [1961] - - - - - -Apr 29 11:11 1996 wodehouse_emsworth_books Page 2 - - - - -Blandings Castle and Elsewhere [1935] Galahad at Blandings [1965] -Uncle Fred in the Springtime [1939] A Pelican at Blandings [1969] -Full Moon [1947] Sunset at Blandings [1977]</screen> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/books/unix-introduction/text-processing/chapter.sgml b/it_IT.ISO8859-15/books/unix-introduction/text-processing/chapter.sgml deleted file mode 100644 index 1c86cbbae9..0000000000 --- a/it_IT.ISO8859-15/books/unix-introduction/text-processing/chapter.sgml +++ /dev/null @@ -1,1124 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<chapter id="text-processing"> - <title>Manipolazione del testo</title> - - <sect1 id="text-processing-reg-exp-syntax"> - <title>Sintassi delle espressioni regolari</title> - - <para>Alcuni programmi di manipolazione del testo come - &man.grep.1;, &man.egrep.1;, &man.sed.1;, &man.awk.1; e &man.vi.1; - consentono di ricercare uno schema (pattern) piuttosto che una stringa - fissa. Questi schemi testuali sono conosciuti come <emphasis>espressioni - regolari</emphasis>. Si può formare un'espressione regolare - combinando caratteri normali con caratteri speciali, anche conosciuti - come <emphasis>meta-caratteri</emphasis>, secondo le successive regole. - Con queste espressioni regolari si può <emphasis>confrontare uno - schema</emphasis> su dati testuali. Le espressioni regolari si - presentano in tre diverse forme:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><emphasis>Ancoraggi</emphasis></entry> - - <entry>legano lo schema a una posizione sulla linea</entry> - </row> - - <row> - <entry><emphasis>Serie di caratteri</emphasis></entry> - - <entry>indicano un carattere in una singola posizione</entry> - </row> - - <row> - <entry><emphasis>Modificatori</emphasis></entry> - - <entry>specificano quante volte ripetere l'espressione - precedente</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Segue la sintassi delle espressioni regolari. Alcuni programmi - accettano tutte queste sintassi, altri ne accettano solo alcune:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1in"> - - <tbody> - <row> - <entry><emphasis>.</emphasis></entry> - - <entry>indica <emphasis>un</emphasis> singolo carattere eccetto - quello di newline</entry> - </row> - - <row> - <entry><emphasis>*</emphasis></entry> - - <entry>indica <emphasis>zero o più</emphasis> istanze del - singolo carattere (o meta-carattere) che lo precede</entry> - </row> - - <row> - <entry><emphasis>[<replaceable>abc</replaceable>]</emphasis></entry> - - <entry>indica un carattere tra quelli racchiusi</entry> - </row> - - <row> - <entry><emphasis>[<replaceable>a-d</replaceable>]</emphasis></entry> - - <entry>indica un carattere tra quelli compresi nel range</entry> - </row> - - <row> - <entry><emphasis>[^<replaceable>exp</replaceable>]</emphasis></entry> - - <entry>indica un carattere tra quelli <emphasis>non</emphasis> - inclusi nell'espressione</entry> - </row> - - <row> - <entry><emphasis>^<replaceable>abc</replaceable></emphasis></entry> - - <entry>l'espressione regolare deve iniziare all'<emphasis>inizio - della linea</emphasis> (Ancoraggio)</entry> - </row> - - <row> - <entry><emphasis><replaceable>abc</replaceable>$</emphasis></entry> - - <entry>l'espressione regolare deve finire alla <emphasis>fine della - linea</emphasis> (Ancoraggio)</entry> - </row> - - <row> - <entry><emphasis>\</emphasis></entry> - - <entry>tratta il carattere successivo letteralmente. Viene - normalmente usato per mantenere inalterato il significato di un - carattere speciale come . e *.</entry> - </row> - - <row> - <entry><emphasis>\{<replaceable>n</replaceable>,<replaceable>m</replaceable>\}</emphasis></entry> - - <entry>confronta l'espressione regolare precedente un numero minimo - <replaceable>n</replaceable> di volte e un numero massimo - <replaceable>m</replaceable> di volte - (<replaceable>n</replaceable> e <replaceable>m</replaceable> - possono assumere valori tra 0 e 255). I simboli \{ e \} - dovrebbero essere intesi come singoli operatori. In questo caso - il simbolo \ che precede le parentesi non è il carattere di - escape, ma assume un nuovo significato.</entry> - </row> - - <row> - <entry><emphasis>\<<replaceable>abc</replaceable>\></emphasis></entry> - - <entry>confronta l'espressione regolare racchiusa trattandola come - una singola parola. I limiti della parola sono definiti iniziando - con un newline o qualche altra cosa, eccetto una lettera, una - cifra o un underscore ( _ ), e finendo con la stessa cosa o con un - carattere di fine linea. Ancora, i simboli \< e \> - dovrebbero essere intesi come singoli operatori.</entry> - </row> - - <row> - <entry><emphasis>\(<replaceable>abc</replaceable>\)</emphasis></entry> - - <entry>salva lo schema racchiuso in un buffer. Possono essere - salvati per ogni linea fino a nove schemi. È possibile - riferirsi a questi schemi tramite la combinazione di caratteri - \<replaceable>n</replaceable>. Ancora una volta i simboli \( e \) - dovrebbero essere intesi come singoli operatori.</entry> - </row> - - <row> - <entry><emphasis>\<replaceable>n</replaceable></emphasis></entry> - - <entry>dove <replaceable>n</replaceable> varia tra 1 e 9. Confronta - l'<replaceable>n-sima</replaceable> espressione precedentemente - salvata per la linea corrente. Le espressioni sono numerate - partendo da sinistra. Il simbolo \<replaceable>n</replaceable> - dovrebbe essere inteso come un singolo operatore.</entry> - </row> - - <row> - <entry><emphasis>&</emphasis></entry> - - <entry>mostra lo schema di ricerca precedente (usato al posto della - stringa)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Ci sono alcuni meta-caratteri usati solamente da &man.awk.1; e - &man.egrep.1;. Questi sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><emphasis>+</emphasis></entry> - - <entry>confronta una o più delle espressioni precedenti (a - questo simbolo)</entry> - </row> - - <row> - <entry><emphasis>?</emphasis></entry> - - <entry>confronta zero o alcune delle espressioni precedenti (a - questo simbolo)</entry> - </row> - - <row> - <entry><emphasis>|</emphasis></entry> - - <entry>separatore. Confronta sia l'espressione precedente (a questo - simbolo) sia quella seguente</entry> - </row> - - <row> - <entry><emphasis>( )</emphasis></entry> - - <entry>raggruppa le espressioni regolari all'interno delle parentesi - e applica una serie di confronti</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Alcuni esempi di <emphasis>espressioni regolari</emphasis> comuni - sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <thead> - <row> - <entry>espressione regolare</entry> - - <entry>indica</entry> - </row> - </thead> - - <tbody> - <row> - <entry>cat</entry> - - <entry>la stringa <emphasis>cat</emphasis></entry> - </row> - - <row> - <entry>.at</entry> - - <entry>alcune occorrenze di un carattere precedente ad - <emphasis>at</emphasis>, come cat, rat, mat, bat, fat, hat</entry> - </row> - - <row> - <entry>xy*z</entry> - - <entry>alcune occorrenze di un <emphasis>x</emphasis>, seguite da - zero o più <emphasis>y</emphasis> e seguite da una - <emphasis>z</emphasis>.</entry> - </row> - - <row> - <entry>^cat</entry> - - <entry><emphasis>cat</emphasis> all'inizio della linea</entry> - </row> - - <row> - <entry>cat$</entry> - - <entry><emphasis>cat</emphasis> alla fine della linea</entry> - </row> - - <row> - <entry>\*</entry> - - <entry>alcune occorrenze di un asterisco</entry> - </row> - - <row> - <entry>[cC]at</entry> - - <entry><emphasis>cat</emphasis> o <emphasis>Cat</emphasis></entry> - </row> - - <row> - <entry>[^a-zA-Z]</entry> - - <entry>alcune occorrenze di caratteri non alfabetici</entry> - </row> - - <row> - <entry>[0-9]$</entry> - - <entry>alcune linee che finiscono con un numero</entry> - </row> - - <row> - <entry>[A-Z][A-Z]*</entry> - - <entry>una o più lettere maiuscole</entry> - </row> - - <row> - <entry>[A-Z]*</entry> - - <entry>zero o alcune lettere maiuscole (in altre parole, - qualcosa)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect1> - - <sect1 id="text-processing-commands"> - <title>Comandi di manipolazione del testo</title> - - <table frame="all" id="text-processing-table-commands"> - <title>Comandi di manipolazione del testo</title> - - <tgroup cols="2"> - <colspec colwidth="4.5in"> - - <thead> - <row> - <entry align="center">Comando/Sintassi</entry> - - <entry align="center">Cosa fa</entry> - </row> - </thead> - - <tbody> - <row> - <entry><command>awk/nawk [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>esamina gli schemi (pattern) all'interno di un file ed - elabora i risultati</entry> - </row> - - <row> - <entry><command>grep/egrep/fgrep - [<replaceable>opzioni</replaceable>] - '<replaceable>stringa di ricerca</replaceable>' - <replaceable>file</replaceable></command></entry> - - <entry>ricerca nell'argomento (in questo caso probabilmente un - file) tutte le occorrenze della stringa di ricerca e le - elenca</entry> - </row> - - <row> - <entry><command>sed [<replaceable>opzioni</replaceable>] - <replaceable>file</replaceable></command></entry> - - <entry>editor di flusso per manipolare file da uno script o da - linea di comando</entry> - </row> - </tbody> - </tgroup> - </table> - - <sect2 id="text-processing-commands-grep"> - <title>grep</title> - - <para>Questa sezione fornisce un'introduzione all'uso delle - <emphasis>espressioni regolari</emphasis> con &man.grep.1;.</para> - - <para>L'utility &man.grep.1; viene usata per ricercare espressioni - regolari comuni che si presentano nei file Unix. Le espressioni - regolari, come quelle viste in precedenza, sono meglio specificate - all'interno di apostrofi (o caratteri di quoting singoli) quando - usate con l'utility &man.grep.1;. L'utility &man.egrep.1; fornisce - una capacità di ricerca attraverso un set esteso di - meta-caratteri. La sintassi dell'utility &man.grep.1;, alcune delle - possibili opzioni e alcuni semplici esempi sono mostrati di - seguito.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>grep [<replaceable>opzioni</replaceable>] - <replaceable>expreg</replaceable> - [<replaceable>file</replaceable>]</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>-i</option></entry> - - <entry>ignora la differenza tra caratteri maiuscoli e - minuscoli</entry> - </row> - - <row> - <entry><option>-c</option></entry> - - <entry>riporta solamente la somma del numero di linee contenenti - le corrispondenze, non le corrispondenze stesse</entry> - </row> - - <row> - <entry><option>-v</option></entry> - - <entry>inverte la ricerca, visualizzando solo le linee senza - corrispondenza</entry> - </row> - - <row> - <entry><option>-n</option></entry> - - <entry>mostra un numero di linea insieme alla linea su cui - è stata trovata una corrispondenza</entry> - </row> - - <row> - <entry><option>-s</option></entry> - - <entry>lavora in silenzio, riportando solo lo stato - finale:</entry> - </row> - - <row> - <entry></entry> - - <entry>0, per corrispondenze trovate</entry> - </row> - - <row> - <entry></entry> - - <entry>1, per nessuna corrispondenza</entry> - </row> - - <row> - <entry></entry> - - <entry>2, per errori</entry> - </row> - - <row> - <entry><option>-l</option></entry> - - <entry>elenca i nomi dei file, ma non le linee, nei quali sono - state trovate corrispondenze</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Si consideri il seguente file:</para> - - <screen>{Unix prompt 5} <userinput>cat num.list</userinput> - 1 15 fifteen - 2 14 fourteen - 3 13 thirteen - 4 12 twelve - 5 11 eleven - 6 10 ten - 7 9 nine - 8 8 eight - 9 7 seven -10 6 six -11 5 five -12 4 four -13 3 three -14 2 two -15 1 one</screen> - - <para>Ecco alcuni esempi di &man.grep.1; usando tale file. - Nel primo si ricerca il numero <emphasis>15</emphasis>:</para> - - <screen>{Unix prompt 6} <userinput>grep '15' num.list</userinput> - 1 15 fifteen -15 1 one</screen> - - <para>Ora si usa l'opzione <option>-c</option> per contare il numero di - linee che corrispondono al precedente criterio di ricerca:</para> - - <screen>{Unix prompt 7} <userinput>grep -c '15' num.list</userinput> -2</screen> - - <para>Qui la ricerca è più generale: si selezionano tutte le - linee che contengono il carattere <emphasis>1</emphasis> seguito da un - <emphasis>1</emphasis> o un <emphasis>2</emphasis> o un - <emphasis>5</emphasis>:</para> - - <screen>{Unix prompt 8} <userinput>grep '1[125]' num.list</userinput> - 1 15 fifteen - 4 12 twelve - 5 11 eleven -11 5 five -12 4 four -15 1 one</screen> - - <para>Ora si ricercano tutte le linee che <emphasis>iniziano</emphasis> - con uno <emphasis>spazio</emphasis>:</para> - - <screen>{Unix prompt 9} <userinput>grep '^ ' num.list</userinput> - 1 15 fifteen - 2 14 fourteen - 3 13 thirteen - 4 12 twelve - 5 11 eleven - 6 10 ten - 7 9 nine - 8 8 eight - 9 7 seven</screen> - - <para>Ora tutte le linee che <emphasis>non iniziano</emphasis> con uno - <emphasis>spazio</emphasis>:</para> - - <screen>{Unix prompt 10} <userinput>grep '^[^ ]' num.list</userinput> -10 6 six -11 5 five -12 4 four -13 3 three -14 2 two -15 1 one</screen> - - <para>L'ultimo esempio può anche essere realizzato usando l'opzione - <option>-v</option> insieme all stringa di ricerca originale, - esempio:</para> - - <screen>{Unix prompt 11} <userinput>grep -v '^ ' num.list</userinput> -10 6 six -11 5 five -12 4 four -13 3 three -14 2 two -15 1 one</screen> - - <para>Ora si ricercano tutte le linee che <emphasis>iniziano</emphasis> - con carattere <emphasis>compreso</emphasis> tra <emphasis>1</emphasis> e - <emphasis>9</emphasis>:</para> - - <screen>{Unix prompt 12} <userinput>grep '^[1-9]' num.list</userinput> -10 6 six -11 5 five -12 4 four -13 3 three -14 2 two -15 1 one</screen> - - <para>In questo esempio si ricercano alcune istanze di - <emphasis>t</emphasis> seguite da <emphasis>zero o alcune</emphasis> - occorrenze di <emphasis>e</emphasis>:</para> - - <screen>{Unix prompt 13} <userinput>grep 'te*' num.list</userinput> - 1 15 fifteen - 2 14 fourteen - 3 13 thirteen - 4 12 twelve - 6 10 ten - 8 8 eight -13 3 three -14 2 two</screen> - - <para>In questo esempio si ricercano alcune istanze di - <emphasis>t</emphasis> seguite da <emphasis>una o alcune</emphasis> - occorrenze di e:</para> - - <screen>{Unix prompt 14} <userinput>grep 'tee*' num.list</userinput> -1 15 fifteen -2 14 fourteen -3 13 thirteen -6 10 ten</screen> - - <para>Si può prendere il proprio input da un programma, - anzichè da un file. Qui si riportano alcune linee di output del - comando &man.who.1; che iniziano con la lettera - <emphasis>l</emphasis>.</para> - - <screen>{Unix prompt 15} <userinput>who | grep '^l'</userinput> -lcondron ttyp0 Dec 1 02:41 (lcondron-pc.acs.)</screen> - </sect2> - - <sect2 id="text-processing-commands-sed"> - <title>sed</title> - - <para>L'editor di flusso non interattivo &man.sed.1; manipola un - flusso di input, linea per linea, creando specifici cambiamenti e - mandando il risultato su standard output.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>sed [<replaceable>opzioni</replaceable>] - <replaceable>comando_di_editing</replaceable> - [<replaceable>file</replaceable>]</command></para> - - <para>Il formato per i comandi di editing è:</para> - - <para><command>[<replaceable>indirizzo1</replaceable>[,<replaceable>indirizzo2</replaceable>]] - [<replaceable>funzione</replaceable>] - [<replaceable>argomenti</replaceable>]</command></para> - - <para>dove gli indirizzi sono facoltativi e possono essere separati dalla - funzione tramite spazi o tab. La funzione è obbligatoria. - L'argomento può essere facoltativo o obbligatorio a seconda della - funzione usata.</para> - - <para>Gli <emphasis>indirizzi di linea numerati</emphasis> sono numeri - decimali di linea che partono dalla prima linea di input e si - incrementano di uno per ogni linea. Se vengono stabiliti più - file di input il contatore continua cumulativamente attraverso i file. - L'ultima linea di input può essere specificata con il carattere - $.</para> - - <para>Gli <emphasis>indirizzi di contesto</emphasis> sono schemi di - espressioni regolari racchiusi tra caratteri di slashe (/).</para> - - <para>I comandi possono avere 0, 1 o 2 indirizzi separati da virgola con i - seguenti effetti:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="2in"> - - <thead> - <row> - <entry># indirizzi</entry> - - <entry>linee considerate</entry> - </row> - </thead> - - <tbody> - <row> - <entry>0</entry> - - <entry>tutte le linee di input</entry> - </row> - - <row> - <entry>1</entry> - - <entry>solamente le linee che corrispondono agli indirizzi - specificati</entry> - </row> - - <row> - <entry>2</entry> - - <entry>dalla prima linea che corrisponde al primo indirizzo fino - alla linea che corrisponde al secondo indirizzo, inclusa. Il - processo viene ripetuto per le linee interne.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Le <emphasis>funzioni di sostituzione</emphasis> permettono di - ricercare contesti e sono specificate nella forma:</para> - - <para><command>s/<replaceable>schema_espressione_regolare</replaceable>/<replaceable>stringa_di_rimpiazzo</replaceable>/<replaceable>flag</replaceable></command></para> - - <para>e possono essere quotate con caratteri di quoting singoli (') se - sono specificate opzioni o funzioni aggiuntive. Questi schemi sono - identici agli indirizzi di contesto, eccetto che, mentre questi sono - normalmente chiusi tra slashe (/), nelle funzioni sono permessi alcuni - normali caratteri per specificare i delimitatori, oltre a newline e - spazio. La stringa di rimpiazzo non è uno schema di - espressione regolare; qui i caratteri non hanno significati speciali, - fatta eccezione di:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><emphasis>&</emphasis></entry> - - <entry>che sostituisce tale simbolo con la stringa - <replaceable>schema_espressione_regolare</replaceable></entry> - </row> - - <row> - <entry><emphasis>\<replaceable>n</replaceable></emphasis></entry> - - <entry>sostituisce tale simbolo con - l'<replaceable>n-esima</replaceable> stringa corrispondente a - <replaceable>schema_espressione_regolare</replaceable> chiusa - tra una coppia di '\(','\)'</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Questi caratteri speciali possono essere messi in escape con il - carattere backslash (\) per rimuovere il loro significato - speciale.</para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-e - <replaceable>script</replaceable></option></entry> - - <entry>script di editing</entry> - </row> - - <row> - <entry><option>-n</option></entry> - - <entry>non stampa l'output di default, ma solamente quelle linee - specificate dalle funzioni <command>p</command> o - <command>s///p</command></entry> - </row> - - <row> - <entry><option>-f - <replaceable>script_file</replaceable></option></entry> - - <entry>prende lo script di editing dal file specificato</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Alcune valide flag per le funzioni sostitutive sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><option>d</option></entry> - - <entry>cancella lo schema</entry> - </row> - - <row> - <entry><option>g</option></entry> - - <entry>sostituzione globale dello schema</entry> - </row> - - <row> - <entry><option>p</option></entry> - - <entry>stampa le linee</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <para>Questo esempio modifica tutte le accidentali virgole (,) in una - virgola seguita da uno spazio (, ) quindi crea l'output:</para> - - <screen>&prompt.user; <userinput>cat filey | sed s/,/,\ /g</userinput></screen> - - <para>Il seguente esempio rimuove tutte le accidentali - <emphasis>Jr</emphasis> precedute da uno spazio - (<emphasis>Jr</emphasis>) all'interno del file - <filename>filey</filename>:</para> - - <screen>&prompt.user; <userinput>cat filey | sed s/\ Jr//g</userinput></screen> - - <para>Per realizzare operazioni multiple sull'input, si precede ogni - operazione con l'opzione <option>-e</option> (edit) e si quota la - stringa. Ad esempio, per filtrare le linee contenenti <quote>Date: - </quote> e <quote>From: </quote> e rimpiazzarle senza i due punti - (:):</para> - - <screen>&prompt.user; <userinput>sed -e 's/Date: /Date /' -e 's/From: /From /'</userinput></screen> - - <para>Per visualizzare solamente le linee del file che iniziano con - <quote>Date:</quote> e includerne una che inizia con - <quote>Name:</quote>:</para> - - <screen>&prompt.user; <userinput>sed -n '/^Date:/,/^Name:/p'</userinput></screen> - - <para>Per stampare solamente le prime 10 linee dell'input (un rimpiazzo di - &man.head.1;):</para> - - <screen>&prompt.user; <userinput>sed -n 1,10p</userinput></screen> - </sect2> - - <sect2 id="text-processing-commands-awk-nawk-gawk"> - <title>awk, nawk, gawk</title> - - <para>&man.awk.1; è un linguaggio di elaborazione e ricerca di - schemi. Il suo nome deriva dalle ultime iniziali dei tre autori: - Alfred. V. Aho, Peter. J.Weinberger e Brian. W. Kernighan. - <command>nawk</command> è un <emphasis>nuovo</emphasis> - &man.awk.1;, una nuova versione del programma e &man.gawk.1; è - il <emphasis>gnu</emphasis> &man.awk.1;, da parte della Free Software - Foundation. Ogni versione è leggermente differente. Qui ci si - limiterà ad illustrare semplici esempi che potrebbero andar bene - per tutte le versioni. In alcuni sistemi operativi &man.awk.1; è - in realtà <command>nawk</command>.</para> - - <para>&man.awk.1; ricerca schemi nel suo input e realizza le operazioni - specificate su ogni linea o sui campi di linea che contengono tali - schemi. Le espressioni dello schema di confronto per &man.awk.1; - possono essere specificate sia attraverso linea di comando, sia - inserendole in un file e usando l'opzione <option>-f - <replaceable>file_programma</replaceable></option>.</para> - - <para><emphasis>Sintassi</emphasis></para> - - <para><command>awk <replaceable>programma</replaceable> - [<replaceable>file</replaceable>]</command></para> - - <para>dove <replaceable>programma</replaceable> è composto da uno o - più dei seguenti campi:</para> - - <para><replaceable>schema</replaceable> - { <replaceable>azione</replaceable> }</para> - - <para>Ogni linea di input viene verificata con lo schema di confronto - insieme alla specifica azione che bisogna realizzare per ogni - corrispondenza trovata. Questo continua attraverso la completa sequenza - di schemi, quindi la prossima linea di input viene verificata.</para> - - <para>L'<emphasis>input</emphasis> è diviso tra - <emphasis>record</emphasis> e <emphasis>campi</emphasis>. Il separatore - di <emphasis>record</emphasis> di default è newline e la - variabile <literal>NR</literal> tiene il conto dei record. Il - separatore di <emphasis>campo</emphasis> di default è uno spazio - bianco, <emphasis>spazi</emphasis> e <emphasis>tab</emphasis>, e la - variabile <literal>NF</literal> tiene il conto dei campi. I separatori - di input del campo, <literal>FS</literal> e del record, - <literal>RS</literal>, possono essere settati in qualsiasi momento per - farli corrispondere a singoli caratteri specifici. I separatori di - output del campo, <literal>OFS</literal> e del record, - <literal>ORS</literal>, possono essere modificati, se si desidera, con - singoli caratteri specifici. - <literal>$<replaceable>n</replaceable></literal>, dove - <replaceable>n</replaceable> è un intero, viene usato per - rappresentare l'<replaceable>n-esimo</replaceable> campo di un record - di input, mentre <literal>$0</literal> rappresenta l'intero record - di input.</para> - - <para><literal>BEGIN</literal> e <literal>END</literal> sono speciali - schemi che vengono verificati rispettivamente all'inizio dell'input, - prima che il primo campo sia letto e alla fine dell'input, dopo che - l'ultimo campo è stato letto.</para> - - <para>La <emphasis>stampa</emphasis> è permessa attraverso - l'istruzione <command>print</command> e l'istruzione per la stampa - formattata <command>printf</command>.</para> - - <para>Gli <emphasis>schemi</emphasis> (pattern) possono essere - espressioni regolari, espressioni aritmetiche relazionali, espressioni - di valutazione di stringhe e combinazioni buleane di alcune di queste. - In quest'ultimo caso gli schemi possono essere combinati con i seguenti - operatori buleani, usando le parentesi per definire le - combinazioni:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><emphasis>||</emphasis></entry> - - <entry>or</entry> - </row> - - <row> - <entry><emphasis>&&</emphasis></entry> - - <entry>and</entry> - </row> - - <row> - <entry><emphasis>!</emphasis></entry> - - <entry>not</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>La separazione di schemi con virgole definisce un - <emphasis>range</emphasis> in cui lo schema è applicabile, - esempio:</para> - - <para><command>/<replaceable>primo</replaceable>/,/<replaceable>ultimo</replaceable>/</command></para> - - <para>seleziona tutte le linee partendo con quella che contiene - <replaceable>primo</replaceable> e continuando inclusivamente fino alla - linea che contiene <replaceable>ultimo</replaceable>.</para> - - <para>Per selezionare le linee da 15 a 20 si usa il seguente - schema:</para> - - <para>NR==15 , NR==20</para> - - <para>Le <emphasis>espressioni regolari</emphasis> devono essere chiuse - tra slashe (/) e i meta-caratteri possono essere messi in escape con il - carattere di backslash (\). Le espressioni regolari possono essere - raggruppate con gli operatori seguenti:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><emphasis>|</emphasis></entry> - - <entry>per alternative separate</entry> - </row> - - <row> - <entry><emphasis>+</emphasis></entry> - - <entry>una o più</entry> - </row> - - <row> - <entry><emphasis>?</emphasis></entry> - - <entry>zero o una</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Un confronto di espressione regolare può essere specificato - con:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><emphasis>~</emphasis></entry> - - <entry>contiene l'espressione</entry> - </row> - - <row> - <entry><emphasis>!~</emphasis></entry> - - <entry>non contiene l'espressione</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Quindi il programma:</para> - - <programlisting>$1 ~ /[Ff]rank/</programlisting> - - <para>è vero se il primo campo, $1, contiene "Frank" o "frank" - dovunque all'interno del campo. Per confrontare un campo identico a - "Frank" o "frank" si usa:</para> - - <programlisting>$1 ~ /^[Ff]rank$/</programlisting> - - <para>Le <emphasis>espressioni relazionali</emphasis> sono permesse usando - i seguenti operatori relazionali:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="0.5in"> - - <tbody> - <row> - <entry><</entry> - - <entry>minore di</entry> - </row> - - <row> - <entry><=</entry> - - <entry>minore o uguale a</entry> - </row> - - <row> - <entry>= =</entry> - - <entry>uguale a</entry> - </row> - - <row> - <entry>>=</entry> - - <entry>maggiore o uguale a</entry> - </row> - - <row> - <entry>!=</entry> - - <entry>non uguale a</entry> - </row> - - <row> - <entry>></entry> - - <entry>maggiore di</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Non si può conoscere su due piedi se le variabili sono - stringhe o numeri. Se nessun operando è riconosciuto per essere - un numero, sono realizzati confronti di stringhe. Altrimenti, viene - realizzata una comparazione numerica. In mancanza di informazioni per - il contrario, viene realizzata una comparazione di stringa, così - questa:</para> - - <para>$1 > $2</para> - - <para>verrà valutata con valori di tipo stringa. Per assicurarsi - una valutazione numerica, costruire qualcosa simile a:</para> - - <para>( $1 + 0 ) > $2</para> - - <para>Le <emphasis>funzioni matematiche</emphasis> exp, log e sqrt sono di - tipo built-in.</para> - - <para>Altre funzioni <emphasis>built-in</emphasis> sono:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><emphasis>index(<replaceable>s</replaceable>,<replaceable>t</replaceable>)</emphasis></entry> - - <entry>ritorna la posizione della stringa - <replaceable>s</replaceable> dove si presenta il primo - <replaceable>t</replaceable> o 0 se non esiste</entry> - </row> - - <row> - <entry><emphasis>lenght(<replaceable>s</replaceable>)</emphasis></entry> - - <entry>ritorna la lunghezza della stringa - <replaceable>s</replaceable></entry> - </row> - - <row> - <entry><emphasis>substr(<replaceable>s</replaceable>,<replaceable>m</replaceable>,<replaceable>n</replaceable>)</emphasis></entry> - - <entry>ritorna l'<replaceable>n-esimo</replaceable> carattere della - sottostringa di <replaceable>s</replaceable>, iniziando dalla - posizione <replaceable>m</replaceable></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Gli <emphasis>array</emphasis> sono dichiarati automaticamente - quando vengono usati, per esempio:</para> - - <para><literal>arr[i]=$1</literal></para> - - <para>assegna il primo campo del corrente record di input all'i-esimo - elemento dell'array.</para> - - <para>Le espressioni di controllo di flusso <emphasis>if-else</emphasis>, - <emphasis>while</emphasis> e <emphasis>for</emphasis> sono permesse con - la sintassi del <emphasis>C</emphasis>:</para> - - <para><command>for (i=1; i <= NF; i++) {azioni}</command></para> - - <para><command>while (i<=NF) {azioni}</command></para> - - <para><command>if (i<NF) {azioni}</command></para> - - <para><emphasis>Opzioni generali</emphasis></para> - - <informaltable frame="none"> - <tgroup cols="2"> - <colspec colwidth="1.5in"> - - <tbody> - <row> - <entry><option>-f - <replaceable>file_programma</replaceable></option></entry> - - <entry>legge i comandi dal file specificato</entry> - </row> - - <row> - <entry><option>-F<replaceable>c</replaceable></option></entry> - - <entry>usa il carattere <replaceable>c</replaceable> come il - carattere di separatore di campo</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Esempi:</emphasis></para> - - <screen>&prompt.user; <userinput>cat filex | tr a-z A-Z | awk -F: '{printf("7R %-6s %-9s %-24s \n",$1,$2,$3)}' > upload.file</userinput></screen> - - <para>effettua <command>cat</command> su <filename>filex</filename>, che - è formattato in questo modo:</para> - - <programlisting>nfb791:99999999:smith -7ax791:999999999:jones -8ab792:99999999:chen -8aa791:999999999:mcnulty</programlisting> - - <para>cambiando tutti i caratteri minuscoli in caratteri maiuscoli con - l'utility &man.tr.1; e formattando il file come mostrato di seguito, il - quale viene scritto nel file <filename>upload.file</filename></para> - - <programlisting>7R NFB791 99999999 SMITH -7R 7AX791 999999999 JONES -7R 8AB792 99999999 CHEN -7R 8AA791 999999999 MCNULTY</programlisting> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "book" "chapter") - End: --->
\ No newline at end of file diff --git a/it_IT.ISO8859-15/flyer/Makefile b/it_IT.ISO8859-15/flyer/Makefile deleted file mode 100644 index 5d958266f0..0000000000 --- a/it_IT.ISO8859-15/flyer/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# $FreeBSD$ - -pdf: dvi ps - ps2pdf13 -sPAPERSIZE=a4 flyer.ps - -ps: dvi - dvips -t a4 flyer.dvi -o - -dvi: flyer.tex - latex flyer.tex - -clean: - rm -f flyer.aux flyer.dvi flyer.log flyer.pdf flyer.ps
\ No newline at end of file diff --git a/it_IT.ISO8859-15/flyer/flyer.tex b/it_IT.ISO8859-15/flyer/flyer.tex deleted file mode 100644 index 6ba9b3455d..0000000000 --- a/it_IT.ISO8859-15/flyer/flyer.tex +++ /dev/null @@ -1,180 +0,0 @@ -% Copyright (c) 2004 Marc Fonvieille -% All rights reserved. -% -% Redistribution and use in source and binary forms, with or without -% modification, are permitted provided that the following conditions -% are met: -% 1. Redistributions of source code must retain the above copyright -% notice, this list of conditions and the following disclaimer. -% 2. Redistributions in binary form must reproduce the above copyright -% notice, this list of conditions and the following disclaimer in the -% documentation and/or other materials provided with the distribution. -% -% THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -% ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -% ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -% FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -% DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -% OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -% HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -% SUCH DAMAGE. -% -% $FreeBSD$ -% Original revision: 1.5 -% -% Volantino di FreeBSD -% Usa make FORMAT (con FORMAT: pdf, ps o dvi) per creare il volantino. -% -\documentclass[11pt]{article} -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -% Use the right language -\usepackage[italian]{babel} -\usepackage{pslatex} -\usepackage{graphicx} -\usepackage{fancybox} -\usepackage{url} -% Use the right papersize, do not forget to change also the Makefile -\usepackage[verbose,a4paper,noheadfoot,margin=1cm]{geometry} -% Colors settings -\usepackage{color} -\definecolor{bkgrdtitle}{rgb}{1,.84,.22} -%\definecolor{bkgrdtitle}{rgb}{1,.81,.3} -%\definecolor{bkgrdtitle}{rgb}{1,.87,.32} -%\definecolor{redtitle}{rgb}{.82,0,0} -%\definecolor{redtitle}{rgb}{.7,.7,.9} -%\definecolor{redtitle}{rgb}{.6,0,0} -%\definecolor{redtitle}{rgb}{.4,0,0} -\definecolor{redtitle}{rgb}{.65,.16,.22} -\definecolor{ovalboxcolor}{rgb}{.65,.16,.22} - -% Some macros -\newcommand{\titledframe}[3]{% -\boxput*(0,1){\colorbox{bkgrdtitle}{\color{black} \large{\textbf{\textsf{#1}}}}} {\setlength {\fboxsep}{12pt} \color{ovalboxcolor}\Ovalbox {\color{black}\begin{minipage}{#3}#2\end{minipage}}} -} - -\newcommand{\reg}{$^{\mbox{\tiny \textregistered}}$} -\newcommand{\tm}{$^{\mbox{\tiny TM}}$} - -\newenvironment{itemizeflyer}% -{ \begin{list}% - {\textendash}% - { \setlength{\leftmargin}{5pt}% - \setlength{\itemsep}{0pt}% - \setlength{\parskip}{0pt}% - \setlength{\parsep}{0pt}}} -{ \end{list}} - -\pagestyle{empty} - -\begin{document} - -\begin{center} -\fontsize{40}{36}\selectfont -{\color{redtitle} \textrm{\textbf{FreeBSD}}} -\end{center} -%\vspace{2mm} - -% Main part -\begin{center} -\titledframe{Cos'è FreeBSD?}{ -FreeBSD è un sistema operativo avanzato per architetture compatibili x86 -(Intel\reg\ e AMD\tm), AMD64 (AMD Opteron\tm\ e Athlon\tm\ 64), Alpha, IA-64 -(Intel\reg\ Itanium\reg\ Processor Family), PC-98 e UltraSPARC\reg. -Attualmente sta per essere portato su architetture PowerPC\reg\ e MIPS. - -FreeBSD è derivato da BSD, la versione di UNIX\reg\ sviluppata all'Università -della California, Berkeley. -}{12.7cm} -\begin{minipage}{4cm} -\includegraphics[scale=0.3]{../../share/images/flyer/beastie.eps} -\end{minipage} - -\vspace{1mm} - -\titledframe{Funzionalità avanzate}{ -FreeBSD offre funzionalità di networking avanzato, prestazioni, sicurezza e -compatibilità che ad oggi mancano ancora in altri sistemi operativi, anche in -alcuni di quelli commerciali. -}{4.8cm} -\titledframe{\textsf{\textbf{Soluzioni Internet potenti}}}{ -FreeBSD include quella che molti considerano l'implementazione di -riferimento per il software TCP/IP, lo stack 4.4BSD del protocollo TCP/IP, -rendendolo così ideale per applicazioni di rete e Internet. -FreeBSD è ideale per un server Internet o Intranet. Fornisce servizi di rete -robusti sotto i carichi più pesanti e usa la memoria in maniera efficiente per -mantenere buoni tempi di risposta per migliaia di processi utente simultanei. -}{11.2cm} - -\vspace{5mm} - -\titledframe{Esegue un numero enorme di applicazioni}{ -FreeBSD è dotato di oltre 10000 pacchetti software di terze parti pronti per -essere installati, tra cui: Apache, Samba, MySQL\reg, OpenOffice.org, KDE, -GNOME, MPlayer, ecc.\\ - -FreeBSD fornisce il sistema dei port che scarica i sorgenti da Internet o da un -CD-ROM e li compila in forma binaria, inclusa l'installazione di ogni -dipendenza. Tutte queste operazioni sono fatte in modo trasparente per -l'utente.\\ - -La maggior parte dei binari per GNU/Linux funzionano sotto FreeBSD senza alcuna -perdita visibile di velocità, ad esempio: Acrobat Reader\reg, Oracle\reg, -SAP/R3\reg, Mathematica\reg, Quake3, ecc. -}{17.3cm} - -\vspace{5mm} - -\titledframe{FreeBSD è facile da installare}{ -FreeBSD può essere installato da una varietà di supporti, inclusi CD-ROM, -DVD-ROM, floppy disk, nastri magnetici, partizioni MS-DOS\reg, o, se hai una -connessione di rete, puoi installarlo direttamente tramite FTP anonimo o NFS. -}{17.3cm} - -\vspace{5mm} - -\titledframe{FreeBSD è libero}{ -FreeBSD è disponibile gratuitamente e viene fornito con il codice sorgente -completo. La maggior parte del codice sorgente del sistema FreeBSD è -disponibile sotto la licenza standard BSD. A differenza della licenza GPL -usata dal kernel di Linux, la licenza BSD permette la distribuzione di -software derivato senza accompagnamento del codice sorgente. Questo permette -alle società di usare il codice di FreeBSD come base di un prodotto -proprietario, portando spesso come ritorno alla comunità il rilascio di alcune -parti di quello che fanno. -}{17.3cm} - -\vspace{5mm} - -\titledframe{Può eseguire quasi ogni operazione}{ -FreeBSD è adatto per un gran numero di applicazioni desktop, server, embedded -o appliance. Oggi, FreeBSD non è più solo un sistema operativo server ma punta -anche agli utenti finali, specialmente agli utenti che arrivano da -Windows\reg\ e GNU/Linux. -}{17.3cm} - -\vspace{5mm} - -\titledframe{Contatti}{ -\begin{itemizeflyer} -\item Sito Web: \url{http://www.FreeBSD.org/it/} -\item Manuale di FreeBSD: \url{http://www.freebsd.org/doc/it_IT.ISO8859-15/books/handbook/} -\end{itemizeflyer} -}{17.3cm} -\end{center} -% -% Copyrights -\begin{center} -\tiny \copyright 2004 The FreeBSD Project\\ -FreeBSD è un marchio registrato di Wind River Systems, Inc. -È previsto che cambi a breve.\\ -Tutti gli altri nomi di società e prodotti possono essere marchi delle loro -rispettive società.\\ -BSD Daemon, \copyright 1988 by Marshall Kirk McKusick. -Tutti i diritti riservati. -\end{center} - -\end{document} diff --git a/it_IT.ISO8859-15/share/sgml/articles.ent b/it_IT.ISO8859-15/share/sgml/articles.ent deleted file mode 100644 index 21c1259994..0000000000 --- a/it_IT.ISO8859-15/share/sgml/articles.ent +++ /dev/null @@ -1,30 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<!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 % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EN"> -%newsgroups; -<!ENTITY % it-trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//IT"> -%it-trademarks; -<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN"> -%trademarks; -<!ENTITY % l10n PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN"> -%l10n; -<!ENTITY % l10n-common PUBLIC "-//FreeBSD//ENTITIES DocBook Language Neutral Entities//EN"> -%l10n-common; -<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN"> -%urls; -<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"> -%translators; diff --git a/it_IT.ISO8859-15/share/sgml/bookinfo.ent b/it_IT.ISO8859-15/share/sgml/bookinfo.ent deleted file mode 100644 index 60b4817d41..0000000000 --- a/it_IT.ISO8859-15/share/sgml/bookinfo.ent +++ /dev/null @@ -1,19 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Riferimenti ad altri files che possono essere inclusi all'interno di un - elemento DocBook BookInfo. - - I nomi delle entità prendono la forma "bookinfo.<element>", dove <element> - è il nome dell'elemento più esterno nell'entità. Esempi possono essere - "bookinfo.legalnotice", e "bookinfo.preface". - - $FreeBSD$ - Original revision: 1.4 ---> - -<!ENTITY bookinfo.legalnotice SYSTEM "legalnotice.sgml"> - -<!ENTITY bookinfo.trademarks SYSTEM "trademarks.sgml"> - -<!ENTITY bookinfo.freebsd-glossary SYSTEM "glossary/freebsd-glossary.sgml"> diff --git a/it_IT.ISO8859-15/share/sgml/books.ent b/it_IT.ISO8859-15/share/sgml/books.ent deleted file mode 100644 index 040073a2bd..0000000000 --- a/it_IT.ISO8859-15/share/sgml/books.ent +++ /dev/null @@ -1,32 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ ---> - -<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> -%man; -<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//IT"> -%bookinfo; -<!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 % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EN"> -%newsgroups; -<!ENTITY % it-trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//IT"> -%it-trademarks; -<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN"> -%trademarks; -<!ENTITY % l10n PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN"> -%l10n; -<!ENTITY % l10n-common PUBLIC "-//FreeBSD//ENTITIES DocBook Language Neutral Entities//EN"> -%l10n-common; -<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN"> -%urls; -<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT"> -%translators; diff --git a/it_IT.ISO8859-15/share/sgml/catalog b/it_IT.ISO8859-15/share/sgml/catalog deleted file mode 100644 index 7f14953f24..0000000000 --- a/it_IT.ISO8859-15/share/sgml/catalog +++ /dev/null @@ -1,35 +0,0 @@ - -- ...................................................................... -- - -- FreeBSD SGML Public Identifiers ...................................... -- - - -- ...................................................................... -- - -- Italian specific ..................................................... -- - - -- $FreeBSD$ - -- - -PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN" - "freebsd.dsl" - -PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN" - "articles.ent" - -PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EN" - "books.ent" - -PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN" - "l10n.ent" - -PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//IT" - "mailing-lists.ent" - -PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//IT" - "bookinfo.ent" - -PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//IT" - "freebsd.dsl" - -PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT" - "translators.ent" - -PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//IT" - "trademarks.ent" diff --git a/it_IT.ISO8859-15/share/sgml/freebsd.dsl b/it_IT.ISO8859-15/share/sgml/freebsd.dsl deleted file mode 100644 index 3a4dd642b9..0000000000 --- a/it_IT.ISO8859-15/share/sgml/freebsd.dsl +++ /dev/null @@ -1,72 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.20 ---> - -<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ -<!ENTITY freebsd.dsl PUBLIC "-//FreeBSD//DOCUMENT DocBook Language Neutral Stylesheet//EN" CDATA DSSSL> -<!ENTITY % output.html "IGNORE"> -<!ENTITY % output.print "IGNORE"> -<!ENTITY % output.print.niceheaders "IGNORE"> -]> - -<style-sheet> - <style-specification use="docbook"> - <style-specification-body> - <!-- HTML only .................................................... --> - - <![ %output.html; [ - - <!-- Generate links to HTML man pages --> - (define %refentry-xref-link% #t) - - (define ($email-footer$) - (make sequence - (make element gi: "p" - attributes: (list (list "align" "center")) - (make element gi: "small" - (literal "Questo, ed altri documenti, possono essere scaricati da ") - (create-link - (list (list "HREF" "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/")) - (literal "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/")) - (literal "."))) - (make element gi: "p" - attributes: (list (list "align" "center")) - (make element gi: "small" - (literal "Per domande su FreeBSD, leggi la ") - (create-link - (list (list "HREF" "http://www.FreeBSD.org/docs.html")) - (literal "documentazione")) - (literal " prima di contattare <") - (create-link - (list (list "HREF" "mailto:questions@FreeBSD.org")) - (literal "questions@FreeBSD.org")) - (literal ">.") - (make empty-element gi: "br") - (literal "Per domande su questa documentazione, invia una e-mail a <") - (create-link (list (list "HREF" "mailto:doc@FreeBSD.org")) - (literal "doc@FreeBSD.org")) - (literal ">."))))) - ]]> - - <!-- Both sets of stylesheets ..................................... --> - - (define (local-it-label-title-sep) - (list - (list (normalize "warning") ": ") - (list (normalize "caution") ": ") - (list (normalize "chapter") " ") - (list (normalize "sect1") " ") - (list (normalize "sect2") " ") - (list (normalize "sect3") " ") - (list (normalize "sect4") " ") - (list (normalize "sect5") " ") - )) - - </style-specification-body> - </style-specification> - - <external-specification id="docbook" document="freebsd.dsl"> -</style-sheet> diff --git a/it_IT.ISO8859-15/share/sgml/glossary/freebsd-glossary.sgml b/it_IT.ISO8859-15/share/sgml/glossary/freebsd-glossary.sgml deleted file mode 100644 index 6364c70ced..0000000000 --- a/it_IT.ISO8859-15/share/sgml/glossary/freebsd-glossary.sgml +++ /dev/null @@ -1,1744 +0,0 @@ -<!-- - FreeBSD Glossary Terms - - $FreeBSD$ - Original revision: 1.17 ---> - -<glossary status="draft" id="freebsd-glossary"> - <title>Glossario di &os;</title> - - <para>Questo glossario contiene i termini e gli acronimi usati nella - comunità e documentazione di &os;.</para> - - <glossdiv> - <title>A</title> - - <glossentry> - <glossterm>ACL</glossterm> - <glosssee otherterm="acl-glossary"> - </glossentry> - - <glossentry> - <glossterm>ACPI</glossterm> - <glosssee otherterm="acpi-glossary"> - </glossentry> - - <glossentry> - <glossterm>AMD</glossterm> - <glosssee otherterm="amd-glossary"> - </glossentry> - - <glossentry> - <glossterm>AML</glossterm> - <glosssee otherterm="aml-glossary"> - </glossentry> - - <glossentry> - <glossterm>APIC</glossterm> - <glosssee otherterm="apic-glossary"> - </glossentry> - - <glossentry> - <glossterm>APM</glossterm> - <glosssee otherterm="apm-glossary"> - </glossentry> - - <glossentry> - <glossterm>APOP</glossterm> - <glosssee otherterm="apop-glossary"> - </glossentry> - - <glossentry> - <glossterm>ASL</glossterm> - <glosssee otherterm="asl-glossary"> - </glossentry> - - <glossentry> - <glossterm>ATA</glossterm> - <glosssee otherterm="ata-glossary"> - </glossentry> - - <glossentry> - <glossterm>ATM</glossterm> - <glosssee otherterm="atm-glossary"> - </glossentry> - - <glossentry id="aml-glossary"> - <glossterm><acronym>ACPI</acronym> Machine Language</glossterm> - <acronym>AML</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="asl-glossary"> - <glossterm><acronym>ACPI</acronym> Source Language</glossterm> - <acronym>ASL</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="acl-glossary"> - <glossterm>Access Control List</glossterm> - <acronym>ACL</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="acpi-glossary"> - <glossterm>Advanced Configuration and Power Interface</glossterm> - <acronym>ACPI</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="apm-glossary"> - <glossterm>Advanced Power Management</glossterm> - <acronym>APM</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="apic-glossary"> - <glossterm>Advanced Programmable Interrupt Controller</glossterm> - <acronym>APIC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ata-glossary"> - <glossterm>Advanced Technology Attachment</glossterm> - <acronym>ATA</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="atm-glossary"> - <glossterm>Asynchronous Transfer Mode</glossterm> - <acronym>ATM</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="apop-glossary"> - <glossterm>Authenticated Post Office Protocol</glossterm> - <acronym>APOP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="amd-glossary"> - <glossterm>Automatic Mount Daemon</glossterm> - <acronym>AMD</acronym> - <glossdef> - <para>Un demone che monta automaticamente un filesystem quando si - cerca di accedere a un file o una directory all'interno di quel - filesystem.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>B</title> - - <glossentry> - <glossterm>BIND</glossterm> - <glosssee otherterm="bind-glossary"> - </glossentry> - - <glossentry> - <glossterm>BIOS</glossterm> - <glosssee otherterm="bios-glossary"> - </glossentry> - - <glossentry> - <glossterm>BSD</glossterm> - <glosssee otherterm="bsd-glossary"> - </glossentry> - - <glossentry id="bios-glossary"> - <glossterm>Basic Input/Output System</glossterm> - <acronym>BIOS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="bind-glossary"> - <glossterm>Berkeley Internet Name Domain</glossterm> - <acronym>BIND</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="bsd-glossary"> - <glossterm>Berkeley Software Distribution</glossterm> - <acronym>BSD</acronym> - <glossdef> - <para>Questo è il nome che il Computer Systems Research Group - (CSRG) all'<ulink url="http://www.berkeley.edu">Università - della California a Berkeley</ulink> diede ai loro miglioramenti e - alle loro modifiche al sistema &unix; AT&T's 32V. - &os; è un discendente del lavoro del CSRG.</para> - </glossdef> - </glossentry> - - <glossentry id="bikeshed-glossary"> - <glossterm>Bikeshed Building</glossterm> - <glossdef subject="FreeBSD"> - <para>Il fenomeno per cui molte persone danno la loro opinione su un - argomento non complicato, mentre un argomento più complesso - riceve poca o nessuna considerazione. Guarda le <ulink - url="&url.books.faq.en;/misc.html#BIKESHED-PAINTING">FAQ</ulink> - per l'origine del termine.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>C</title> - - <glossentry> - <glossterm>CD</glossterm> - <glosssee otherterm="cd-glossary"> - </glossentry> - - <glossentry> - <glossterm>CHAP</glossterm> - <glosssee otherterm="chap-glossary"> - </glossentry> - - <glossentry> - <glossterm>CLIP</glossterm> - <glosssee otherterm="clip-glossary"> - </glossentry> - - <glossentry> - <glossterm>COFF</glossterm> - <glosssee otherterm="coff-glossary"> - </glossentry> - - <glossentry> - <glossterm>CPU</glossterm> - <glosssee otherterm="cpu-glossary"> - </glossentry> - - <glossentry> - <glossterm>CTS</glossterm> - <glosssee otherterm="cts-glossary"> - </glossentry> - - <glossentry> - <glossterm>CVS</glossterm> - <glosssee otherterm="cvs-glossary"> - </glossentry> - - <glossentry id="cd-glossary"> - <glossterm>Carrier Detect</glossterm> - <acronym>CD</acronym> - <glossdef> - <para>An RS232C signal indicating that a carrier has been - detected.</para> - </glossdef> - </glossentry> - - <glossentry id="cpu-glossary"> - <glossterm>Central Processing Unit</glossterm> - <acronym>CPU</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="chap-glossary"> - <glossterm>Challenge Handshake Authentication Protocol</glossterm> - <acronym>CHAP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="clip-glossary"> - <glossterm>Classical <acronym>IP</acronym> over <acronym>ATM</acronym></glossterm> - <acronym>CLIP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="cts-glossary"> - <glossterm>Clear To Send</glossterm> - <acronym>CTS</acronym> - <glossdef> - <para>Un segnale RS232C che dà al sistema remoto il permesso di - inviare dati.</para> - </glossdef> - </glossentry> - - <glossentry id="coff-glossary"> - <glossterm>Common Object File Format</glossterm> - <acronym>COFF</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="cvs-glossary"> - <glossterm>Concurrent Versions System</glossterm> - <acronym>CVS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>D</title> - - <glossentry> - <glossterm>DAC</glossterm> - <glosssee otherterm="dac-glossary"> - </glossentry> - - <glossentry> - <glossterm>DDB</glossterm> - <glosssee otherterm="ddb-glossary"> - </glossentry> - - <glossentry> - <glossterm>DES</glossterm> - <glosssee otherterm="des-glossary"> - </glossentry> - - <glossentry> - <glossterm>DHCP</glossterm> - <glosssee otherterm="dhcp-glossary"> - </glossentry> - - <glossentry> - <glossterm>DNS</glossterm> - <glosssee otherterm="dns-glossary"> - </glossentry> - - <glossentry> - <glossterm>DSDT</glossterm> - <glosssee otherterm="dsdt-glossary"> - </glossentry> - - <glossentry> - <glossterm>DSR</glossterm> - <glosssee otherterm="dsr-glossary"> - </glossentry> - - <glossentry> - <glossterm>DTR</glossterm> - <glosssee otherterm="dtr-glossary"> - </glossentry> - - <glossentry> - <glossterm>DVMRP</glossterm> - <glosssee otherterm="dvmrp-glossary"> - </glossentry> - - <glossentry id="dac-glossary"> - <glossterm>Discretionary Access Control</glossterm> - <acronym>DAC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="des-glossary"> - <glossterm>Data Encryption Standard</glossterm> - <acronym>DES</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="dsr-glossary"> - <glossterm>Data Set Ready</glossterm> - <acronym>DSR</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="dtr-glossary"> - <glossterm>Data Terminal Ready</glossterm> - <acronym>DTR</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ddb-glossary"> - <glossterm>Debugger</glossterm> - <acronym>DDB</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="dsdt-glossary"> - <glossterm>Differentiated System Description Table</glossterm> - <acronym>DSDT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="dvmrp-glossary"> - <glossterm>Distance-Vector Multicast Routing Protocol</glossterm> - <acronym>DVMRP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="dns-glossary"> - <glossterm>Domain Name System</glossterm> - <acronym>DNS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="dhcp-glossary"> - <glossterm>Dynamic Host Configuration Protocol</glossterm> - <acronym>DHCP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>E</title> - - <glossentry> - <glossterm>ECOFF</glossterm> - <glosssee otherterm="ecoff-glossary"> - </glossentry> - - <glossentry> - <glossterm>ELF</glossterm> - <glosssee otherterm="elf-glossary"> - </glossentry> - - <glossentry> - <glossterm>ESP</glossterm> - <glosssee otherterm="esp-glossary"> - </glossentry> - - <glossentry id="esp-glossary"> - <glossterm>Encapsulated Security Payload</glossterm> - <acronym>ESP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="elf-glossary"> - <glossterm>Executable and Linking Format</glossterm> - <acronym>ELF</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ecoff-glossary"> - <glossterm>Extended <acronym>COFF</acronym></glossterm> - <acronym>ECOFF</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>F</title> - - <glossentry> - <glossterm>FADT</glossterm> - <glosssee otherterm="fadt-glossary"> - </glossentry> - - <glossentry> - <glossterm>FAT</glossterm> - <glosssee otherterm="fat-glossary"> - </glossentry> - - <glossentry> - <glossterm>FAT16</glossterm> - <glosssee otherterm="fat16-glossary"> - </glossentry> - - <glossentry> - <glossterm>FTP</glossterm> - <glosssee otherterm="ftp-glossary"> - </glossentry> - - <glossentry id="fat-glossary"> - <glossterm>File Allocation Table</glossterm> - <acronym>FAT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="fat16-glossary"> - <glossterm>File Allocation Table (16-bit)</glossterm> - <acronym>FAT16</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ftp-glossary"> - <glossterm>File Transfer Protocol</glossterm> - <acronym>FTP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="fadt-glossary"> - <glossterm>Fixed <acronym>ACPI</acronym> Description Table</glossterm> - <acronym>FADT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossdiv> - - <glossdiv> - <title>G/title> - - <glossentry> - <glossterm>GUI</glossterm> - <glosssee otherterm="gui-glossary"> - </glossentry> - - <glossentry id="giant-glossary"> - <glossterm>Giant</glossterm> - <glossdef subject="FreeBSD"> - <para>Il nome di un meccanismo di mutua esclusione (uno <literal>sleep - mutex</literal>) che protegge un grosso insieme di risorse del - kernel. Sebbene un semplice meccanismo di locking era adeguato nei - giorni in cui una macchina poteva avere solo qualche dozzina di - processi, una scheda di rete, e certamente un solo processore, nei - tempi attuali è un inaccettabile collo di bottiglia per le - prestazioni. Gli sviluppatori di &os; stanno lavorando attivamente - per sostituirlo con dei lock che proteggono le singole risorse, in - modo tale da permettere un grado molto piu' alto di parallelismo sia - per macchine a singolo processore che per quelle multi - processore.</para> - </glossdef> - </glossentry> - - <glossentry id="gui-glossary"> - <glossterm>Graphical User Interface</glossterm> - <acronym>GUI</acronym> - <glossdef> - <para>Un sistema dove l'utente e il computer interagiscono con la - grafica.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>H</title> - - <glossentry> - <glossterm>HTML</glossterm> - <glosssee otherterm="html-glossary"> - </glossentry> - - <glossentry> - <glossterm>HUP</glossterm> - <glosssee otherterm="hup-glossary"> - </glossentry> - - <glossentry id="hup-glossary"> - <glossterm>HangUp</glossterm> - <acronym>HUP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="html-glossary"> - <glossterm>HyperText Markup Language</glossterm> - <acronym>HTML</acronym> - <glossdef> - <para>Il linguaggio di marcazione usato per creare le pagine web.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>I</title> - - <glossentry> - <glossterm>I/O</glossterm> - <glosssee otherterm="io-glossary"> - </glossentry> - - <glossentry> - <glossterm>IASL</glossterm> - <glosssee otherterm="iasl-glossary"> - </glossentry> - - <glossentry> - <glossterm>IMAP</glossterm> - <glosssee otherterm="imap-glossary"> - </glossentry> - - <glossentry> - <glossterm>IP</glossterm> - <glosssee otherterm="ip-glossary"> - </glossentry> - - <glossentry> - <glossterm>IPFW</glossterm> - <glosssee otherterm="ipfw-glossary"> - </glossentry> - - <glossentry> - <glossterm>IPP</glossterm> - <glosssee otherterm="ipp-glossary"> - </glossentry> - - <glossentry> - <glossterm>IPv4</glossterm> - <glosssee otherterm="ipv4-glossary"> - </glossentry> - - <glossentry> - <glossterm>IPv6</glossterm> - <glosssee otherterm="ipv6-glossary"> - </glossentry> - - <glossentry> - <glossterm>ISP</glossterm> - <glosssee otherterm="isp-glossary"> - </glossentry> - - <glossentry id="ipfw-glossary"> - <glossterm><acronym>IP</acronym> Firewall</glossterm> - <acronym>IPFW</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ipv4-glossary"> - <glossterm><acronym>IP</acronym> Version 4</glossterm> - <acronym>IPv4</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ipv6-glossary"> - <glossterm><acronym>IP</acronym> Version 6</glossterm> - <acronym>IPv6</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="io-glossary"> - <glossterm>Input/Output</glossterm> - <acronym>I/O</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="iasl-glossary"> - <glossterm>Intel’s <acronym>ASL</acronym> compiler</glossterm> - <acronym>IASL</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="imap-glossary"> - <glossterm>Internet Message Access Protocol</glossterm> - <acronym>IMAP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ipp-glossary"> - <glossterm>Internet Printing Protocol</glossterm> - <acronym>IPP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ip-glossary"> - <glossterm>Internet Protocol</glossterm> - <acronym>IP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="isp-glossary"> - <glossterm>Internet Service Provider</glossterm> - <acronym>ISP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossdiv> - - <glossdiv> - <title>K</title> - - <glossentry id="kame-glossary"> - <glossterm>KAME</glossterm> - <glossdef> - <para><quote>Tartaruga</quote> in giapponese, il termine KAME è - usato nei circoli informatici per riferirsi al <ulink - url="http://www.kame.net/">KAME Project</ulink>, che lavora su - una implementazione di <acronym>IPv6</acronym>.</para> - </glossdef> - </glossentry> - - <glossentry> - <glossterm>KDC</glossterm> - <glosssee otherterm="kdc-glossary"> - </glossentry> - - <glossentry> - <glossterm>KLD</glossterm> - <glosssee otherterm="kld-glossary"> - </glossentry> - - <glossentry> - <glossterm>KSE</glossterm> - <glosssee otherterm="kse-glossary"> - </glossentry> - - <glossentry> - <glossterm>KVA</glossterm> - <glosssee otherterm="kva-glossary"> - </glossentry> - - <glossentry> - <glossterm>Kbps</glossterm> - <glosssee otherterm="kbps-glossary"> - </glossentry> - - <glossentry id="kld-glossary"> - <glossterm>Kernel &man.ld.1;</glossterm> - <acronym>KLD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="kse-glossary"> - <glossterm>Kernel Scheduler Entities</glossterm> - <acronym>KSE</acronym> - <glossdef> - <para>Un sistema di threading supportato dal kernel. Guarda l'<ulink - url="http://www.FreeBSD.org/kse">home page del progetto</ulink> per - ulteriori dettagli.</para> - </glossdef> - </glossentry> - - <glossentry id="kva-glossary"> - <glossterm>Kernel Virtual Address</glossterm> - <acronym>KVA</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="kdc-glossary"> - <glossterm>Key Distribution Center</glossterm> - <acronym>KDC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="kbps-glossary"> - <glossterm>Kilo Bits Per Second</glossterm> - <acronym>Kbps</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>L</title> - - <glossentry> - <glossterm>LAN</glossterm> - <glosssee otherterm="lan-glossary"> - </glossentry> - - <glossentry> - <glossterm>LOR</glossterm> - <glosssee otherterm="lor-glossary"> - </glossentry> - - <glossentry> - <glossterm>LPD</glossterm> - <glosssee otherterm="lpd-glossary"> - </glossentry> - - <glossentry id="lpd-glossary"> - <glossterm>Line Printer Daemon</glossterm> - <acronym>LPD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="lan-glossary"> - <glossterm>Local Area Network</glossterm> - <acronym>LAN</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="lor-glossary"> - <glossterm>Lock Order Reversal</glossterm> - <acronym>LOR</acronym> - <glossdef> - <para>Il kernel di &os; usa un certo numero di lock sulle risorse per - arbitrare la contesa di queste risorse. Un sistema di diagnostica - dei lock a run-time è presente nei kernel di &os.current; - (ma viene rimosso per le release), chiamato &man.witness.4;, e - rileva la possibilità di deadlock dovuti ad errori di locking. - (&man.witness.4; è in verità leggermente conservativo, - quindi è possibili ottenere falsi positivi.) Un report - veramente positivo indica che <quote>se tu fossi stato sfortunato, un - deadlock si sarebbe verificato qui</quote>.</para> - - <para>LOR veramente positivi tendono ad essere corretti velocemente, - quindi controlla &a.current.url; e la pagina sui <ulink - url="http://sources.zabbadoz.net/freebsd/lor.html">LOR - Scoperti</ulink> prima di inviare un messaggio sulle mailing - list.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>M</title> - - <glossentry> - <glossterm>MAC</glossterm> - <glosssee otherterm="mac-glossary"> - </glossentry> - - <glossentry> - <glossterm>MADT</glossterm> - <glosssee otherterm="madt-glossary"> - </glossentry> - - <glossentry> - <glossterm>MFC</glossterm> - <glosssee otherterm="mfc-glossary"> - </glossentry> - - <glossentry> - <glossterm>MFS</glossterm> - <glosssee otherterm="mfs-glossary"> - </glossentry> - - <glossentry> - <glossterm>MIT</glossterm> - <glosssee otherterm="mit-glossary"> - </glossentry> - - <glossentry> - <glossterm>MLS</glossterm> - <glosssee otherterm="mls-glossary"> - </glossentry> - - <glossentry> - <glossterm>MOTD</glossterm> - <glosssee otherterm="motd-glossary"> - </glossentry> - - <glossentry> - <glossterm>MTA</glossterm> - <glosssee otherterm="mta-glossary"> - </glossentry> - - <glossentry> - <glossterm>MUA</glossterm> - <glosssee otherterm="mua-glossary"> - </glossentry> - - <glossentry id="mta-glossary"> - <glossterm>Mail Transfer Agent</glossterm> - <acronym>MTA</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="mua-glossary"> - <glossterm>Mail User Agent</glossterm> - <acronym>MUA</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="mac-glossary"> - <glossterm>Mandatory Access Control</glossterm> - <acronym>MAC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="mit-glossary"> - <glossterm>Massachusetts Institute of Technology</glossterm> - <acronym>MIT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="mfc-glossary"> - <glossterm>Merge From Current</glossterm> - <acronym>MFC</acronym> - <glossdef subject="FreeBSD"> - <para>Fondere una funzionalità o una patch dal ramo -CURRENT - a un altro, quasi sempre -STABLE.</para> - </glossdef> - </glossentry> - - <glossentry id="mfs-glossary"> - <glossterm>Merge From Stable</glossterm> - <acronym>MFS</acronym> - <glossdef subject="FreeBSD"> - <para>Nel corso normale dello sviluppo di FreeBSD, una modifica - sarà inserita nel ramo -CURRENT per i test prima di essere - fusa nel ramo -STABLE. In rare occasioni, una modifica andrà - prima del ramo -STABLE e poi incorporata nel -CURRENT.</para> - - <para>Questo termine è anche usato quando una patch viene - portata dal ramo -STABLE a un ramo di sicurezza.</para> - <glossseealso otherterm="mfc-glossary"> - </glossdef> - </glossentry> - - <glossentry id="motd-glossary"> - <glossterm>Message Of The Day</glossterm> - <acronym>MOTD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="mls-glossary"> - <glossterm>Multi-Level Security</glossterm> - <acronym>MLS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="madt-glossary"> - <glossterm>Multiple <acronym>APIC</acronym> Description Table</glossterm> - <acronym>MADT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>N</title> - - <glossentry> - <glossterm>NAT</glossterm> - <glosssee otherterm="nat-glossary"> - </glossentry> - - <glossentry> - <glossterm>NDISulator</glossterm> - <glosssee otherterm="projectevil-glossary"> - </glossentry> - - <glossentry> - <glossterm>NFS</glossterm> - <glosssee otherterm="nfs-glossary"> - </glossentry> - - <glossentry> - <glossterm>NTFS</glossterm> - <glosssee otherterm="ntfs-glossary"> - </glossentry> - - <glossentry> - <glossterm>NTP</glossterm> - <glosssee otherterm="ntp-glossary"> - </glossentry> - - <glossentry id="nat-glossary"> - <glossterm>Network Address Translation</glossterm> - <acronym>NAT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="nfs-glossary"> - <glossterm>Network File System</glossterm> - <acronym>NFS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ntfs-glossary"> - <glossterm>New Technology File System</glossterm> - <acronym>NTFS</acronym> - <glossdef> - <para>Un filesystem sviluppato dalla Microsoft e disponibile nei suoi - sistemi operativi a <quote>Nuova Tecnologia</quote>, come - &windows2k;, &windowsnt; e &windowsxp;.</para> - </glossdef> - </glossentry> - - <glossentry id="ntp-glossary"> - <glossterm>Network Time Protocol</glossterm> - <acronym>NTP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>O</title> - - <glossentry> - <glossterm>OBE</glossterm> - <glosssee otherterm="obe-glossary"> - </glossentry> - - <glossentry> - <glossterm>ODMR</glossterm> - <glosssee otherterm="odmr-glossary"> - </glossentry> - - <glossentry> - <glossterm>OS</glossterm> - <glosssee otherterm="os-glossary"> - </glossentry> - - <glossentry id="odmr-glossary"> - <glossterm>On-Demand Mail Relay</glossterm> - <acronym>ODMR</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="os-glossary"> - <glossterm>Operating System</glossterm> - <acronym>OS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="obe-glossary"> - <glossterm>Overtaken By Events</glossterm> - <acronym>OBE</acronym> - <glossdef> - <para>Indica una modifica consigliata (come un Report di Bug o una - richiesta di miglioramento) che non è più rilevante o - applicabile a causa di altre modifiche successive a &os;, modifiche - agli standard di rete, obsolescenza dell'hardware affetto, e - così via.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>P</title> - - <glossentry> - <glossterm>PAE</glossterm> - <glosssee otherterm="pae-glossary"> - </glossentry> - - <glossentry> - <glossterm>PAM</glossterm> - <glosssee otherterm="pam-glossary"> - </glossentry> - - <glossentry> - <glossterm>PAP</glossterm> - <glosssee otherterm="pap-glossary"> - </glossentry> - - <glossentry> - <glossterm>PC</glossterm> - <glosssee otherterm="pc-glossary"> - </glossentry> - - <glossentry> - <glossterm>PCNSFD</glossterm> - <glosssee otherterm="pcnfsd-glossary"> - </glossentry> - - <glossentry> - <glossterm>PDF</glossterm> - <glosssee otherterm="pdf-glossary"> - </glossentry> - - <glossentry> - <glossterm>PID</glossterm> - <glosssee otherterm="pid-glossary"> - </glossentry> - - <glossentry> - <glossterm>POLA</glossterm> - <glosssee otherterm="pola-glossary"> - </glossentry> - - <glossentry> - <glossterm>POP</glossterm> - <glosssee otherterm="pop-glossary"> - </glossentry> - - <glossentry> - <glossterm>POP3</glossterm> - <glosssee otherterm="pop3-glossary"> - </glossentry> - - <glossentry> - <glossterm>PPD</glossterm> - <glosssee otherterm="ppd-glossary"> - </glossentry> - - <glossentry> - <glossterm>PPP</glossterm> - <glosssee otherterm="ppp-glossary"> - </glossentry> - - <glossentry> - <glossterm>PPPoA</glossterm> - <glosssee otherterm="pppoa-glossary"> - </glossentry> - - <glossentry> - <glossterm>PPPoE</glossterm> - <glosssee otherterm="pppoe-glossary"> - </glossentry> - - <glossentry id="pppoa-glossary"> - <glossterm><acronym>PPP</acronym> over <acronym>ATM</acronym></glossterm> - <acronym>PPPoA</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pppoe-glossary"> - <glossterm><acronym>PPP</acronym> over <acronym>Ethernet</acronym></glossterm> - <acronym>PPPoE</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - <glossentry> - <glossterm>PR</glossterm> - <glosssee otherterm="pr-glossary"> - </glossentry> - - <glossentry> - <glossterm>PXE</glossterm> - <glosssee otherterm="pxe-glossary"> - </glossentry> - - <glossentry id="pap-glossary"> - <glossterm>Password Authentication Protocol</glossterm> - <acronym>PAP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pc-glossary"> - <glossterm>Personal Computer</glossterm> - <acronym>PC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pcnfsd-glossary"> - <glossterm>Personal Computer Network File System Daemon</glossterm> - <acronym>PCNFSD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pae-glossary"> - <glossterm>Physical Address Extensions</glossterm> - <acronym>PAE</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pam-glossary"> - <glossterm>Pluggable Authentication Modules</glossterm> - <acronym>PAM</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ppp-glossary"> - <glossterm>Point-to-Point Protocol</glossterm> - <acronym>PPP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pointyhat-glossary"> - <glossterm>Pointy Hat</glossterm> - <glossdef subject="FreeBSD"> - <para>Un mitico esemplare di copricapo, molto simile alle - <literal>orecchie d'asino</literal>, assegnato a ogni committer di - &os; che rompe la compilazione, fa andare indietro i numeri di - versione, o crea qualsiasi altro tipo di strage nel codice sorgente. - Ogni committer degno del suo senno ne accumulerà presto una - grande collezione. L'utilizzo è (quasi sempre?) - umoristico.</para> - </glossdef> - </glossentry> - - <glossentry id="pdf-glossary"> - <glossterm>Portable Document Format</glossterm> - <acronym>PDF</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pop-glossary"> - <glossterm>Post Office Protocol</glossterm> - <acronym>POP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pop3-glossary"> - <glossterm>Post Office Protocol Version 3</glossterm> - <acronym>POP3</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ppd-glossary"> - <glossterm>PostScript Printer Description</glossterm> - <acronym>PPD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pxe-glossary"> - <glossterm>Preboot eXecution Environment</glossterm> - <acronym>PXE</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pola-glossary"> - <glossterm>Principle Of Least Astonishment</glossterm> - <acronym>POLA</acronym> - <glossdef> - <para>Sebbene &os; si evolva, le modifiche visibili all'utente - dovrebbero essere il meno sorprendenti possibile. Per esempio, - un'arbitraria riorganizzazione delle variabili di avvio del sistema in - <filename>/etc/defaults/rc.conf</filename> viola il - <acronym>POLA</acronym>. Gli sviluppatori considerano il - <acronym>POLA</acronym> quando si interessano di cambiamenti al - sistema visibili all'utente.</para> - </glossdef> - </glossentry> - - <glossentry id="pr-glossary"> - <glossterm>Problem Report</glossterm> - <acronym>PR</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="pid-glossary"> - <glossterm>Process ID</glossterm> - <acronym>PID</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="projectevil-glossary"> - <glossterm>Project Evil</glossterm> - <glossdef subject="FreeBSD"> - <para>Il nome di sviluppo per il <acronym>NDISulator</acronym>, scritto - da Bill Paul, che l'ha chiamato così riferendosi a quanto sia - terribile (da un punto di vista filosofico) avere bisogno di qualcosa - di questo tipo. Il <acronym>NDISulator</acronym> è uno - speciale modulo di compatibilità che permette di usare i - driver di rete NDIS miniport di Microsoft Windows™ con - &os;/i386. Questo è solitamente l'unico modo di usare schede - il cui driver e' closed source. Guarda - <filename>src/sys/compat/ndis/subr_ndis.c</filename>.</para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>R</title> - - <glossentry> - <glossterm>RA</glossterm> - <glosssee otherterm="ra-glossary"> - </glossentry> - - <glossentry> - <glossterm>RAID</glossterm> - <glosssee otherterm="raid-glossary"> - </glossentry> - - <glossentry> - <glossterm>RAM</glossterm> - <glosssee otherterm="ram-glossary"> - </glossentry> - - <glossentry> - <glossterm>RD</glossterm> - <glosssee otherterm="rd-glossary"> - </glossentry> - - <glossentry> - <glossterm>RFC</glossterm> - <glosssee otherterm="rfc-glossary"> - </glossentry> - - <glossentry> - <glossterm>RISC</glossterm> - <glosssee otherterm="risc-glossary"> - </glossentry> - - <glossentry> - <glossterm>RPC</glossterm> - <glosssee otherterm="rpc-glossary"> - </glossentry> - - <glossentry> - <glossterm>RS232C</glossterm> - <glosssee otherterm="rs232c-glossary"> - </glossentry> - - <glossentry> - <glossterm>RTS</glossterm> - <glosssee otherterm="rts-glossary"> - </glossentry> - - <glossentry id="ram-glossary"> - <glossterm>Random Access Memory</glossterm> - <acronym>RAM</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="rd-glossary"> - <glossterm>Received Data</glossterm> - <acronym>RD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="rs232c-glossary"> - <glossterm>Recommended Standard 232C</glossterm> - <acronym>RS232C</acronym> - <glossdef> - <para>Uno standard per le comunicazioni tra dispositivi seriali.</para> - </glossdef> - </glossentry> - - <glossentry id="risc-glossary"> - <glossterm>Reduced Instruction Set Computer</glossterm> - <acronym>RISC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="raid-glossary"> - <glossterm>Redundant Array of Inexpensive Disks</glossterm> - <acronym>RAID</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="rpc-glossary"> - <glossterm>Remote Procedure Call</glossterm> - <acronym>RPC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="rfc-glossary"> - <glossterm>Request For Comments</glossterm> - <acronym>RFC</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="rts-glossary"> - <glossterm>Request To Send</glossterm> - <acronym>RTS</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ra-glossary"> - <glossterm>Router Advertisement</glossterm> - <acronym>RA</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>S</title> - - <glossentry> - <glossterm>SCI</glossterm> - <glosssee otherterm="sci-glossary"> - </glossentry> - - <glossentry> - <glossterm>SCSI</glossterm> - <glosssee otherterm="scsi-glossary"> - </glossentry> - - <glossentry> - <glossterm>SG</glossterm> - <glosssee otherterm="sg-glossary"> - </glossentry> - - <glossentry> - <glossterm>SMB</glossterm> - <glosssee otherterm="smb-glossary"> - </glossentry> - - <glossentry> - <glossterm>SMP</glossterm> - <glosssee otherterm="smp-glossary"> - </glossentry> - - <glossentry> - <glossterm>SMTP</glossterm> - <glosssee otherterm="smtp-glossary"> - </glossentry> - - <glossentry> - <glossterm>SMTP AUTH</glossterm> - <glosssee otherterm="smtpauth-glossary"> - </glossentry> - - <glossentry> - <glossterm>SSH</glossterm> - <glosssee otherterm="ssh-glossary"> - </glossentry> - - <glossentry> - <glossterm>STR</glossterm> - <glosssee otherterm="str-glossary"> - </glossentry> - - <glossentry id="smtpauth-glossary"> - <glossterm><acronym>SMTP</acronym> Authentication</glossterm> - <acronym>SMTP AUTH</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="smb-glossary"> - <glossterm>Server Message Block</glossterm> - <acronym>SMB</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="sg-glossary"> - <glossterm>Signal Ground</glossterm> - <acronym>SG</acronym> - <glossdef> - <para>Un pin o un cavo RS232 che è il segnale di - massa a terra.</para> - </glossdef> - </glossentry> - - <glossentry id="smtp-glossary"> - <glossterm>Simple Mail Transfer Protocol</glossterm> - <acronym>SMTP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ssh-glossary"> - <glossterm>Secure Shell</glossterm> - <acronym>SSH</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="scsi-glossary"> - <glossterm>Small Computer System Interface</glossterm> - <acronym>SCSI</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="str-glossary"> - <glossterm>Suspend To <acronym>RAM</acronym></glossterm> - <acronym>STR</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="smp-glossary"> - <glossterm>Symmetric MultiProcessor</glossterm> - <acronym>SMP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="sci-glossary"> - <glossterm>System Control Interrupt</glossterm> - <acronym>SCI</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>T</title> - - <glossentry> - <glossterm>TCP</glossterm> - <glosssee otherterm="tcp-glossary"> - </glossentry> - - <glossentry> - <glossterm>TD</glossterm> - <glosssee otherterm="td-glossary"> - </glossentry> - - <glossentry> - <glossterm>TFTP</glossterm> - <glosssee otherterm="tftp-glossary"> - </glossentry> - - <glossentry> - <glossterm>TGT</glossterm> - <glosssee otherterm="tgt-glossary"> - </glossentry> - - <glossentry> - <glossterm>TSC</glossterm> - <glosssee otherterm="tsc-glossary"> - </glossentry> - - <glossentry id="tgt-glossary"> - <glossterm>Ticket-Granting Ticket</glossterm> - <acronym>TGT</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="tsc-glossary"> - <glossterm>Time Stamp Counter</glossterm> - <acronym>TSC</acronym> - <glossdef> - <para>Un contatore interno ai moderni processori &pentium; che conta i - i battiti alla frequenza del clock.</para> - </glossdef> - </glossentry> - - <glossentry id="tcp-glossary"> - <glossterm>Transmission Control Protocol</glossterm> - <acronym>TCP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="td-glossary"> - <glossterm>Transmitted Data</glossterm> - <acronym>TD</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="tftp-glossary"> - <glossterm>Trivial <acronym>FTP</acronym></glossterm> - <acronym>TFTP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>U</title> - - <glossentry> - <glossterm>UDP</glossterm> - <glosssee otherterm="udp-glossary"> - </glossentry> - - <glossentry> - <glossterm>UFS1</glossterm> - <glosssee otherterm="ufs1-glossary"> - </glossentry> - - <glossentry> - <glossterm>UFS2</glossterm> - <glosssee otherterm="ufs2-glossary"> - </glossentry> - - <glossentry> - <glossterm>UID</glossterm> - <glosssee otherterm="uid-glossary"> - </glossentry> - - <glossentry> - <glossterm>URL</glossterm> - <glosssee otherterm="url-glossary"> - </glossentry> - - <glossentry> - <glossterm>USB</glossterm> - <glosssee otherterm="usb-glossary"> - </glossentry> - - <glossentry id="url-glossary"> - <glossterm>Uniform Resource Locator</glossterm> - <acronym>URL</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ufs1-glossary"> - <glossterm>Unix File System Version 1</glossterm> - <acronym>UFS1</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="ufs2-glossary"> - <glossterm>Unix File System Version 2</glossterm> - <acronym>UFS2</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="usb-glossary"> - <glossterm>Universal Serial Bus</glossterm> - <acronym>USB</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - - <glossentry id="uid-glossary"> - <glossterm>User ID</glossterm> - <acronym>UID</acronym> - <glossdef> - <para>Un numero univoco assegnato ad ogni utente del computer, - con il quale possono essere identificate le risorse e i permessi - assegnati a quell'utente.</para> - </glossdef> - </glossentry> - - <glossentry id="udp-glossary"> - <glossterm>User Datagram Protocol</glossterm> - <acronym>UDP</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> - - <glossdiv> - <title>V</title> - - <glossentry> - <glossterm>VPN</glossterm> - <glosssee otherterm="vpn-glossary"> - </glossentry> - - <glossentry id="vpn-glossary"> - <glossterm>Virtual Private Network</glossterm> - <acronym>VPN</acronym> - <glossdef> - <para></para> - </glossdef> - </glossentry> - </glossdiv> -</glossary> diff --git a/it_IT.ISO8859-15/share/sgml/l10n.ent b/it_IT.ISO8859-15/share/sgml/l10n.ent deleted file mode 100644 index 3f1d7ad132..0000000000 --- a/it_IT.ISO8859-15/share/sgml/l10n.ent +++ /dev/null @@ -1,14 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - DocBook Language Specific Entities per la Localizzazione. - - $FreeBSD$ - Original revision: 1.2 ---> - -<!ENTITY docnavi.single-html "HTML Singolo"> -<!ENTITY docnavi.split-html "HTML Multiplo"> - -<!ENTITY doc.langcode.it "it_IT.ISO8859-15"> -<!ENTITY doc.langcode "&doc.langcode.it;"> diff --git a/it_IT.ISO8859-15/share/sgml/legalnotice.sgml b/it_IT.ISO8859-15/share/sgml/legalnotice.sgml deleted file mode 100644 index 2b6df8d706..0000000000 --- a/it_IT.ISO8859-15/share/sgml/legalnotice.sgml +++ /dev/null @@ -1,47 +0,0 @@ -<!-- - Standard FreeBSD Italian Documentation Project Legal Notice. - - $FreeBSD$ - Original revision: 1.4 ---> - -<legalnotice id="legalnotice"> - <para>La ridistribuzione e l'uso come sorgente (SGML DocBook) e in forme - 'compilate' (SGML, HTML, PDF, PostScript, RTF e cosí via) con o - senza modifiche, sono permessi a patto che le seguenti condizioni vengano - rispettate:</para> - - <orderedlist> - <listitem> - <para>Le ridistribuzioni del codice sorgente (SGML DocBook) devono - mantenere le suddette note sul copyright, questa lista di condizioni e - il seguente avviso, non modificati, come prime linee di questo - file.</para> - </listitem> - - <listitem> - <para>Le ridistribuzioni in forma compilata (trasformazioni in altri DTD, - conversioni in PDF, PostScript, RTF e altri formati) devono riportare le - suddette note di copyright, questa lista di condizioni e il seguente - avviso nella documentazione e/o in altri materiali forniti con la - distribuzione.</para> - </listitem> - </orderedlist> - - <important> - <para>QUESTA DOCUMENTAZIONE È FORNITA DAL FREEBSD ITALIAN - DOCUMENTATION PROJECT "COSÌ COM'È" E NON VIENE RICONOSCIUTA - NESSUNA GARANZIA ESPLICITA O IMPLICITA, INCLUSE, MA NON SOLO, LE GARANZIE - IMPLICITE DI COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO - PARTICOLARE. IN NESSUN CASO IL FREEBSD ITALIAN DOCUMENTATION PROJECT - POTRÀ ESSERE RITENUTO RESPONSABILE DI QUALSIASI DANNO DIRETTO, - INDIRETTO, ACCIDENTALE, SPECIALE, SIMBOLICO, O CONSEGUENTE (INCLUSI, MA - NON SOLO, L'ACQUISIZIONE DI BENI O SERVIZI SOSTITUTIVI; LA PERDITA - D'USABILITÀ, DI DATI O DI PROFITTI; O L'INTERRUZIONE DEL LAVORO) - COMUNQUE CAUSATO E SULLA BASE DI QUALUNQUE TEORIA DI - RESPONSABILITÀ, SIA CONTRATTUALE, SIA OGGETTIVA, SIA FONDATA - SULL'ILLECITO CIVILE (INCLUSA NEGLIGENZA O QUANT'ALTRO) DERIVANTE IN OGNI - MODO DALL'USO DI QUESTA DOCUMENTAZIONE, ANCHE SE AVVISATO DELLA - POSSIBILITÀ DI DETTO DANNO.</para> - </important> -</legalnotice> diff --git a/it_IT.ISO8859-15/share/sgml/mailing-lists.ent b/it_IT.ISO8859-15/share/sgml/mailing-lists.ent deleted file mode 100644 index 02875c6a10..0000000000 --- a/it_IT.ISO8859-15/share/sgml/mailing-lists.ent +++ /dev/null @@ -1,393 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Nomi delle mailing list FreeBSD e relativo software. - - $FreeBSD$ - Original revision: 1.36 ---> - -<!ENTITY a.mailman.listinfo "http://lists.FreeBSD.org/mailman/listinfo"> -<!ENTITY a.mailman.lists "<ulink url='&a.mailman.listinfo;'>server delle liste di FreeBSD</ulink>"> -<!ENTITY a.mailman.lists.link "<ulink url='&a.mailman.listinfo;'>&a.mailman.listinfo;</ulink>"> - -<!ENTITY a.acpi.url "&a.mailman.listinfo;/freebsd-acpi"> -<!ENTITY a.acpi "<ulink url='&a.acpi.url;'>mailing list su ACPI in FreeBSD</ulink>"> -<!ENTITY a.acpi.name "<ulink url='&a.acpi.url;'>freebsd-acpi</ulink>"> - -<!ENTITY a.advocacy.url "&a.mailman.listinfo;/freebsd-advocacy"> -<!ENTITY a.advocacy "<ulink url='&a.advocacy.url;'>mailing list sull'avvocatura di FreeBSD</ulink>"> -<!ENTITY a.advocacy.name "<ulink url='&a.advocacy.url;'>freebsd-advocacy</ulink>"> - -<!ENTITY a.afs.url "&a.mailman.listinfo;/freebsd-afs"> -<!ENTITY a.afs "<ulink url='&a.afs.url;'>mailing list sul porting di AFS su FreeBSD</ulink>"> -<!ENTITY a.afs.name "<ulink url='&a.afs.url;'>freebsd-afs</ulink>"> - -<!ENTITY a.aic7xxx.url "&a.mailman.listinfo;/aic7xxx"> -<!ENTITY a.aic7xxx "<ulink url='&a.aic7xxx.url;'>mailing list di discussione sugli Adaptec AIC7xxx in FreeBSD</ulink>"> -<!ENTITY a.aic7xxx.name "<ulink url='&a.aic7xxx.url;'>freebsd-aic7xxx</ulink>"> - -<!ENTITY a.alpha.url "&a.mailman.listinfo;/freebsd-alpha"> -<!ENTITY a.alpha "<ulink url='&a.alpha.url;'>mailing list sul porting di FreeBSD sui sistemi Alpha</ulink>"> -<!ENTITY a.alpha.name "<ulink url='&a.alpha.url;'>freebsd-alpha</ulink>"> - -<!ENTITY a.amd64.url "&a.mailman.listinfo;/freebsd-amd64"> -<!ENTITY a.amd64 "<ulink url='&a.amd64.url;'>mailing list sul porting di FreeBSD sui sistemi AMD64</ulink>"> -<!ENTITY a.amd64.name "<ulink url='&a.amd64.url;'>freebsd-amd64</ulink>"> - -<!ENTITY a.announce.url "&a.mailman.listinfo;/freebsd-announce"> -<!ENTITY a.announce "<ulink url='&a.announce.url;'>mailing list di annunci su FreeBSD</ulink>"> -<!ENTITY a.announce.name "<ulink url='&a.announce.url;'>freebsd-announce</ulink>"> - -<!ENTITY a.apache.url "&a.mailman.listinfo;/freebsd-apache"> -<!ENTITY a.apache "<ulink url='&a.apache.url;'>mailing list di FreeBSD su Apache</ulink>"> -<!ENTITY a.apache.name "<ulink url='&a.apache.url;'>freebsd-apache</ulink>"> - -<!ENTITY a.arch.url "&a.mailman.listinfo;/freebsd-arch"> -<!ENTITY a.arch "<ulink url='&a.arch.url;'>mailing list sull'architettura e la progettazione di FreeBSD</ulink>"> -<!ENTITY a.arch.name "<ulink url='&a.arch.url;'>freebsd-arch</ulink>"> - -<!ENTITY a.arm.url "&a.mailman.listinfo;/freebsd-arm"> -<!ENTITY a.arm "<ulink url='&a.arm.url;'>mailing list sul porting di FreeBSD sui processori ARM</ulink>"> -<!ENTITY a.arm.name "<ulink url='&a.arm.url;'>freebsd-arm</ulink>"> - -<!ENTITY a.atm.url "&a.mailman.listinfo;/freebsd-atm"> -<!ENTITY a.atm "<ulink url='&a.atm.url;'>mailing list sulle reti ATM con FreeBSD</ulink>"> -<!ENTITY a.atm.name "<ulink url='&a.atm.url;'>freebsd-atm</ulink>"> - -<!ENTITY a.audit.url "&a.mailman.listinfo;/freebsd-audit"> -<!ENTITY a.audit "<ulink url='&a.audit.url;'>mailing list di controllo del codice sorgente di FreeBSD</ulink>"> -<!ENTITY a.audit.name "<ulink url='&a.audit.url;'>freebsd-audit</ulink>"> - -<!ENTITY a.binup.url "&a.mailman.listinfo;/freebsd-binup"> -<!ENTITY a.binup "<ulink url='&a.binup.url;'>mailing list sul sistema di update tramite binari di FreeBSD</ulink>"> -<!ENTITY a.binup.name "<ulink url='&a.binup.url;'>freebsd-binup</ulink>"> - -<!ENTITY a.bugbusters.url "&a.mailman.listinfo;/freebsd-bugbusters"> -<!ENTITY a.bugbusters "<ulink url='&a.bugbusters.url;'>mailing list sul sistema di segnalazione dei bug di FreeBSD</ulink>"> -<!ENTITY a.bugbusters.name "<ulink url='&a.bugbusters.url;'>freebsd-bugbusters</ulink>"> - -<!ENTITY a.bugs.url "&a.mailman.listinfo;/freebsd-bugs"> -<!ENTITY a.bugs "<ulink url='&a.bugs.url;'>mailing list di segnalazione dei problemi con FreeBSD</ulink>"> -<!ENTITY a.bugs.name "<ulink url='&a.bugs.url;'>freebsd-bugs</ulink>"> - -<!ENTITY a.chat.url "&a.mailman.listinfo;/freebsd-chat"> -<!ENTITY a.chat "<ulink url='&a.chat.url;'>mailing list di chiacchiere su FreeBSD</ulink>"> -<!ENTITY a.chat.name "<ulink url='&a.chat.url;'>freebsd-chat</ulink>"> - -<!ENTITY a.cluster.url "&a.mailman.listinfo;/freebsd-cluster"> -<!ENTITY a.cluster "<ulink url='&a.cluster.url;'>mailing list sul clustering con FreeBSD</ulink>"> -<!ENTITY a.cluster.name "<ulink url='&a.cluster.url;'>freebsd-cluster</ulink>"> - -<!ENTITY a.committers "mailing list dei committer di FreeBSD"> -<!ENTITY a.committers.name "cvs-committers"> - -<!ENTITY a.config.url "&a.mailman.listinfo;/freebsd-config"> -<!ENTITY a.config "<ulink url='&a.config.url;'>mailing list sui tool di installazione e configurazione di FreeBSD</ulink>"> -<!ENTITY a.config.name "<ulink url='&a.config.url;'>freebsd-config</ulink>"> - -<!ENTITY a.core "core team di FreeBSD"> -<!ENTITY a.core.name "freebsd-core"> - -<!ENTITY a.current.url "&a.mailman.listinfo;/freebsd-current"> -<!ENTITY a.current "<ulink url='&a.current.url;'>mailing list su &os.current;</ulink>"> -<!ENTITY a.current.name "<ulink url='&a.current.url;'>freebsd-current</ulink>"> - -<!ENTITY a.ctm-announce.url "&a.mailman.listinfo;/ctm-announce"> -<!ENTITY a.ctm-announce "<ulink url='&a.ctm-announce.url;'>Annunci CTM</ulink>"> -<!ENTITY a.ctm-announce.name "<ulink url='&a.ctm-announce.url;'>ctm-announce</ulink>"> - -<!ENTITY a.ctm-cvs-cur.url "&a.mailman.listinfo;/ctm-cvs-cur"> -<!ENTITY a.ctm-cvs-cur "<ulink url='&a.ctm-cvs-cur.url;'>Distribuzione CTM di file CVS</ulink>"> -<!ENTITY a.ctm-cvs-cur.name "<ulink url='&a.ctm-cvs-cur.url;'>ctm-cvs-cur</ulink>"> - -<!ENTITY a.ctm-src-4.url "&a.mailman.listinfo;/ctm-src-4"> -<!ENTITY a.ctm-src-4 "<ulink url='&a.ctm-src-4.url;'>mailing list di distribuzione CTM del ramo src 4-STABLE</ulink>"> -<!ENTITY a.ctm-src-4.name "<ulink url='&a.ctm-src-4.url;'>ctm-src-4</ulink>"> - -<!ENTITY a.ctm-src-cur.url "&a.mailman.listinfo;/ctm-src-cur"> -<!ENTITY a.ctm-src-cur "<ulink url='&a.ctm-src-cur.url;'>mailing list di distribuzione CTM del ramo src -CURRENT</ulink>"> -<!ENTITY a.ctm-src-cur.name "<ulink url='&a.ctm-src-cur.url;'>ctm-src-cur</ulink>"> - -<!ENTITY a.ctm-users.url "&a.mailman.listinfo;/ctm-users"> -<!ENTITY a.ctm-users "<ulink url='&a.ctm-users.url;'>mailing list per gli utenti di CTM</ulink>"> -<!ENTITY a.ctm-users.name "<ulink url='&a.ctm-users.url;'>ctm-users</ulink>"> - -<!ENTITY a.cvsall.url "&a.mailman.listinfo;/cvs-all"> -<!ENTITY a.cvsall "<ulink url='&a.cvsall.url;'>mailing list con i messaggi di commit sul CVS di FreeBSD</ulink>"> -<!ENTITY a.cvsall.name "<ulink url='&a.cvsall.url;'>cvs-all</ulink>"> - -<!ENTITY a.cvs-doc.url "&a.mailman.listinfo;/cvs-doc"> -<!ENTITY a.cvs-doc "<ulink url='&a.cvs-doc.url;'>lista dei commit sul ramo doc del CVS di FreeBSD</ulink>"> -<!ENTITY a.cvs-doc.name "<ulink url='&a.cvs-doc.url;'>cvs-doc</ulink>"> - -<!ENTITY a.cvs-ports.url "&a.mailman.listinfo;/cvs-ports"> -<!ENTITY a.cvs-ports "<ulink url='&a.cvs-ports.url;'>lista dei commit sul ramo ports del CVS di FreeBSD</ulink>"> -<!ENTITY a.cvs-ports.name "<ulink url='&a.cvs-ports.url;'>cvs-ports</ulink>"> - -<!ENTITY a.cvs-projects.url "&a.mailman.listinfo;/cvs-projects"> -<!ENTITY a.cvs-projects "<ulink url='&a.cvs-projects.url;'>lista dei commit sul ramo projects del CVS di FreeBSD</ulink>"> -<!ENTITY a.cvs-projects.name "<ulink url='&a.cvs-projects.url;'>cvs-projects</ulink>"> - -<!ENTITY a.cvs-src.url "&a.mailman.listinfo;/cvs-src"> -<!ENTITY a.cvs-src "<ulink url='&a.cvs-src.url;'>lista dei commit sul ramo src del CVS di FreeBSD</ulink>"> -<!ENTITY a.cvs-src.name "<ulink url='&a.cvs-src.url;'>cvs-src</ulink>"> - -<!ENTITY a.cvsweb.url "&a.mailman.listinfo;/freebsd-cvsweb"> -<!ENTITY a.cvsweb "<ulink url='&a.cvsweb.url;'>mailing list sul mantenimento di CVSweb di FreeBSD</ulink>"> -<!ENTITY a.cvsweb.name "<ulink url='&a.cvsweb.url;'>freebsd-cvsweb</ulink>"> - -<!ENTITY a.database.url "&a.mailman.listinfo;/freebsd-database"> -<!ENTITY a.database "<ulink url='&a.database.url;'>mailing list sui database sotto FreeBSD</ulink>"> -<!ENTITY a.database.name "<ulink url='&a.database.url;'>freebsd-database</ulink>"> - -<!ENTITY a.developers "mailing list degli sviluppatori di FreeBSD"> -<!ENTITY a.developers.name "freebsd-developers"> - -<!ENTITY a.doc.url "&a.mailman.listinfo;/freebsd-doc"> -<!ENTITY a.doc "<ulink url='&a.doc.url;'>mailing list sul progetto di documentazione di FreeBSD</ulink>"> -<!ENTITY a.doc.name "<ulink url='&a.doc.url;'>freebsd-doc</ulink>"> - -<!ENTITY a.doc-committers "mailing list del doc/ committer di FreeBSD"> -<!ENTITY a.doc-committers.name "doc-committers"> - -<!ENTITY a.doc-developers "mailing list degli sviluppatori del doc/ di FreeBSD"> -<!ENTITY a.doc-developers.name "doc-developers"> - -<!ENTITY a.emulation.url "&a.mailman.listinfo;/freebsd-emulation"> -<!ENTITY a.emulation "<ulink url='&a.emulation.url;'>mailing list sull'emulazione FreeBSD</ulink>"> -<!ENTITY a.emulation.name "<ulink url='&a.emulation.url;'>freebsd-emulation</ulink>"> - -<!ENTITY a.firewire.url "&a.mailman.listinfo;/freebsd-firewire"> -<!ENTITY a.firewire "<ulink url='&a.firewire.url;'>mailing list di discussione su FireWire (IEEE 1394) in FreeBSD</ulink>"> -<!ENTITY a.firewire.name "<ulink url='&a.firewire.url;'>freebsd-firewire</ulink>"> - -<!ENTITY a.fs.url "&a.mailman.listinfo;/freebsd-fs"> -<!ENTITY a.fs "<ulink url='&a.fs.url;'>mailing list sul progetto di file system di FreeBSD</ulink>"> -<!ENTITY a.fs.name "<ulink url='&a.fs.url;'>freebsd-fs</ulink>"> - -<!ENTITY a.geom.url "&a.mailman.listinfo;/freebsd-geom"> -<!ENTITY a.geom "<ulink url='&a.geom.url;'>mailing list di FreeBSD su GEOM</ulink>"> -<!ENTITY a.geom.name "<ulink url='&a.geom.url;'>freebsd-geom</ulink>"> - -<!ENTITY a.gnome.url "&a.mailman.listinfo;/freebsd-gnome"> -<!ENTITY a.gnome "<ulink url='&a.gnome.url;'>mailing list su GNOME e sulle applicazioni GNOME con FreeBSD</ulink>"> -<!ENTITY a.gnome.name "<ulink url='&a.gnome.url;'>freebsd-gnome</ulink>"> - -<!ENTITY a.hackers.url "&a.mailman.listinfo;/freebsd-hackers"> -<!ENTITY a.hackers "<ulink url='&a.hackers.url;'>mailing list di discussioni tecniche su FreeBSD</ulink>"> -<!ENTITY a.hackers.name "<ulink url='&a.hackers.url;'>freebsd-hackers</ulink>"> - -<!ENTITY a.hardware.url "&a.mailman.listinfo;/freebsd-hardware"> -<!ENTITY a.hardware "<ulink url='&a.hardware.url;'>mailing list sull'hardware e le apparecchiature per FreeBSD</ulink>"> -<!ENTITY a.hardware.name "<ulink url='&a.hardware.url;'>freebsd-hardware</ulink>"> - -<!ENTITY a.hubs.url "&a.mailman.listinfo;/freebsd-hubs"> -<!ENTITY a.hubs "<ulink url='&a.hubs.url;'>mailing list sui siti mirror di FreeBSD</ulink>"> -<!ENTITY a.hubs.name "<ulink url='&a.hubs.url;'>freebsd-hubs</ulink>"> - -<!ENTITY a.i18n.url "&a.mailman.listinfo;/freebsd-i18n"> -<!ENTITY a.i18n "<ulink url='&a.i18n.url;'>mailing list sull'internazionalizzazione di FreeBSD</ulink>"> -<!ENTITY a.i18n.name "<ulink url='&a.i18n.url;'>freebsd-i18n</ulink>"> - -<!ENTITY a.i386.url "&a.mailman.listinfo;/freebsd-i386"> -<!ENTITY a.i386 "<ulink url='&a.i386.url;'>mailing list sulle questioni specifiche all'architettura i386 di FreeBSD</ulink>"> -<!ENTITY a.i386.name "<ulink url='&a.i386.url;'>freebsd-i386</ulink>"> - -<!ENTITY a.ia32.url "&a.mailman.listinfo;/freebsd-ia32"> -<!ENTITY a.ia32 "<ulink url='&a.ia32.url;'>mailing list sul porting di FreeBSD su IA32</ulink>"> -<!ENTITY a.ia32.name "<ulink url='&a.ia32.url;'>freebsd-ia32</ulink>"> - -<!ENTITY a.ia64.url "&a.mailman.listinfo;/freebsd-ia64"> -<!ENTITY a.ia64 "<ulink url='&a.ia64.url;'>mailing list sul porting di FreeBSD su IA64</ulink>"> -<!ENTITY a.ia64.name "<ulink url='&a.ia64.url;'>freebsd-ia64</ulink>"> - -<!ENTITY a.ipfw.url "&a.mailman.listinfo;/freebsd-ipfw"> -<!ENTITY a.ipfw "<ulink url='&a.ipfw.url;'>mailing list sul codice IPFW di FreeBSD</ulink>"> -<!ENTITY a.ipfw.name "<ulink url='&a.ipfw.url;'>freebsd-ipfw</ulink>"> - -<!ENTITY a.isdn.url "&a.mailman.listinfo;/freebsd-isdn"> -<!ENTITY a.isdn "<ulink url='&a.isdn.url;'>mailing list sulle reti ISDN con FreeBSD</ulink>"> -<!ENTITY a.isdn.name "<ulink url='&a.isdn.url;'>freebsd-isdn</ulink>"> - -<!ENTITY a.isp.url "&a.mailman.listinfo;/freebsd-isp"> -<!ENTITY a.isp "<ulink url='&a.isp.url;'>mailing list degli Internet Service Provider che usano FreeBSD</ulink>"> -<!ENTITY a.isp.name "<ulink url='&a.isp.url;'>freebsd-isp</ulink>"> - -<!ENTITY a.java.url "&a.mailman.listinfo;/freebsd-java"> -<!ENTITY a.java "<ulink url='&a.java.url;'>mailing list sul linguaggio Java in FreeBSD</ulink>"> -<!ENTITY a.java.name "<ulink url='&a.java.url;'>freebsd-java</ulink>"> - -<!ENTITY a.jobs.url "&a.mailman.listinfo;/freebsd-jobs"> -<!ENTITY a.jobs "<ulink url='&a.jobs.url;'>mailing list sugli impieghi relativi a FreeBSD</ulink>"> -<!ENTITY a.jobs.name "<ulink url='&a.jobs.url;'>freebsd-jobs</ulink>"> - -<!ENTITY a.kde.url "http://freebsd.kde.org/mailman/listinfo/kde-freebsd"> -<!ENTITY a.kde "<ulink url='&a.kde.url;'>mailing list su KDE/Qt e le applicazioni KDE di FreeBSD</ulink>"> -<!ENTITY a.kde.name "<ulink url='&a.kde.url;'>freebsd-kde</ulink>"> - -<!ENTITY a.lfs.url "&a.mailman.listinfo;/freebsd-lfs"> -<!ENTITY a.lfs "<ulink url='&a.lfs.url;'>mailing list sul porting di LFS su FreeBSD</ulink>"> -<!ENTITY a.lfs.name "<ulink url='&a.lfs.url;'>freebsd-lfs</ulink>"> - -<!ENTITY a.libh.url "&a.mailman.listinfo;/freebsd-libh"> -<!ENTITY a.libh "<ulink url='&a.libh.url;'>mailing list sul sistema libh di FreeBSD di installazione e creazione dei package</ulink>"> -<!ENTITY a.libh.name "<ulink url='&a.libh.url;'>freebsd-libh</ulink>"> - -<!ENTITY a.mips.url "&a.mailman.listinfo;/freebsd-mips"> -<!ENTITY a.mips "<ulink url='&a.mips.url;'>mailing list sul porting di FreeBSD su MIPS</ulink>"> -<!ENTITY a.mips.name "<ulink url='&a.mips.url;'>freebsd-mips</ulink>"> - -<!ENTITY a.mirror-announce.url "&a.mailman.listinfo;/mirror-announce"> -<!ENTITY a.mirror-announce "<ulink url='&a.mirror-announce.url;'>mailing list degli amministratori di un sito mirror di FreeBSD</ulink>"> -<!ENTITY a.mirror-announce.name "<ulink url='&a.mirror-announce.url;'>mirror-announce</ulink>"> - -<!ENTITY a.mobile.url "&a.mailman.listinfo;/freebsd-mobile"> -<!ENTITY a.mobile "<ulink url='&a.mobile.url;'>mailing list sui computer portatili con FreeBSD</ulink>"> -<!ENTITY a.mobile.name "<ulink url='&a.mobile.url;'>freebsd-mobile</ulink>"> - -<!ENTITY a.mozilla.url "&a.mailman.listinfo;/freebsd-mozilla"> -<!ENTITY a.mozilla "<ulink url='&a.mozilla.url;'>mailing list sul port per FreeBSD del browser Mozilla</ulink>"> -<!ENTITY a.mozilla.name "<ulink url='&a.mozilla.url;'>freebsd-mozilla</ulink>"> - -<!ENTITY a.multimedia.url "&a.mailman.listinfo;/freebsd-multimedia"> -<!ENTITY a.multimedia "<ulink url='&a.multimedia.url;'>mailing list sulle applicazioni multimediali con FreeBSD</ulink>"> -<!ENTITY a.multimedia.name "<ulink url='&a.multimedia.url;'>freebsd-multimedia</ulink>"> - -<!ENTITY a.net.url "&a.mailman.listinfo;/freebsd-net"> -<!ENTITY a.net "<ulink url='&a.net.url;'>mailing list sulle reti in FreeBSD</ulink>"> -<!ENTITY a.net.name "<ulink url='&a.net.url;'>freebsd-net</ulink>"> - -<!ENTITY a.newbies.url "&a.mailman.listinfo;/freebsd-newbies"> -<!ENTITY a.newbies "<ulink url='&a.newbies.url;'>mailing list per i nuovi utenti di FreeBSD</ulink>"> -<!ENTITY a.newbies.name "<ulink url='&a.newbies.url;'>freebsd-newbies</ulink>"> - -<!ENTITY a.newbus.url "&a.mailman.listinfo;/freebsd-new-bus"> -<!ENTITY a.newbus "<ulink url='&a.newbus.url;'>mailing list sulla nuova architettura del bus di FreeBSD</ulink>"> -<!ENTITY a.newbus.name "<ulink url='&a.newbus.url;'>freebsd-new-bus</ulink>"> - -<!ENTITY a.openoffice.url "&a.mailman.listinfo;/freebsd-openoffice"> -<!ENTITY a.openoffice "<ulink url='&a.openoffice.url;'>mailing list su OpenOffice sotto FreeBSD</ulink>"> -<!ENTITY a.openoffice.name "<ulink url='&a.openoffice.url;'>freebsd-openoffice</ulink>"> - -<!ENTITY a.performance.url "&a.mailman.listinfo;/freebsd-performance"> -<!ENTITY a.performance "<ulink url='&a.performance.url;'>mailing list sulle prestazioni di FreeBSD</ulink>"> -<!ENTITY a.performance.name "<ulink url='&a.performance.url;'>freebsd-performance</ulink>"> - -<!ENTITY a.perl.url "&a.mailman.listinfo;/freebsd-perl"> -<!ENTITY a.perl "<ulink url='&a.perl.url;'>FreeBSD perl mailing list su perl sotto FreeBSD</ulink>"> -<!ENTITY a.perl.name "<ulink url='&a.perl.url;'>freebsd-perl</ulink>"> - -<!ENTITY a.platforms.url "&a.mailman.listinfo;/freebsd-platforms"> -<!ENTITY a.platforms "<ulink url='&a.platforms.url;'>mailing list sul porting di FreeBSD su piattaforme non Intel</ulink>"> -<!ENTITY a.platforms.name "<ulink url='&a.platforms.url;'>freebsd-platforms</ulink>"> - -<!ENTITY a.policy.url "&a.mailman.listinfo;/freebsd-policy"> -<!ENTITY a.policy "<ulink url='&a.policy.url;'>mailing list sulle decisioni del core team sulle politiche di FreeBSD</ulink>"> -<!ENTITY a.policy.name "<ulink url='&a.policy.url;'>freebsd-policy</ulink>"> - -<!ENTITY a.ports.url "&a.mailman.listinfo;/freebsd-ports"> -<!ENTITY a.ports "<ulink url='&a.ports.url;'>mailing list sui port di FreeBSD</ulink>"> -<!ENTITY a.ports.name "<ulink url='&a.ports.url;'>freebsd-ports</ulink>"> - -<!ENTITY a.ports-bugs.url "&a.mailman.listinfo;/freebsd-ports-bugs"> -<!ENTITY a.ports-bugs "<ulink url='&a.ports-bugs.url;'>mailing list sui bug dei port di FreeBSD</ulink>"> -<!ENTITY a.ports-bugs.name "<ulink url='&a.ports-bugs.url;'>freebsd-ports-bugs</ulink>"> - -<!ENTITY a.ports-committers "mailing list del ports/ committer di FreeBSD"> -<!ENTITY a.ports-committers.name "ports-committers"> - -<!ENTITY a.ports-developers "mailing list degli sviluppatori del ports/ di FreeBSD"> -<!ENTITY a.ports-developers.name "ports-developers"> - -<!ENTITY a.ppc.url "&a.mailman.listinfo;/freebsd-ppc"> -<!ENTITY a.ppc "<ulink url='&a.ppc.url;'>mailing list sul porting di FreeBSD su PowerPC</ulink>"> -<!ENTITY a.ppc.name "<ulink url='&a.ppc.url;'>freebsd-ppc</ulink>"> - -<!ENTITY a.qa.url "&a.mailman.listinfo;/freebsd-qa"> -<!ENTITY a.qa "<ulink url='&a.qa.url;'>mailing list sulla Garanzia di Qualità di FreeBSD</ulink>"> -<!ENTITY a.qa.name "<ulink url='&a.qa.url;'>freebsd-qa</ulink>"> - -<!ENTITY a.questions.url "&a.mailman.listinfo;/freebsd-questions"> -<!ENTITY a.questions "<ulink url='&a.questions.url;'>mailing list per le domande generiche su FreeBSD</ulink>"> -<!ENTITY a.questions.name "<ulink url='&a.questions.url;'>freebsd-questions</ulink>"> - -<!ENTITY a.realtime.url "&a.mailman.listinfo;/freebsd-realtime"> -<!ENTITY a.realtime "<ulink url='&a.realtime.url;'>mailing list sulle estensioni realtime di FreeBSD</ulink>"> -<!ENTITY a.realtime.name "<ulink url='&a.realtime.url;'>freebsd-realtime</ulink>"> - -<!ENTITY a.scsi.url "&a.mailman.listinfo;/freebsd-scsi"> -<!ENTITY a.scsi "<ulink url='&a.scsi.url;'>mailing list sul sottosistema SCSI di FreeBSD</ulink>"> -<!ENTITY a.scsi.name "<ulink url='&a.scsi.url;'>freebsd-scsi</ulink>"> - -<!ENTITY a.security.url "&a.mailman.listinfo;/freebsd-security"> -<!ENTITY a.security "<ulink url='&a.security.url;'>mailing list sulla sicurezza in FreeBSD</ulink>"> -<!ENTITY a.security.name "<ulink url='&a.security.url;'>freebsd-security</ulink>"> - -<!ENTITY a.security-notifications.url "&a.mailman.listinfo;/freebsd-security-notifications"> -<!ENTITY a.security-notifications "<ulink url='&a.security-notifications.url;'>mailing list sugli avvisi di sicurezza su FreeBSD</ulink>"> -<!ENTITY a.security-notifications.name "<ulink url='&a.security-notifications.url;'>freebsd-security-notifications</ulink>"> - -<!ENTITY a.small.url "&a.mailman.listinfo;/freebsd-small"> -<!ENTITY a.small "<ulink url='&a.small.url;'>mailing list su FreeBSD-small</ulink>"> -<!ENTITY a.small.name "<ulink url='&a.small.url;'>freebsd-small</ulink>"> - -<!ENTITY a.smp.url "&a.mailman.listinfo;/freebsd-smp"> -<!ENTITY a.smp "<ulink url='&a.smp.url;'>mailing list sul supporto multiprocessore di FreeBSD</ulink>"> -<!ENTITY a.smp.name "<ulink url='&a.smp.url;'>freebsd-smp</ulink>"> - -<!ENTITY a.sparc.url "&a.mailman.listinfo;/freebsd-sparc64"> -<!ENTITY a.sparc "<ulink url='&a.sparc.url;'>mailing list sul porting di FreeBSD su SPARC</ulink>"> -<!ENTITY a.sparc.name "<ulink url='&a.sparc.url;'>freebsd-sparc64</ulink>"> - -<!ENTITY a.src-committers "mailing list del src/ committer di FreeBSD"> -<!ENTITY a.src-committers.name "freebsd-src-committers"> - -<!ENTITY a.src-developers "mailing list degli sviluppatori del src/ di FreeBSD"> -<!ENTITY a.src-developers.name "freebsd-src-developers"> - -<!ENTITY a.stable.url "&a.mailman.listinfo;/freebsd-stable"> -<!ENTITY a.stable "<ulink url='&a.stable.url;'>mailing list su &os.stable;</ulink>"> -<!ENTITY a.stable.name "<ulink url='&a.stable.url;'>freebsd-stable</ulink>"> - -<!ENTITY a.standards.url "&a.mailman.listinfo;/freebsd-standards"> -<!ENTITY a.standards "<ulink url='&a.standards.url;'>mailing list sulla conformità C99 e POSIX di FreeBSD</ulink>"> -<!ENTITY a.standards.name "<ulink url='&a.standards.url;'>freebsd-standards</ulink>"> - -<!ENTITY a.test.url "&a.mailman.listinfo;/freebsd-test"> -<!ENTITY a.test "<ulink url='&a.test.url;'>mailing list di prova di FreeBSD</ulink>"> -<!ENTITY a.test.name "<ulink url='&a.test.url;'>freebsd-test</ulink>"> - -<!ENTITY a.testing.url "&a.mailman.listinfo;/freebsd-testing"> -<!ENTITY a.testing "<ulink url='&a.testing.url;'>mailing list sui test di prestazioni e stabilità di FreeBSD</ulink>"> -<!ENTITY a.testing.name "<ulink url='&a.testing.url;'>freebsd-testing</ulink>"> - -<!ENTITY a.threads.url "&a.mailman.listinfo;/freebsd-threads"> -<!ENTITY a.threads "<ulink url='&a.threads.url;'>mailing list sui thread in FreeBSD</ulink>"> -<!ENTITY a.threads.name "<ulink url='&a.threads.url;'>freebsd-threads</ulink>"> - -<!ENTITY a.tokenring.url "&a.mailman.listinfo;/freebsd-tokenring"> -<!ENTITY a.tokenring "<ulink url='&a.tokenring.url;'>mailing list sulle reti tokenring in FreeBSD</ulink>"> -<!ENTITY a.tokenring.name "<ulink url='&a.tokenring.url;'>freebsd-tokenring</ulink>"> - -<!ENTITY a.usergroups.url "&a.mailman.listinfo;/freebsd-user-groups"> -<!ENTITY a.usergroups "<ulink url='&a.usergroups.url;'>mailing list di coordinamento dei gruppi utente di FreeBSD</ulink>"> -<!ENTITY a.usergroups.name "<ulink url='&a.usergroups.url;'>freebsd-user-groups</ulink>"> - -<!ENTITY a.vendors.url "&a.mailman.listinfo;/freebsd-vendors"> -<!ENTITY a.vendors "<ulink url='&a.vendors.url;'>mailing list di coordinamento dei distributori delle release di FreeBSD</ulink>"> -<!ENTITY a.vendors.name "<ulink url='&a.vendors.url;'>freebsd-vendors</ulink>"> - -<!ENTITY a.vuxml.url "&a.mailman.listinfo;/freebsd-vuxml"> -<!ENTITY a.vuxml "<ulink url='&a.vuxml.url;'>mailing list di discussione sull'infrastruttura VuXML</ulink>"> -<!ENTITY a.vuxml.name "<ulink url='&a.vuxml.url;'>freebsd-vuxml</ulink>"> - -<!ENTITY a.www.url "&a.mailman.listinfo;/freebsd-www"> -<!ENTITY a.www "<ulink url='&a.www.url;'>mailing list del Webmaster di FreeBSD</ulink>"> -<!ENTITY a.www.name "<ulink url='&a.www.url;'>freebsd-www</ulink>"> - -<!ENTITY a.x11.url "&a.mailman.listinfo;/freebsd-x11"> -<!ENTITY a.x11 "<ulink url='&a.x11.url;'>mailing list di X11 per FreeBSD</ulink>"> -<!ENTITY a.x11.name "<ulink url='&a.x11.url;'>freebsd-x11</ulink>"> - -<!ENTITY a.majordomo "<email>majordomo@FreeBSD.org</email>"> diff --git a/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl b/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl deleted file mode 100644 index 0e989e9ece..0000000000 --- a/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> - -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.2 ---> - -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - - <!-- must point to master copy, doc/share/sgml/mirrors-master.xsl --> - <xsl:import href="../../../share/sgml/mirrors-master.xsl" /> - - <xsl:output type="xml" encoding="iso-8859-1" - omit-xml-declaration="yes" - indent="yes"/> - - <!-- template: "mirrors-docbook-contact" --> - - <xsl:template name="mirrors-docbook-contact"> - <xsl:param name="email" value="'someone@somewhere'"/> - - <!-- for Italian version --> - <para>In caso di problemi, contatta l'hostmaster - <email><xsl:value-of select="$email" /></email> di questo - dominio.</para> - </xsl:template> - - <!-- template: "mirrors-lastmodified" --> - - <xsl:template name="mirrors-lastmodified"> - <xsl:text>aggiornato al </xsl:text> - <xsl:call-template name="mirrors-lastmodified-utc" /> - </xsl:template> - -</xsl:stylesheet> diff --git a/it_IT.ISO8859-15/share/sgml/trademarks.ent b/it_IT.ISO8859-15/share/sgml/trademarks.ent deleted file mode 100644 index a2f98f1d4f..0000000000 --- a/it_IT.ISO8859-15/share/sgml/trademarks.ent +++ /dev/null @@ -1,208 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Legenda dei Marchi Registrati, come richiesto da The Open Group, Sun, ecc.. - - Questo file contiene le entity dei marchi registrati per tutte le - aziende che vengono nominate nella documentazione di FreeBSD. - - $FreeBSD$ - Original revision: 1.23 ---> - -<!ENTITY tm-attrib.3com "<para>3Com e HomeConnect sono marchi registrati - della 3Com Corporation.</para>"> - -<!ENTITY tm-attrib.3ware "<para>3ware e Escalade sono marchi registrati della - 3ware Inc.</para>"> - -<!ENTITY tm-attrib.adaptec "<para>Adaptec è un marchio registrato della - Adaptec, Inc.</para>"> - -<!ENTITY tm-attrib.adobe "<para>Adobe, Acrobat, Acrobat Reader, e - PostScript sono marchi o marchi registrati della Adobe - Systems Incorporated negli Stati Uniti e/o in altri paesi.</para>"> - -<!ENTITY tm-attrib.amd "<para>AMD, Am486, Am5X86, AMD Athlon, AMD - Duron, AMD Opteron, AMD-K6, Élan, e PCnet sono marchi - della Advanced Micro Devices, Inc.</para>"> - -<!ENTITY tm-attrib.apple "<para>Apple, FireWire, Mac, Macintosh, Mac OS, - Quicktime, e TrueType sono marchi della Apple Computer, Inc., - registrati negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.arm "<para>ARM è un marchio registrato della ARM - Limited.</para>"> - -<!ENTITY tm-attrib.bluetooth "<para>Il marchio Bluetooth è di - proprietà della Bluetooth SIG, Inc.</para>"> - -<!ENTITY tm-attrib.broadcom "<para>Broadcom è un marchio registrato della - Broadcom Corporation e/o delle sue sussidiarie.</para>"> - -<!ENTITY tm-attrib.check-point "<para>Check Point, Firewall-1, e - VPN-1 sono marchi della Check Point Software Technologies Ltd..</para>"> - -<!ENTITY tm-attrib.cisco "<para>Cisco, Catalyst, e IOS sono marchi registrati - della Cisco Systems, Inc. e/o delle sue affiliate negli Stati Uniti e in - certi altri paesi."> - -<!ENTITY tm-attrib.corel "<para>Corel and WordPerfect sono marchi o marchi - registrati della Corel Corporation e/o delle sue sussidiarie - in Canada, negli Stati Uniti e/o in altri paesi.</para>"> - -<!ENTITY tm-attrib.creative "<para>Sound Blaster è un marchio della - Creative Technology Ltd. negli Stati Uniti e/o in altri paesi.</para>"> - -<!ENTITY tm-attrib.cvsup "<para>CVSup è un marchio registrato di - John D. Polstra.</para>"> - -<!ENTITY tm-attrib.dell "<para>Dell, Dell Precision, Latitude, - Optiplex, PowerEdge sono marchi o marchi registrati della Dell - Computer Corporation</para>"> - -<!ENTITY tm-attrib.epson "<para>EPSON, EPSON Perfection sono marchi registrati - della Seiko Epson Corporation.</para>"> - -<!ENTITY tm-attrib.freebsd "<para>FreeBSD è un marchio registrato della - Wind River Systems, Inc. È previsto che cambi a breve.</para>"> - -<!ENTITY tm-attrib.heidelberger "<para>Heidelberg, Helvetica, - Palatino, e Times Roman sono marchi o marchi registrati della - Heidelberger Druckmaschinen AG negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.ibm "<para>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, - PS/2, S/390, e ThinkPad sono marchi della International Business Machines - Corporation negli Stati Uniti, in altri paesi, o in entrambi.</para>"> - -<!ENTITY tm-attrib.ieee "<para>IEEE, POSIX, e 802 sono marchi registrati - dell'Institute of Electrical and Electronics Engineers, - Inc. negli Stati Uniti.</para>"> - -<!ENTITY tm-attrib.intel "<para>Intel, Celeron, EtherExpress, i386, - i486, Itanium, Pentium, e Xeon sono marchi o marchi registrati della - Intel Corporation o delle sue sussidiarie negli Stati Uniti e in altri - paesi.</para>"> - -<!ENTITY tm-attrib.intuit "<para>Intuit e Quicken sono marchi registrati - e/o marchi di servizi registrati della Intuit Inc., o una delle sue - sussidiarie, negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.iomega "<para>Iomega, Zip, e Jaz sono marchi o marchi - registrati della Iomega Corporation negli Stati Uniti e/o in altri - paesi.</para>"> - -<!ENTITY tm-attrib.lantronix "<para>Lantronix e EasyIO sono marchi della - Lantronix Corporation.</para>"> - -<!ENTITY tm-attrib.linux "<para>Linux è un marchio registrato di - Linus Torvalds.</para>"> - -<!ENTITY tm-attrib.lsilogic "<para>LSI Logic, AcceleRAID, eXtremeRAID, - MegaRAID e Mylex sono marchi o marchi registrati della LSI - Logic Corp.</para>"> - -<!ENTITY tm-attrib.macromedia "<para>Macromedia, Flash, e Shockwave sono - marchi o marchi registrati della Macromedia, Inc. negli Stati Uniti e/o - in altri paesi.</para>"> - -<!ENTITY tm-attrib.microsoft "<para>Microsoft, FrontPage, IntelliMouse, - MS-DOS, Outlook, Windows, Windows Media e Windows NT sono marchi o marchi - registrati della Microsoft Corporation negli Stati Uniti e/o in altri - paesi.</para>"> - -<!ENTITY tm-attrib.mips "<para>MIPS e R4000 sono marchi registrati della - MIPS Technologies, Inc. negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.mysql "<para>MySQL è un marchio registrato della - MySQL AB negli Stati Uniti, nell'Unione Europea e in altri paesi.</para>"> - -<!ENTITY tm-attrib.m-systems "<para>M-Systems e DiskOnChip sono marchi o - marchi registrati della M-Systems Flash Disk Pioneers, Ltd.</para>"> - -<!ENTITY tm-attrib.netscape "<para>Netscape e Netscape Navigator - sono marchi registrati della Netscape Communications Corporation negli - Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.nexthop "<para>GateD e NextHop sono marchi registrati e non - registrati della NextHop negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.novell "<para>NetWare, NetWare Loadable Module, e - NLM sono marchi o marchi registrati della Novell, - Inc. negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.opengroup "<para>Motif, OSF/1, e UNIX sono marchi - registrati e IT DialTone e The Open Group sono marchi del The Open Group - negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.oracle "<para>Oracle è un marchio registrato della - Oracle Corporation.</para>"> - -<!ENTITY tm-attrib.powerquest "<para>PowerQuest e PartitionMagic sono marchi - registrati della PowerQuest Corporation negli Stati Uniti e/o in altri - paesi.</para>"> - -<!ENTITY tm-attrib.qualcomm "<para>QUALCOMM e Eudora sono marchi registrati - della QUALCOMM Incorporated.</para>"> - -<!ENTITY tm-attrib.realnetworks "<para>RealNetworks, RealPlayer, e - RealAudio sono marchi registrati della RealNetworks, Inc.</para>"> - -<!ENTITY tm-attrib.redhat "<para>Red Hat e RPM sono marchi o marchi registrati - della Red Hat, Inc. negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.sap "<para>SAP, R/3, e mySAP sono marchi o marchi - registrati della SAP AG in Germania e in molti altri paesi in tutto il - mondo.</para>"> - -<!ENTITY tm-attrib.sgi "<para>Silicon Graphics, SGI, e OpenGL sono marchi - registrati della Silicon Graphics, Inc., negli Stati Uniti e/o in altri - paesi in tutto il mondo.</para>"> - -<!ENTITY tm-attrib.sparc "<para>Sparc, Sparc64, SPARCEngine, e - UltraSPARC sono marchi SPARC International, Inc negli Stati Uniti e in - altri paesi. I prodotti che portano il marchio SPARC sono basati su - architettura sviluppata dalla Sun Microsystems, Inc.</para>"> - -<!ENTITY tm-attrib.sun "<para>Sun, Sun Microsystems, Java, Java Virtual Machine, - JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, - Sun Blade, Sun Enterprise, Sun Fire, SunOS, e Ultra sono marchi o marchi - registrati della Sun Microsystems, Inc. negli Stati Uniti e in altri - paesi.</para>"> - -<!ENTITY tm-attrib.symantec "<para>Symantec e Ghost sono marchi registrati - della Symantec Corporation negli Stati Uniti e in altri paesi.</para>"> - -<!ENTITY tm-attrib.themathworks "<para>MATLAB è un marchio registrato - della The MathWorks, Inc.</para>"> - -<!ENTITY tm-attrib.thomson "<para>SpeedTouch è un marchio di - Thomson</para>"> - -<!ENTITY tm-attrib.transmeta "<para>Transmeta e Crusoe sono marchi o marchi - registrati della Transmeta Corporation negli Stati Uniti e/o in altri - paesi.</para>"> - -<!ENTITY tm-attrib.usrobotics "<para>U.S. Robotics e Sportster sono marchi - registrati della U.S. Robotics Corporation.</para>"> - -<!ENTITY tm-attrib.waterloomaple "<para>Waterloo Maple e Maple sono marchi - o marchi registrati della Waterloo Maple Inc.</para>"> - -<!ENTITY tm-attrib.wolframresearch "<para>Mathematica è un marchio - registrato della Wolfram Research, Inc.</para>"> - -<!ENTITY tm-attrib.vmware "<para>VMware è un marchio della VMware, - Inc.</para>"> - -<!ENTITY tm-attrib.xfree86 "<para>XFree86 è un marchio della The - XFree86 Project, Inc.</para>"> - -<!ENTITY tm-attrib.xiph "<para>Ogg Vorbis e Xiph.Org sono marchi di - Xiph.Org.</para>"> - -<!ENTITY tm-attrib.general "<para>Molti dei nomi identificativi usati dai - produttori e dai venditori per distinguere i loro prodotti sono anche dei - marchi. Quando questi nomi appaiono nel libro, e il FreeBSD Project - è al corrente del marchio, vengono fatti seguire dal simbolo - <quote>™</quote> o <quote>®</quote>.</para>"> diff --git a/it_IT.ISO8859-15/share/sgml/trademarks.sgml b/it_IT.ISO8859-15/share/sgml/trademarks.sgml deleted file mode 100644 index 6797a02eea..0000000000 --- a/it_IT.ISO8859-15/share/sgml/trademarks.sgml +++ /dev/null @@ -1,36 +0,0 @@ -<!-- - Trademark Legend, come richiesto da The Open Group, Sun, ecc.. - - $FreeBSD$ - Original revision: 1.5 ---> - -<legalnotice id="trademarks" role="trademarks"> - <para>FreeBSD è un marchio registrato della Wind River Systems, - Inc. È previsto che cambi a breve.</para> - - <para>UNIX è un marchio registrato del The Open Group negli - Stati Uniti e in altri paesi.</para> - - <para>Sun, Sun Microsystems, SunOS, Solaris, e Java sono marchi o - marchi registrati della Sun Microsystems, Inc. negli Stati Uniti e in - altri paesi.</para> - - <para>Apple e QuickTime sono marchi della Apple Computer, Inc., registrati - negli Stati Uniti e in altri paesi.</para> - - <para>Macromedia e Flash sono marchi o marchi registrati della Macromedia, - Inc. negli Stati Uniti e in altri paesi.</para> - - <para>Microsoft, Windows, e Windows Media sono marchi o marchi resgistrati - della Microsoft Corporation negli Stati Uniti e in altri paesi.</para> - - <para>PartitionMagic è un marchio registrato della PowerQuest - Corporation negli Stati Uniti e in altri paesi.</para> - - <para>Molti dei nomi identificativi usati dai produttori e dai - venditori per distinguere i loro prodotti sono anche dei marchi. - Quando questi nomi appaiono nel libro, e il FreeBSD Project - è al corrente del marchio, vengono fatti seguire dal simbolo - '™'.</para> -</legalnotice> diff --git a/it_IT.ISO8859-15/share/sgml/translators.ent b/it_IT.ISO8859-15/share/sgml/translators.ent deleted file mode 100644 index d86d099781..0000000000 --- a/it_IT.ISO8859-15/share/sgml/translators.ent +++ /dev/null @@ -1,101 +0,0 @@ -<!-- - The FreeBSD Italian Documentation Project - - Traduttori Italiani - - $FreeBSD$ ---> - -<!ENTITY a.it.alex - "Alex Dupre <email>ale@FreeBSD.org</email>"> -<!ENTITY a.it.andrex - "Andrea Santolini <email>andrea_bsd@virgilio.it</email>"> -<!ENTITY a.it.daniele - "Daniele Mari <email>daniele@cct.it</email>"> -<!ENTITY a.it.ddan - "Daniele Di Mattia <email>daniele@keybit.net</email>"> -<!ENTITY a.it.dema - "Alessandro de Manzano <email>ale@unixmania.net</email>"> -<!ENTITY a.it.eugenio - "Eugenio Modesti <email>eugenio@openbeer.it</email>"> -<!ENTITY a.it.ferruccio - "Ferruccio Vitale <email>ferruccio.vitale@tin.it</email>"> -<!ENTITY a.it.gabriele - "Gabriele Framarin <email>gabrielef@zeropiu.it</email>"> -<!ENTITY a.it.gmarco - "Gianmarco Giovannelli <email>gmarco@scotty.masternet.it</email>"> -<!ENTITY a.it.inzet - "Gianluca Sordiglioni <email>inzet@gufi.org</email>"> -<!ENTITY a.it.kaos - "Gian Marco Auzas <email>kaosweb@yahoo.it</email>"> -<!ENTITY a.it.lapo - "Lapo Luchini <email>lapo@lapo.it</email>"> -<!ENTITY a.it.lcard - "Luca Cardone <email>luca@xunil.it</email>"> -<!ENTITY a.it.mark - "Marco Trentini <email>mark@remotelab.org</email>"> -<!ENTITY a.it.matteo - "Matteo Niccoli <email>matteo.niccoli@softecspa.it</email>"> -<!ENTITY a.it.max - "Massimiliano Stucchi <email>max@gufi.org</email>"> -<!ENTITY a.it.nicola - "Nicola Vitale <email>nivit@libero.it</email>"> -<!ENTITY a.it.rodario - "Dario Billo <email>rodario@libero.it</email>"> -<!ENTITY a.it.rudy - "Rudy Lamarca <email>rudy@tzone.it</email>"> -<!ENTITY a.it.salvo - "Salvo Bartolotta <email>bartequi@neomedia.it</email>"> -<!ENTITY a.it.stefano - "Stefano Tagliaferri <email>stefano@merlinobbs.net</email>"> -<!ENTITY a.it.surrender - "Gabriele Renzi <email>surrender_it@yahoo.it</email>"> -<!ENTITY a.it.valerio - "Valerio Daelli <email>vdaelli@hotmail.com</email>"> - -<!ENTITY trans.it.alex - "<para><emphasis>Traduzione a cura di &a.it.alex;.</emphasis></para>"> -<!ENTITY trans.it.andrex - "<para><emphasis>Traduzione a cura di &a.it.andrex;.</emphasis></para>"> -<!ENTITY trans.it.daniele - "<para><emphasis>Traduzione a cura di &a.it.daniele;.</emphasis></para>"> -<!ENTITY trans.it.ddan - "<para><emphasis>Traduzione a cura di &a.it.ddan;.</emphasis></para>"> -<!ENTITY trans.it.dema - "<para><emphasis>Traduzione a cura di &a.it.dema;.</emphasis></para>"> -<!ENTITY trans.it.eugenio - "<para><emphasis>Traduzione a cura di &a.it.eugenio;.</emphasis></para>"> -<!ENTITY trans.it.ferruccio - "<para><emphasis>Traduzione a cura di &a.it.ferruccio;.</emphasis></para>"> -<!ENTITY trans.it.gabriele - "<para><emphasis>Traduzione a cura di &a.it.gabriele;.</emphasis></para>"> -<!ENTITY trans.it.gmarco - "<para><emphasis>Traduzione a cura di &a.it.gmarco;.</emphasis></para>"> -<!ENTITY trans.it.inzet - "<para><emphasis>Traduzione a cura di &a.it.inzet;.</emphasis></para>"> -<!ENTITY trans.it.kaos - "<para><emphasis>Traduzione a cura di &a.it.kaos;.</emphasis></para>"> -<!ENTITY trans.it.lapo - "<para><emphasis>Traduzione a cura di &a.it.lapo;.</emphasis></para>"> -<!ENTITY trans.it.lcard - "<para><emphasis>Traduzione a cura di &a.it.lcard;.</emphasis></para>"> -<!ENTITY trans.it.mark - "<para><emphasis>Traduzione a cura di &a.it.mark;.</emphasis></para>"> -<!ENTITY trans.it.matteo - "<para><emphasis>Traduzione a cura di &a.it.matteo;.</emphasis></para>"> -<!ENTITY trans.it.max - "<para><emphasis>Traduzione a cura di &a.it.max;.</emphasis></para>"> -<!ENTITY trans.it.nicola - "<para><emphasis>Traduzione a cura di &a.it.nicola;.</emphasis></para>"> -<!ENTITY trans.it.rodario - "<para><emphasis>Traduzione a cura di &a.it.rodario;.</emphasis></para>"> -<!ENTITY trans.it.rudy - "<para><emphasis>Traduzione a cura di &a.it.rudy;.</emphasis></para>"> -<!ENTITY trans.it.salvo - "<para><emphasis>Traduzione a cura di &a.it.salvo;.</emphasis></para>"> -<!ENTITY trans.it.stefano - "<para><emphasis>Traduzione a cura di &a.it.stefano;.</emphasis></para>"> -<!ENTITY trans.it.surrender - "<para><emphasis>Traduzione a cura di &a.it.surrender;.</emphasis></para>"> -<!ENTITY trans.it.valerio - "<para><emphasis>Traduzione a cura di &a.it.valerio;.</emphasis></para>">
\ No newline at end of file diff --git a/it_IT.ISO8859-15/share/sgml/transtable-local.xsl b/it_IT.ISO8859-15/share/sgml/transtable-local.xsl deleted file mode 100644 index cd1a788434..0000000000 --- a/it_IT.ISO8859-15/share/sgml/transtable-local.xsl +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> - -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.1 ---> - -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - - <!-- must point to master copy, doc/share/sgml/transtable-master.xsl --> - <xsl:import href="../../../share/sgml/transtable-master.xsl" /> - - <xsl:output type="xml" encoding="iso-8859-1" - indent="yes"/> - -</xsl:stylesheet> diff --git a/it_IT.ISO8859-15/share/sgml/transtable.xml b/it_IT.ISO8859-15/share/sgml/transtable.xml deleted file mode 100644 index 5c012a8e32..0000000000 --- a/it_IT.ISO8859-15/share/sgml/transtable.xml +++ /dev/null @@ -1,330 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - -<!-- - The FreeBSD Italian Documentation Project - - $FreeBSD$ - Original revision: 1.1 ---> - -<transtable> - <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0"> - <cvs:keyword name="freebsd"> - $FreeBSD$ - </cvs:keyword> - </cvs:keywords> - - <group id="country"> - <word> - <orig>Central Servers</orig> - <tran>Server Centrali</tran> - </word> - - <word> - <orig>Primary Mirror Sites</orig> - <tran>Siti Mirror Primari</tran> - </word> - - <word> - <orig>Argentina</orig> - <tran>Argentina</tran> - </word> - - <word> - <orig>Australia</orig> - <tran>Australia</tran> - </word> - - <word> - <orig>Austria</orig> - <tran>Austria</tran> - </word> - - <word> - <orig>Belgium</orig> - <tran>Belgio</tran> - </word> - - <word> - <orig>Brazil</orig> - <tran>Brasile</tran> - </word> - - <word> - <orig>Bulgaria</orig> - <tran>Bulgaria</tran> - </word> - - <word> - <orig>Canada</orig> - <tran>Canada</tran> - </word> - - <word> - <orig>China</orig> - <tran>Cina</tran> - </word> - - <word> - <orig>Croatia</orig> - <tran>Croazia</tran> - </word> - - <word> - <orig>Czech Republic</orig> - <tran>Repubblica Ceca</tran> - </word> - - <word> - <orig>Denmark</orig> - <tran>Danimarca</tran> - </word> - - <word> - <orig>Estonia</orig> - <tran>Estonia</tran> - </word> - - <word> - <orig>Finland</orig> - <tran>Finlandia</tran> - </word> - - <word> - <orig>France</orig> - <tran>Francia</tran> - </word> - - <word> - <orig>Germany</orig> - <tran>Germania</tran> - </word> - - <word> - <orig>Greece</orig> - <tran>Grecia</tran> - </word> - - <word> - <orig>Hong Kong</orig> - <tran>Hong Kong</tran> - </word> - - <word> - <orig>Hungary</orig> - <tran>Ungheria</tran> - </word> - - <word> - <orig>Iceland</orig> - <tran>Islanda</tran> - </word> - - <word> - <orig>Ireland</orig> - <tran>Irlanda</tran> - </word> - - <word> - <orig>Italy</orig> - <tran>Italia</tran> - </word> - - <word> - <orig>Japan</orig> - <tran>Giappone</tran> - </word> - - <word> - <orig>Korea</orig> - <tran>Corea</tran> - </word> - - <word> - <orig>Kuwait</orig> - <tran>Kuwait</tran> - </word> - - <word> - <orig>Latvia</orig> - <tran>Lettonia</tran> - </word> - - <word> - <orig>Lithuania</orig> - <tran>Lituania</tran> - </word> - - <word> - <orig>Netherlands</orig> - <tran>Olanda</tran> - </word> - - <word> - <orig>New Zealand</orig> - <tran>Nuova Zelanda</tran> - </word> - - <word> - <orig>Norway</orig> - <tran>Norvegia</tran> - </word> - - <word> - <orig>Philippines</orig> - <tran>Filippine</tran> - </word> - - <word> - <orig>Poland</orig> - <tran>Polonia</tran> - </word> - - <word> - <orig>Portugal</orig> - <tran>Portogallo</tran> - </word> - - <word> - <orig>Romania</orig> - <tran>Romania</tran> - </word> - - <word> - <orig>Russia</orig> - <tran>Russia</tran> - </word> - - <word> - <orig>San Marino</orig> - <tran>San Marino</tran> - </word> - - <word> - <orig>Saudi Arabia</orig> - <tran>Arabia Saudita</tran> - </word> - - <word> - <orig>Singapore</orig> - <tran>Singapore</tran> - </word> - - <word> - <orig>Slovak Republic</orig> - <tran>Repubblica Slovacca</tran> - </word> - - <word> - <orig>Slovenia</orig> - <tran>Slovenia</tran> - </word> - - <word> - <orig>South Africa</orig> - <tran>Sud Africa</tran> - </word> - - <word> - <orig>Spain</orig> - <tran>Spagna</tran> - </word> - - <word> - <orig>Sweden</orig> - <tran>Svezia</tran> - </word> - - <word> - <orig>Switzerland</orig> - <tran>Svizzera</tran> - </word> - - <word> - <orig>Taiwan</orig> - <tran>Taiwan</tran> - </word> - - <word> - <orig>Turkey</orig> - <tran>Turchia</tran> - </word> - - <word> - <orig>Ukraine</orig> - <tran>Ucraina</tran> - </word> - - <word> - <orig>United Kingdom</orig> - <tran>Regno Unito</tran> - </word> - - <word> - <orig>USA</orig> - <tran>USA</tran> - </word> - </group> - - <group id="number-month"> - <word> - <orig>1</orig> - <tran>Gennaio</tran> - </word> - - <word> - <orig>2</orig> - <tran>Febbraio</tran> - </word> - - <word> - <orig>3</orig> - <tran>Marzo</tran> - </word> - - <word> - <orig>4</orig> - <tran>Aprile</tran> - </word> - - <word> - <orig>5</orig> - <tran>Maggio</tran> - </word> - - <word> - <orig>6</orig> - <tran>Giugno</tran> - </word> - - <word> - <orig>7</orig> - <tran>Luglio</tran> - </word> - - <word> - <orig>8</orig> - <tran>Agosto</tran> - </word> - - <word> - <orig>9</orig> - <tran>Settembre</tran> - </word> - - <word> - <orig>10</orig> - <tran>Ottobre</tran> - </word> - - <word> - <orig>11</orig> - <tran>Novembre</tran> - </word> - - <word> - <orig>12</orig> - <tran>Dicembre</tran> - </word> - </group> -</transtable> |