<?xml version="1.0" encoding="iso-8859-15"?> <!-- The FreeBSD Italian Documentation Project $FreeBSD$ Original revision: 1.420 --> <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>BSD Mall by Daemon News</otheraddr> <street>PO Box 161</street> <city>Nauvoo</city>, <state>IL</state> <postcode>62354</postcode> <country>Stati Uniti d'America</country> Telefono: <phone>+1 866 273-6255</phone> Fax: <fax>+1 217 453-9956</fax> Email: <email>sales@bsdmall.com</email> WWW: <otheraddr><ulink url="http://www.bsdmall.com/freebsd1.html"></ulink></otheraddr> </address> </listitem> <listitem> <address> <otheraddr>BSD-Systems</otheraddr> Email: <email>info@bsd-systems.co.uk</email> WWW: <otheraddr><ulink url="http://www.bsd-systems.co.uk"></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>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>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>Linux CD Mall</otheraddr> <street>Private Bag MBE N348</street> <city>Auckland 1030</city> <country>Nuova Zelanda</country> Telefono: <phone>+64 21 866529</phone> WWW: <otheraddr><ulink url="http://www.linuxcdmall.co.nz/"></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+ DVD Magazine</otheraddr> <street>Lewartowskiego 6</street> <city>Warsaw</city> <postcode>00-190</postcode> <country>Polonia</country> Telefono: <phone>+48 22 860 18 18</phone> Email: <email>editors@lpmagazine.org</email> WWW: <otheraddr><ulink url="http://www.lpmagazine.org/"></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> </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>809B Cuesta Dr., #2149</street> <city>Mountain View</city>, <state>CA</state> <postcode>94040</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>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>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>LinuxCenter.Ru</otheraddr> <street>Galernaya Street, 55</street> <city>Saint-Petersburg</city> <postcode>190000</postcode> <country>Russia</country> Phone: <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>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.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.ftp.inc; </sect1> <sect1 id="anoncvs"> <title>CVS Anonimo</title> <sect2 id="anoncvs-intro"> <title>Introduzione</title> <indexterm> <primary>CVS</primary> <secondary>anonymous</secondary> </indexterm> <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 id="anoncvs-usage"> <title>Uso del CVS Anonimo</title> <para>La configurazione di &man.cvs.1; per usare un deposito CVS Anonimo è semplicemente una questione di impostare la variabile 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>USA</emphasis>: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (solo ssh - nessuna password)</para> <programlisting>SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub</programlisting> </listitem> <listitem> <para><emphasis>USA</emphasis>: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (solo ssh - nessuna password)</para> <programlisting>SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub</programlisting> </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;):</title> <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.jp.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></screen> </example> <example> <title>Utilizzo di SSH per estrarre il ramo <filename>src/</filename>:</title> <screen>&prompt.user; <userinput>cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src</userinput> The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput> Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.</screen> </example> <example> <title>Estrazione della Versione di &man.ls.1; dal Ramo 6-STABLE:</title> <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.jp.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_6 ls</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.jp.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_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls</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.jp.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></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://ximbiot.com/cvs/wiki/">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> <indexterm> <primary>CTM</primary> </indexterm> <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>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 automatizzato, 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> o <application>&xorg;</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">cvsup99.FreeBSD.org</hostid>:</para> <programlisting>*default host=cvsup99.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>/var/db</filename>:</para> <programlisting>*default base=/var/db</programlisting> <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=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all</programlisting> </listitem> </itemizedlist> <sect3 id="cvsup-refuse-file"> <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>; la nostra <replaceable>base</replaceable> è <filename>/var/db</filename>, e quindi di default il file <filename>refuse</filename> è <filename>/var/db/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 leggere la traduzione in tedesco della documentazione, puoi mettere le seguenti righe nel tuo file <filename>refuse</filename>:</para> <screen>doc/bn_* 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/tr_* 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> <important id="cvsup-collec-index-warn"> <para>Se hai intenzione di creare localmente una copia di <filename>ports/INDEX</filename>, <emphasis>devi</emphasis> includere <literal>ports-all</literal> (l'intero albero dei port). Costruire <filename>ports/INDEX</filename> con un albero non completo non è supportato. Consulta la <ulink url="&url.books.faq;/applications.html#MAKE-INDEX"> FAQ</ulink>.</para> </important> <variablelist> <varlistentry> <term><literal>ports-accessibility release=cvs</literal></term> <listitem> <para>Software per aiutare gli utenti disabili.</para> </listitem> </varlistentry> <varlistentry> <term><literal>ports-arabic release=cvs</literal></term> <listitem> <para>Supporto per la lingua araba.</para> </listitem> </varlistentry> <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-hebrew release=cvs</literal></term> <listitem> <para>Supporto per la lingua ebraica.</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-net-im release=cvs</literal></term> <listitem> <para>Software per messaggeria istantanea.</para> </listitem> </varlistentry> <varlistentry> <term><literal>ports-net-mgmt release=cvs</literal></term> <listitem> <para>Software di gestione del network.</para> </listitem> </varlistentry> <varlistentry> <term><literal>ports-net-p2p release=cvs</literal></term> <listitem> <para>Rete peer to peer.</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-science release=cvs</literal></term> <listitem> <para>Scienzia.</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-ukrainian release=cvs</literal></term> <listitem> <para>Supporto per la lingua ucraina.</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 release=cvs</literal></term> <listitem> <para>Server X11.</para> </listitem> </varlistentry> <varlistentry> <term><literal>ports-x11-themes release=cvs</literal></term> <listitem> <para>Temi per X11.</para> </listitem> </varlistentry> <varlistentry> <term><literal>ports-x11-wm release=cvs</literal></term> <listitem> <para>Gestori di finestre per X11.</para> </listitem> </varlistentry> </variablelist> </listitem> </varlistentry> <varlistentry> <term><literal>projects-all release=cvs</literal></term> <listitem> <para>Sorgenti per i progetti di FreeBSD.</para> </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.index.inc; &chap.mirrors.lastmod.inc; &chap.mirrors.cvsup.inc; </sect2> </sect1> <sect1 id="portsnap"> <title>Usare Portsnap</title> <sect2 id="portsnap-intro"> <title>Introduzione</title> <para><application>Portsnap</application> è un sistema per distribuire in modo sicuro l'albero dei port di &os;. Circa ogni ora, viene generata una <quote>snapshot</quote> dell'albero dei port, che viene impacchettata e firmata criptograficamente. I file risultanti sono quindi distribuiti via HTTP.</para> <para>Come <application>CVSup</application>, <application>Portsnap</application> usa un modello di aggiornamento a <emphasis>rchiesta</emphasis>: gli alberi dei port impacchettati e firmati sono messi sul server web che attende in modo passivo le richieste dei client. Gli utenti devono eseguire &man.portsnap.8; manualmente o schedulare il job con &man.cron.8; per scaricare periodicamente gli aggiornamenti in modo automatico.</para> <para>Per ragioni tecniche, <application>Portsnap</application> non aggiorna direttamente il <quote>reale</quote> albero dei port in <filename>/usr/ports/</filename>; invece, lavora con una copia compressa dell'albero dei port memorizzata di default in <filename>/var/db/portsnap/</filename>. Questa copia compressa viene quindi usata per aggiornare l'albero dei port effettivo.</para> <note> <para>Se <application>Portsnap</application> è installato dalla collezione dei port di &os;, la locazione di default per la sua snapshot compressa è <filename>/usr/local/portsnap/</filename> invece di <filename>/var/db/portsnap/</filename>.</para> </note> </sect2> <sect2 id="portsnap-install"> <title>Instalazione</title> <para>Su &os; 6.0 e versioni più recenti, <application>Portsnap</application> è contenuto nel sistema base. Su versioni di &os; più datate, può essere installato usando il port <filename role="package">sysutils/portsnap</filename>.</para> </sect2> <sect2 id="portsnap-config"> <title>Configurazione di Portsnap</title> <para>Il funzionamento di <application>Portsnap</application> è controllato dal file di configurazione <filename>/etc/portsnap.conf</filename>. Per la maggior parte degli utenti, la configurazione di default sarà sufficiente; per maggiori dettagli, consultare la pagina man &man.portsnap.conf.5;.</para> <note> <para>Se <application>Portsnap</application> è installato dalla collezione dei port di &os;, userà il file di configurazione posto in <filename>/usr/local/etc/portsnap.conf</filename> invece di <filename>/etc/portsnap.conf</filename>. Questo file di configurazione non viene creato quando viene installato il port, ma viene dato un file di configurazione di base; per copiarlo nella giusta posizione, esegui il comando seguente:</para> <screen>&prompt.root; <userinput>cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf</userinput></screen> </note> </sect2> <sect2> <title>Eseguire <application>Portsnap</application> per la Prima Volta</title> <para>La prima volta che &man.portsnap.8; viene eseguito, ha bisogno di scaricare una snapshot compressa dell'intero albero dei port in <filename>/var/db/portsnap/</filename> (o <filename>/usr/local/portsnap/</filename> se <application>Portsnap</application> è stato installato dalla collezione dei port). Dall'inizio del 2006 la sua dimensione è di circa 41 MB.</para> <screen>&prompt.root; <userinput>portsnap fetch</userinput></screen> <para>Una volta che la snapshot compressa è stata scaricata, una copia dell'albero dei port può estratta in <filename>/usr/ports/</filename>. Questo è necessario perfino se l'albero dei port è già stato creato in quella directory (es., usando <application>CVSup</application>), poichè stabilisce un punto di inizio dal qualche <command>portsnap</command> può determinare quale parte dell'albero dei port necessita di essere aggiornata.</para> <screen>&prompt.root; <userinput>portsnap extract</userinput></screen> <note> <para>Nell'installazione di default la directory <filename class="directory">/usr/ports</filename> non viene creata. Se usi &os; 6.0-RELEASE, la directory dovrebbe essere creata prima di usare <command>portsnap</command>. Su versioni di &os; e <application>Portsnap</application> più recenti questa operazione viene fatta in automatico al primo utilizzo del comando <command>portsnap</command>.</para> </note> </sect2> <sect2> <title>Aggiornare l'Albero dei Port</title> <para>Dopo che una prima snapshot compressa dell'albero dei port è stata scaricata ed estratta in <filename>/usr/ports/</filename>, l'aggiornamento dell'albero dei port consiste in due passi: <emphasis>scaricando</emphasis> gli aggiornamenti della snapshot compressa, e usare questi per <emphasis>aggiornare</emphasis> l'albero dei port effettivo. Questi due passi possono essere specificati a <command>portsnap</command> con un comando singolo.</para> <screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen> <note> <para>Alcune versioni vecchie di <command>portsnap</command> non supportano questa sintassi; se fallisce, prova in questo modo:</para> <screen>&prompt.root; <userinput>portsnap fetch</userinput> &prompt.root; <userinput>portsnap update</userinput></screen> </note> </sect2> <sect2> <title>Avviare Portsnap tramite cron</title> <para>Al fine di evitare problemi di <quote>affollamenti istantanei</quote> accedendo ai server di <application>Portsnap</application>, <command>portsnap fetch</command> non funziona da un job &man.cron.8;. Esiste invece un comando apposito <command>portsnap cron</command>, che attende una durata random fino a 3600 secondi prima di scaricare gli aggiornamenti.</para> <para>Inoltre, è fortemente racomandato che <command>portsnap update</command> non sia eseguito da un job <command>cron</command>, poichè è soggetto a causare problemi se viene avviato allo stesso tempo di compilazione o installazione di un port. Ad ogni modo, è possibile aggiornare i file <filename>INDEX</filename> dei port, e può essere fatto passando il flag <option>-I</option> a <command>portsnap</command>. (Ovviamente, se <command>portsnap -I update</command> viene eseguito da <command>cron</command>, sarà necessario eseguire successivamnte <command>portsnap update</command> senza la flag <option>-I</option> al fine di aggiornare il resto dell'albero.)</para> <para>Aggiungendo la riga seguente in <filename>/etc/crontab</filename>, <command>portsnap</command> aggiornerà la snapshot compressa e i file <filename>INDEX</filename> in <filename>/usr/ports/</filename>, e manderà una email se qualche port installato non è aggiornato:</para> <programlisting>0 3 * * * root portsnap -I cron update && pkg_version -vIL=</programlisting> <note> <para>Se l'ora di sistema non è settata all'ora locale, sostituisci <literal>3</literal> con un valore random tra 0 e 23, al fine di disporre il carico sui server <application>Portsnap</application> in modo uniforme.</para> </note> <note> <para>Alcune versioni datate di <command>portsnap</command> non supportano l'elenco di comandi multipli (es., <literal>cron update</literal>) nella stessa invocazione di <command>portsnap</command>. Se la riga di comando precedente fallisce, prova a sostituire <command>portsnap -I cron update</command> con <command>portsnap cron && portsnap -I update</command>.</para> </note> </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_6</term> <listitem> <para>La linea di sviluppo per FreeBSD-6.X, anche conosciuta come FreeBSD 6-STABLE.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_6_1</term> <listitem> <para>Il ramo di release per FreeBSD-6.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_6_0</term> <listitem> <para>Il ramo di release per FreeBSD-6.0, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5</term> <listitem> <para>La linea di sviluppo per FreeBSD-5.X, anche conosciuta come FreeBSD-STABLE.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5_5</term> <listitem> <para>Il ramo di release per FreeBSD-5.5, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5_4</term> <listitem> <para>Il ramo di release per FreeBSD-5.4, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5_3</term> <listitem> <para>Il ramo di release per FreeBSD-5.3, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali.</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 4-STABLE.</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_4_11</term> <listitem> <para>Il ramo di release per FreeBSD-4.11, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali.</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 class="directory">src</filename> usa nomi di tag che iniziano con <literal>RELENG_</literal>. Gli alberi <filename class="directory">ports</filename> e <filename class="directory">doc</filename> usano tag il cui nome inizia con <literal>RELEASE</literal>. Infine, l'albero <filename class="directory">www</filename> non viene taggato con alcun nome particolare per le release.</para> <variablelist> <varlistentry> <term>RELENG_6_1_0_RELEASE</term> <listitem> <para>FreeBSD 6.1</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_6_0_0_RELEASE</term> <listitem> <para>FreeBSD 6.0</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5_5_0_RELEASE</term> <listitem> <para>FreeBSD 5.5</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5_4_0_RELEASE</term> <listitem> <para>FreeBSD 5.4</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_4_11_0_RELEASE</term> <listitem> <para>FreeBSD 4.11</para> </listitem> </varlistentry> <varlistentry> <term>RELENG_5_3_0_RELEASE</term> <listitem> <para>FreeBSD 5.3</para> </listitem> </varlistentry> <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/4/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>