diff options
Diffstat (limited to 'it_IT.ISO8859-15/books/handbook/ports/chapter.xml')
-rw-r--r-- | it_IT.ISO8859-15/books/handbook/ports/chapter.xml | 1388 |
1 files changed, 1388 insertions, 0 deletions
diff --git a/it_IT.ISO8859-15/books/handbook/ports/chapter.xml b/it_IT.ISO8859-15/books/handbook/ports/chapter.xml new file mode 100644 index 0000000000..d27179da5e --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/ports/chapter.xml @@ -0,0 +1,1388 @@ +<?xml version="1.0" encoding="iso-8859-15" standalone="no"?> +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ + Original revision: 1.247 +--> + +<chapter id="ports"> + <title>Installazione delle Applicazioni: Port e Package</title> + + <sect1 id="ports-synopsis"> + <title>Sinossi</title> + + <indexterm><primary>port</primary></indexterm> + <indexterm><primary>package</primary></indexterm> + + <para>FreeBSD è distribuito con una ricca collezione di strumenti di + sistema come parte base del sistema. Comunque, c'è molto che si + può fare prima che sia necessario installare un'applicazione + aggiuntiva di terze parti. FreeBSD fornisce due tecnologie complementari + per installare software di terze parti sul tuo sistema: la FreeBSD Ports + Collection (per installare dai sorgenti), ed i package (per installare + da binari pre-compilati). Puoi usare entrambi questi sistemi per + installare l'ultima versione della tua applicazione preferita dai + dispositivi locali o direttamente dalla rete.</para> + + <para>Dopo aver letto questo capitolo, saprai:</para> + + <itemizedlist> + <listitem> + <para>Come installare i package contenenti i binari delle applicazioni + di terze parti.</para> + </listitem> + + <listitem> + <para>Come compilare le applicazioni di terze parti dai sorgenti usando + la collezione dei port.</para> + </listitem> + + <listitem> + <para>Come rimuovere i package o i port installati in precedenza.</para> + </listitem> + + <listitem> + <para>Come modificare i valori di default utilizzati dalla collezione + dei port.</para> + </listitem> + + <listitem> + <para>Come trovare un package specifico.</para> + </listitem> + + <listitem> + <para>Come aggiornare le tue applicazioni.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="ports-overview"> + <title>Uno Sguardo all'Installazione del Software</title> + + <para>Se hai già usato un sistema &unix; prima d'ora saprai che la + procedura tipica per installare software di terze parti è simile a + questa:</para> + + <procedure> + <step> + <para>Scaricare il software, che potrebbe essere distribuito sotto forma + di codice sorgente, o come binario.</para> + </step> + + <step> + <para>Scompattare il software dal suo formato di distribuzione + (tipicamente un tarball compresso con &man.compress.1;, &man.gzip.1;, + o con &man.bzip2.1;).</para> + </step> + + <step> + <para>Individuare la documentazione (probabilmente un file + <filename>INSTALL</filename> o un file <filename>README</filename>, + o qualche file nella sottodirectory <filename>doc/</filename>) e + leggere come installare il software.</para> + </step> + + <step> + <para>Se il software è stato distribuito sotto forma di sorgente, + compilarlo. Questa fase può coinvolgere la modifica di un + <filename>Makefile</filename>, oppure l'esecuzione di uno script + <command>configure</command>, e qualche altro lavoro.</para> + </step> + + <step> + <para>Installare e testare il software.</para> + </step> + </procedure> + + <para>E questo se tutto va bene. Se stai installando del software di cui + non è stato deliberatamente effettuato il porting in FreeBSD + potresti perfino dover modificare il codice per farlo funzionare + correttamente.</para> + + <para>Se vuoi, puoi continuare ad installare il software su FreeBSD nel modo + <quote>tradizionale</quote>. Comunque, FreeBSD fornisce due tecnologie + che possono farti risparmiare molti sforzi: i package e i port. Nel + momento in cui scrivo, sono disponibili più di &os.numports; + applicazioni di terze parti tramite questi due metodi.</para> + + <para>Per ogni applicazione, il package di FreeBSD per quella applicazione + consiste in un singolo file che devi scaricare. Il package contiene una + copia pre-compilata di tutti i comandi dell'applicazione, così + come i file di configurazione e di documentazione. Una volta scaricato il + package, questo può essere manipolato con i comandi di gestione + dei package di FreeBSD, come &man.pkg.add.1;, &man.pkg.delete.1;, + &man.pkg.info.1;, e così via. L'installazione di una nuova + applicazione può essere fatta con un singolo comando.</para> + + <para>In FreeBSD un port di un'applicazione è un insieme di file + predisposti per automatizzare il processo di compilazione + dell'applicazione partendo dal codice sorgente.</para> + + <para>Ricorda che ci sono molte fasi che normalmente devi eseguire se vuoi + compilare un programma autonomamente (scaricare, scompattare, correggere, + compilare, installare). I file che costituiscono un port contengono tutte + le informazioni necessarie per permettere al sistema di fare questo lavoro + al posto tuo. Tu esegui una manciata di semplici comandi e il codice + sorgente dell'applicazione viene automaticamente scaricato, estratto, + corretto, compilato, ed installato.</para> + + <para>Di fatto, il sistema dei port può anche essere usato per + generare package che possono essere successivamente manipolati + con <command>pkg_add</command> ed altri comandi di gestione dei package + che saranno presentati tra poco.</para> + + <para>Sia i package che i port comprendono il meccanismo delle + <emphasis>dipendenze</emphasis>. Supponiamo che tu voglia installare + un'applicazione che dipende da un specifica libreria. Sia l'applicazione + che la libreria sono disponibili in FreeBSD come port o come package. Se + usi il comando <command>pkg_add</command> o il sistema dei port per + installare l'applicazione, entrambi noteranno che la libreria non è + installata, e automaticamente la installeranno per prima.</para> + + <para>Dato che le due tecnologie sono abbastanza simili, probabilmente + vorrai sapere perché FreeBSD le usa entrambe. I package e i port + hanno i loro punti forte, e l'utilizzo dell'uno o dell'altro dipende dalle + proprie preferenze personali.</para> + + <itemizedlist> + <title>Benefici dei Package</title> + + <listitem> + <para>Il tarball compresso di un package è tipicamente più + piccolo del tarball compresso contenente il codice sorgente + della stessa applicazione.</para> + </listitem> + + <listitem> + <para>I package non richiedono alcuna compilazione aggiuntiva. Per + grandi applicazioni, come <application>Mozilla</application>, + <application>KDE</application>, oppure + <application>GNOME</application> questo può essere importante, + sopra tutto se usi un sistema lento.</para> + </listitem> + + <listitem> + <para>I package non richiedono la conoscenza del processo di + compilazione del software su FreeBSD.</para> + </listitem> + </itemizedlist> + + <itemizedlist> + <title>Benefici dei Port</title> + + <listitem> + <para>I package sono normalmente compilati con opzioni conservative, + poiché devono poter funzionare su un parco macchine il + più ampio possibile. Con l'installazione dai port, puoi + aggiustare le opzioni di compilazione per produrre (per esempio) del + codice che sia specifico per un Pentium IV o un processore + Athlon.</para> + </listitem> + + <listitem> + <para>Alcune applicazioni hanno delle opzioni attivabili al tempo di + compilazione che permettono di modificare il comportamento delle + applicazioni stesse. Per esempio, <application>Apache</application> + può essere configurato con un'ampia varietà di + differenti opzioni built-in. Effettuando la compilazione dal port non + sei costretto ad accettare le opzioni di default, e puoi settarle tu + stesso.</para> + + <para>In alcuni casi, ci possono essere più package per la stessa + applicazione a seconda dei settaggi ivi contenuti. Per esempio, + <application>Ghostscript</application> è disponibile come + package <filename>ghostscript</filename> e come package + <filename>ghostscript-nox11</filename>, a seconda che tu abbia o meno + installato un server X11. Questa sorta di adattamento è + possibile con i package, ma diviene impossibile nel caso in cui + un'applicazione ha più di una o due diverse opzioni che si + possono dare al tempo di compilazione.</para> + </listitem> + + <listitem> + <para>Le condizioni di licenza di alcune distribuzioni di software + proibiscono la distribuzione dei binari. Tali software devono essere + distribuiti come codice sorgente.</para> + </listitem> + + <listitem> + <para>Alcune persone non si fidano della distribuzione dei binari. + Con il codice sorgente, puoi (in teoria) controllare il codice e + cercare i suoi potenziali problemi.</para> + </listitem> + + <listitem> + <para>Se hai delle patch, hai bisogno del sorgente per + applicarle.</para> + </listitem> + + <listitem> + <para>Ad alcune persone piace avere il codice sorgente, in modo tale da + poterlo leggerlo se sono annoiati, hackerarlo, prenderne in prestito + delle parti (licenza permettendo, naturalmente), e così + via.</para> + </listitem> + </itemizedlist> + + <para>Per tenersi al corrente sugli aggiornamenti dei port, iscriviti alla + &a.ports; e alla &a.ports-bugs;.</para> + + <warning> + <para>Prima di installare qualche applicazione, dovresti verificare <ulink + url="http://vuxml.freebsd.org/"></ulink> per eventuali problemi di + sicurezza relativi alla tua applicazione.</para> + + <para>Inoltre puoi installare il port <filename + role="package">security/portaudit</filename> che verificherà + in modo automatico tutte le applicazioni installate a caccia di + vulnerabilità note; una verifica verrà fatta anche + prima della compilazione dei port. Puoi usare il comando + <command>portaudit -F -a</command> dopo che hai installato qualche + package.</para> + </warning> + + <para>Il resto del capitolo spiegherà come usare i package ed i + port per installare e gestire il software di terze parti su + FreeBSD.</para> + </sect1> + + <sect1 id="ports-finding-applications"> + <title>Ricerca della Propria Applicazione</title> + + <para>Prima di poter installare delle applicazioni devi sapere + quale applicazione ti serve, e come viene chiamata.</para> + + <para>La lista delle applicazioni disponibili su FreeBSD cresce + continuamente. Fortunatamente, ci sono diversi sistemi per trovare + quello che ti serve:</para> + + <itemizedlist> + <listitem> + <para>Il sito web di FreeBSD mantiene all'indirizzo <ulink + url="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</ulink> + una lista aggiornata in cui puoi cercare tutte le applicazioni + correntemente disponibili. I port sono divisi in categorie, e puoi + sia cercare un'applicazione in base al nome (se lo conosci), sia + visionare tutte le applicazioni disponibili in una data + categoria.</para> + </listitem> + + <listitem> + <indexterm><primary>FreshPort</primary></indexterm> + + <para>Dan Langille mantiene FreshPort, all'indirizzo <ulink + url="http://www.FreshPorts.org/"></ulink>. + FreshPort segue in tempo reale i cambiamenti delle applicazioni + nell'albero dei port, permettendoti di <quote>controllare</quote> + uno o più port, e dandoti la possibilità di essere + avvisato tramite email quando questi vengono aggiornati.</para> + </listitem> + + <listitem> + <indexterm><primary>FreshMeat</primary></indexterm> + + <para>Se non conosci il nome dell'applicazione che desideri, prova ad + usare un sito come FreshMeat (<ulink + url="http://www.freshmeat.net/"></ulink>) + per trovare l'applicazione, quindi controlla sul sito di FreeBSD + per vedere se è già stato effettuato il porting.</para> + </listitem> + + <listitem> + <para>Se sei a conoscenza del nome esatto del port, ma non sai in + quale categoria esso sia, puoi usare il comando &man.whereis.1; + Semplicemente digita <command>whereis + <replaceable>file</replaceable></command>, dove + <replaceable>file</replaceable> è il programma che vuoi + installare. Se viene trovato sul tuo sistema, ti verrà + indicato dove si trova, in modo simile a quanto segue:</para> + + <screen>&prompt.root; <userinput>whereis lsof</userinput> +lsof: /usr/ports/sysutils/lsof</screen> + + <para>Questo ci dice che <command>lsof</command> (un'utility di + sistema) si trova nella directory + <filename>/usr/ports/sysutils/lsof</filename>.</para> + </listitem> + + <listitem> + <para>Un altro modo per trovare un determinato port è quello + di usare il meccanismo di ricerca contenuto nella collezione dei port. + Per usare questo servizio di ricerca, devi posizionarti nella + directory <filename>/usr/ports</filename>. Una volta in quella + directory, lancia <command>make search + name=<replaceable>nome-programma</replaceable></command> dove + <replaceable>nome-programma</replaceable> è il nome del + programma che vuoi cercare. Per esempio, se vuoi cercare + <command>lsof</command>:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports</userinput> +&prompt.root; <userinput>make search name=lsof</userinput> +Port: lsof-4.56.4 +Path: /usr/ports/sysutils/lsof +Info: Elenca informazioni sui file aperti (simile a fstat(1)) +Maint: obrien@FreeBSD.org +Index: sysutils +B-deps: +R-deps:</screen> + + <para>La parte di output sulla quale devi porre particolare attenzione + è la riga <quote>Path:</quote>, che ti dice dove puoi trovare + il port. Le altre informazioni riportate non sono necessarie per + installare il port, e quindi non saranno trattate in questa + sede.</para> + + <para>Inoltre per una ricerca più complessa puoi usare + <command>make search key=<replaceable>stringa</replaceable></command> + dove <replaceable>stringa</replaceable> fa parte del testo da cercare. + Questo ricerca nei nomi dei port, nei commenti, nelle descrizioni e + nelle dipendenze e può essere usato per cercare port che si + riferiscono ad un argomento particolare anche se non conosci il nome + del programma che stai cercando.</para> + + <para>In entrambi i casi, la stringa di ricerca è + case-insensitive. La ricerca per <quote>LSOF</quote> produrrà + gli stessi risultati della ricerca per <quote>lsof</quote>.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="packages-using"> + <sect1info> + <authorgroup> + <author> + <firstname>Chern</firstname> + + <surname>Lee</surname> + + <contrib>Contributo di</contrib> + </author> + </authorgroup> + </sect1info> + + <title>Utilizzo del Sistema dei Package</title> + + <sect2> + <title>Installazione di un Package</title> + + <indexterm> + <primary>package</primary> + <secondary>installazione</secondary> + </indexterm> + + <indexterm><primary><command>pkg_add</command></primary></indexterm> + + <para>Puoi usare l'utility &man.pkg.add.1; per installare un package di + FreeBSD da un file locale o da un server sulla rete.</para> + + <example> + <title>Scaricare un Package Manualmente e Installarlo da Locale</title> + + <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput> +Connected to ftp2.FreeBSD.org. +220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. +331 Guest login ok, send your email address as password. +230- +230- This machine is in Vienna, VA, USA, hosted by Verio. +230- Questions? E-mail freebsd@vienna.verio.net. +230- +230- +230 Guest login ok, access restrictions apply. +Remote system type is UNIX. +Using binary mode to transfer files. +<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput> +250 CWD command successful. +<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput> +local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz +200 PORT command successful. +150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). +100% |**************************************************| 92375 00:00 ETA +226 Transfer complete. +92375 bytes received in 5.60 seconds (16.11 KB/s) +<prompt>ftp></prompt> <userinput>exit</userinput> +&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen> + </example> + + <para>Se non hai una raccolta di package locale (per esempio il + set dei CDROM di FreeBSD) allora probabilmente ti risulterà + più facile usare &man.pkg.add.1; con l'opzione + <option>-r</option>. In questo modo &man.pkg.add.1; determina + automaticamente la corretta release e il giusto formato dell'oggetto, + quindi scarica il package da un sito FTP e lo installa.</para> + + <indexterm><primary><command>pkg_add</command></primary></indexterm> + + <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen> + + <para>L'esempio qui sopra scarica il giusto package e lo installa senza + nessun ulteriore intervento. Se vuoi specificare un sito mirror dei + package di &os; alternativo, invece del sito di distibuzione principale, + devi settare la variabile <envar>PACKAGESITE</envar> come desiderato, + in modo tale da sovrascrivere i settaggi di default. &man.pkg.add.1; + usa &man.fetch.3; per scaricare i file, il quale rispetta varie + variabili d'ambiente, incluse <envar>FTP_PASSIVE_MODE</envar>, + <envar>FTP_PROXY</envar>, e <envar>FTP_PASSWORD</envar>. Puoi aver + bisogno di settarne qualcuna se la tua macchina è dietro un + firewall, o se utilizzi un proxy FTP/HTTP. Leggi &man.fetch.3; per la + lista completa. Nell'esempio precedente si può anche notare che + viene usato <literal>lsof</literal> al posto di + <literal>lsof-4.56.4</literal>. Quando viene usata la modalità + di prelevamento da remoto, il numero di versione del package non deve + essere specificato. &man.pkg.add.1; prenderà automaticamente + l'ultima versione dell'applicazione.</para> + + <note> + <para>&man.pkg.add.1; scaricherà la versione più recente + della tua applicazione solo se stai usando &os.current; o &os.stable;. + Se stai utilizzando una versione -RELEASE, allora verrà + scaricata la versione del package che è stato costruito per + la tua release. Tuttavia è possibile cambiare questo + comportamento modificando la variabile di ambiente + <envar>PACKAGESITE</envar> in modo opportuno. Per esempio, se hai un + un sistema &os; 5.4-RELEASE, di default &man.pkg.add.1; tenterà + di scaricare i package da + <literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/</literal>. + Se vuoi forzare &man.pkg.add.1; a scaricare i package di + &os; 5-STABLE, setta <envar>PACKAGESITE</envar> a + <literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/</literal>. + </para> + </note> + + <para>I file dei package sono distribuiti nel formato + <filename>.tgz</filename>. Puoi trovarli in <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>, + oppure sui CDROM della distribuzione di FreeBSD. Ogni CD contenuto + nel set dei quattro CD (e nel PowerPak, ecc.) contiene i package nella + directory <filename>/packages</filename>. La disposizione dei package + è simile a quella dell'albero <filename>/usr/ports</filename>. + Ogni categoria ha la propria directory, ed ogni package può + essere trovato dentro la directory <filename>All</filename>.</para> + + <para>La struttura delle directory del sistema dei package eguaglia + quella dei port; questi due sistemi lavorano l'uno con l'altro per + formare l'intero sistema dei package/port.</para> + </sect2> + + <sect2> + <title>Gestione dei Package</title> + + <indexterm> + <primary>package</primary> + <secondary>gestione</secondary> + </indexterm> + + <para>L'utility &man.pkg.info.1; elenca e descrive i vari package + installati.</para> + + <indexterm><primary><command>pkg_info</command></primary></indexterm> + + <screen>&prompt.root; <userinput>pkg_info</userinput> +cvsup-16.1 Un comune sistema di distribuzione dei file in rete ottimizzato per CVS +docbook-1.2 Meta-port delle varie versioni del DTD DocBook +...</screen> + + <para>L'utility &man.pkg.version.1; riassume le versioni di tutti i + package installati. Paragona le versioni dei package con le versioni + correnti trovate nell'albero dei port.</para> + + <indexterm><primary><command>pkg_version</command></primary></indexterm> + + <screen>&prompt.root; <userinput>pkg_version</userinput> +cvsup = +docbook = +...</screen> + + <para>I simboli nella seconda colonna indicano il risultato del confronto + tra la versione installata e quella disponibile in locale nell'albero + dei port.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Simbolo</entry> + + <entry>Significato</entry> + </row> + </thead> + + <tbody> + <row> + <entry>=</entry> + + <entry>Le versioni del package installato e di quello disponibile + in locale nell'albero dei port sono uguali.</entry> + </row> + + <row> + <entry><</entry> + + <entry>La versione installata è precedente a quella + disponibile nell'albero dei port.</entry> + </row> + + <row> + <entry>></entry> + + <entry>La versione installata è più aggiornata di + quella trovata in locale nell'albero dei port. (L'albero + dei port locale è probabilmente da aggiornare)</entry> + </row> + + <row> + <entry>?</entry> + + <entry>Il package installato non può essere trovato + nell'indice dei port. (Questo può succedere, per esempio, + se un port installato viene rimosso dalla collezione dei port + oppure viene rinominato.)</entry> + </row> + + <row> + <entry>*</entry> + + <entry>Ci sono più versioni del package.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2> + <title>Cancellazione di un Package</title> + + <indexterm><primary><command>pkg_delete</command></primary></indexterm> + <indexterm> + <primary>package</primary> + <secondary>cancellare</secondary> + </indexterm> + + <para>Per rimuovere un package installato in precedenza, usa l'utility + &man.pkg.delete.1;.</para> + + <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen> + </sect2> + + <sect2> + <title>Miscellanea</title> + + <para>Tutte le informazioni sui package sono memorizzate nella + directory <filename>/var/db/pkg</filename>. La lista dei file + installati e le descrizioni di ogni package possono essere trovate + all'interno dei file di questa directory.</para> + </sect2> + </sect1> + + <sect1 id="ports-using"> + <title>Utilizzo della Collezione dei Port</title> + + <para>Le sezioni seguenti forniscono le istruzioni basilari sull'uso della + collezione dei port per installare e rimuovere programmi dal tuo + sistema.</para> + + <sect2 id="ports-tree"> + <title>Ottenimento della Collezione dei Port</title> + + <para>Prima che tu possa installare i port, devi procurarti la collezione + dei port—che essenzialmente è un set di + <filename>Makefiles</filename>, patch, e file di descrizione collocati + in <filename>/usr/ports</filename>.</para> + + <para>Durante l'installazione del tuo sistema FreeBSD, + <application>sysinstall</application> ti ha chiesto se volevi installare + la collezione dei port. Se hai rifiutato, puoi seguire queste + istruzioni per ottenerla:</para> + + <procedure> + <title>Il Metodo Sysinstall</title> + + <para>Questo metodo richiede ancora l'uso di + <application>sysinstall</application> per installare + manualmente la collezione dei port.</para> + + <step> + <para>Esegui da <username>root</username> + <command>sysinstall</command> + (<command>/stand/sysinstall</command> nelle versioni di &os; + precedenti alla 5.2) come mostrato qui sotto:</para> + + <screen>&prompt.root; <userinput>sysinstall</userinput></screen> + </step> + + <step> + <para>Scorri verso il basso e seleziona + <guimenuitem>Configure</guimenuitem>, premi + <keycap>Invio</keycap>.</para> + </step> + + <step> + <para>Scorri verso il basso e seleziona + <guimenuitem>Distributions</guimenuitem>, premi + <keycap>Invio</keycap>.</para> + </step> + + <step> + <para>Scorri verso il basso fino a <guimenuitem>ports</guimenuitem>, + premi <keycap>Spazio</keycap>.</para> + </step> + + <step> + <para>Scorri verso l'alto fino a <guimenuitem>Exit</guimenuitem>, + premi <keycap>Invio</keycap>.</para> + </step> + + <step> + <para>Seleziona il modo di installazione desiderato, come CDROM, + FTP, e così via.</para> + </step> + + <step> + <para>Scorri verso l'alto fino a <guimenuitem>Exit</guimenuitem> e + premi <keycap>Invio</keycap>.</para> + </step> + + <step> + <para>Premi <keycap>X</keycap> per uscire da + <application>sysinstall</application>.</para> + </step> + </procedure> + + <para>Un altro metodo per ottenere la tua collezione dei port e per + mantenerla aggiornata consiste nell'utilizzo di + <application>CVSup</application>. Dai un'occhiata al file di + <application>CVSup</application> riguardante i port, + <filename>/usr/share/examples/cvsup/ports-supfile</filename>. + Guarda <link linkend="cvsup">Usare CVSup</link> (<xref + linkend="cvsup"/>) per maggiori informazioni sull'uso di + <application>CVSup</application> e del file menzionato.</para> + + <procedure> + <title>Il Metodo CVSup</title> + + <para>Questo è un rapido metodo che utilizza + <application>CVSup</application> per ottenere la collezione dei + port. Se vuoi mantenere il tuo albero dei port aggiornato, o imparare + di più su <application>CVSup</application>, leggi la sezione + menzionata in precedenza.</para> + + <step> + <para>Installa il package <filename + role="package">net/cvsup-without-gui</filename>:</para> + + <screen>&prompt.root; <userinput>pkg_add -r cvsup-without-gui</userinput></screen> + + <para>Guarda <link linkend="cvsup-install">Installazione di CVSup</link> + (<xref linkend="cvsup-install"/>) per maggiori dettagli.</para> + </step> + + <step> + <para>Esegui <command>cvsup</command>:</para> + + <screen>&prompt.root; <userinput>cvsup -L 2 -h <replaceable>cvsup.FreeBSD.org</replaceable> /usr/share/examples/cvsup/ports-supfile</userinput></screen> + + <para>Cambia <replaceable>cvsup.FreeBSD.org</replaceable> in un + server <application>CVSup</application> vicino a te. Guarda <link + linkend="cvsup-mirrors">Mirror CVSup</link> (<xref + linkend="cvsup-mirrors"/>) per una lista completa dei siti + mirror.</para> + + <note> + <para>Qualcuno potrebbe voler usare il suo + <filename>ports-supfile</filename>, per esempio per evitare di + passare il server <application>CVSup</application> su linea di + comando.</para> + + <procedure> + <step> + <para>In questo caso, da <username>root</username>, copia + <filename>/usr/share/examples/cvsup/ports-supfile</filename> + in una nuova locazione, come + <filename>/root</filename> o la tua directory home.</para> + </step> + + <step> + <para>Modifica <filename>ports-supfile</filename>.</para> + </step> + + <step> + <para>Cambia + <replaceable>CHANGE_THIS.FreeBSD.org</replaceable> + in un server <application>CVSup</application> vicino a + te. Guarda <link linkend="cvsup-mirrors">Mirror + CVSup</link> (<xref linkend="cvsup-mirrors"/>) per una + lista completa di siti mirror.</para> + </step> + + <step> + <para>E ora esegui <command>cvsup</command>, in questo + modo:</para> + + <screen>&prompt.root; <userinput>cvsup -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen> + </step> + </procedure> + </note> + </step> + + <step> + <para>Poco dopo aver eseguito il comando &man.cvsup.1; verranno + scaricate e applicate alla tua collezione dei port tutte le + modifiche recenti, anche se di fatto i port già compilati + sul tuo sistema non verranno aggiornati.</para> + </step> + </procedure> + </sect2> + + <sect2 id="ports-skeleton"> + <title>Installazione dei Port</title> + + <indexterm> + <primary>port</primary> + <secondary>installazione</secondary> + </indexterm> + + <para>La prima cosa che dovrebbe essere chiara quando si ha a che fare con + la collezione dei port è l'effettivo significato di + <quote>scheletro</quote> di un port. Brevemente, lo scheletro di un + port è un insieme minimo di file che dice al tuo sistema FreeBSD + come compilare ed installare un programma in modo pulito. Ogni + scheletro di un port include:</para> + + <itemizedlist> + <listitem> + <para>Un <filename>Makefile</filename>. Il + <filename>Makefile</filename> contiene varie espressioni che + specificano come l'applicazione deve essere compilata e dove + deve essere installata sul tuo sistema.</para> + </listitem> + + <listitem> + <para>Un file <filename>distinfo</filename>. Questo file contiene + informazioni sui file che devono essere scaricati per la + compilazione del port e sui loro checksum (somme di controllo), + utilizzati per verificare che quei file non siano stati corrotti + durante il download.</para> + </listitem> + + <listitem> + <para>Una directory <filename>files</filename>. Questa directory + contiene le patch utilizzate per la compilazione e per + l'installazione del programma sul tuo sistema FreeBSD. Le patch + sono sostanzialmente piccoli file che specificano come modificare + alcuni file. Sono in puro formato di testo, e in modo grossolano + dicono <quote>Rimuovi la riga 10</quote> o + <quote>Cambia la riga 26 in ...</quote>. Le patch sono anche + conosciute con il termine <quote>diff</quote> poichè sono + generate dal programma &man.diff.1;.</para> + + <para>Questa directory può anche contenere altri file + utilizzati per la costruzione del port.</para> + </listitem> + + <listitem> + <para>Un file <filename>pkg-descr</filename>. Questo file contiene + una descrizione del programma più dettagliata, spesso su + più righe di testo.</para> + </listitem> + + <listitem> + <para>Un file <filename>pkg-plist</filename>. Questo file contiene + l'elenco di tutti i file che saranno installati dal port. + Dice anche al sistema dei port quale file rimuovere durante la + disinstallazione.</para> + </listitem> + </itemizedlist> + + <para>Alcuni port hanno altri file, come + <filename>pkg-message</filename>. Il sistema dei port li usa + per affrontare speciali situazioni. Se vuoi maggiori dettagli + su questi file, e sui port in generale, leggi attentamente il + <ulink url="&url.books.porters-handbook;/index.html">Manuale del Porter + di FreeBSD</ulink>.</para> + + <para>Il port include istruzioni su come compilare il codice sorgente, + ma non include il codice sorgente stesso. Devi prendere il codice + sorgente da un CDROM o da Internet. L'autore del codice sorgente + può distribuirlo come desidera. Quasi sempre è un file + di archivio tar compresso con gzip, ma potrebbe essere stato compresso + con un altro tool o perfino potrebbe essere non compresso. Il codice + sorgente del programma, in qualsiasi forma sia, è chiamato con + il termine <quote>distfile</quote>. I due metodi per installare un + port di &os; sono descritti qui sotto.</para> + + <note> + <para>Devi essere <username>root</username> per installare i + port.</para> + </note> + + <warning> + <para>Prima di installare qualche port, dovresti assicurarti di avere + l'albero della collezione dei port aggiornato e dovresti verificare + <ulink + url="http://vuxml.freebsd.org/"></ulink> per eventuali problemi di + sicurezza relativi alla tua applicazione.</para> + + <para>Una verifica delle vulnerabilità di sicurezza può + essere fatta in modo automatico con + <application>portaudit</application> prima dell'installazione di nuove + applicazioni. Questo strumento può essere trovato nella + collezione dei port (<filename + role="package">security/portaudit</filename>). Esegui + <command>portaudit -F</command> prima di installare un nuovo port, + per aggiornare la base di dati delle vulnerabilità. Durante + la verifica giornaliera del sistema verrà fatto un controllo + di integrità e un aggiornamento della base di dati delle + vulnerabilità. Per maggiori informazioni leggi le pagine man + &man.portaudit.1; e &man.periodic.8;.</para> + </warning> + + <sect3 id="ports-cd"> + <title>Installazione dei Port dal CDROM</title> + + <indexterm> + <primary>port</primary> + <secondary>installazione da CDROM</secondary> + </indexterm> + + <para>Le immagini ufficiali su CDROM del progetto FreeBSD non + includono più i distfile. Occupano molto spazio che è + meglio utilizzato per i package precompilati. I prodotti su CDROM + come il FreeBSD PowerPak includono i distfile, e puoi ordinare questi + set da un venditore come <ulink + url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>. + Questa sezione presuppone che tu abbia un simile set di CDROM di + FreeBSD.</para> + + <para>Metti il tuo CDROM di FreeBSD nell'apposito lettore. Montalo + su <filename>/cdrom</filename>. (Se usi un punto di mount differente, + setta la variabile make <makevar>CD_MOUNTPTS</makevar>.) Per prima cosa, + vai nella directory del port che vuoi installare:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen> + + <para>Una volta dentro la directory <filename>lsof</filename>, + vedrai lo scheletro del port. Il prossimo passo riguarda la + compilazione, o <quote>costruzione</quote>, del port. Questo viene + fatto semplicemente digitando <command>make</command> al prompt. Una + volta che hai fatto questo, dovresti vedere qualcosa simile a quanto + segue:</para> + + <screen>&prompt.root; <userinput>make</userinput> +>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. +>> Attempting to fetch from file:/cdrom/ports/distfiles/. +===> Extracting for lsof-4.57 +... +[l'output dell'estrazione è stato tagliato] +... +>> Checksum OK for lsof_4.57D.freebsd.tar.gz. +===> Patching for lsof-4.57 +===> Applying FreeBSD patches for lsof-4.57 +===> Configuring for lsof-4.57 +... +[l'output della configurazione è stato tagliato] +... +===> Building for lsof-4.57 +... +[l'output della compilazione è stato tagliato] +... +&prompt.root;</screen> + + <para>Nota che una volta terminata la compilazione ritornerai al tuo + prompt. Il prossimo passo riguarda l'installazione del + port. Per installarlo, devi semplicemente affiancare una parola al + comando <command>make</command>, e questa parola è + <command>install</command>:</para> + + <screen>&prompt.root; <userinput>make install</userinput> +===> Installing for lsof-4.57 +... +[l'output dell'installazione è stato tagliato] +... +===> Generating temporary packing list +===> Compressing manual pages for lsof-4.57 +===> Registering installation for lsof-4.57 +===> SECURITY NOTE: + I binari di questo port richiedono l'esecuzione con alti privilegi. +&prompt.root;</screen> + + <para>Quando ritornerai al tuo prompt, dovresti essere in grado di + eseguire l'applicazione che hai appena installato. Siccome + <command>lsof</command> è un programma che lavora con alti + privilegi, viene mostrato un avvertimento di sicurezza. Durante la + compilazione e l'installazione dei port, dovresti fare attenzione ad + ogni avvertimento che appare.</para> + + <note> + <para>Potresti anche evitare un passaggio lanciando solamente + <command>make install</command> invece dei due passi separati + <command>make</command> e <command>make install</command>.</para> + </note> + + <note> + <para>Alcune shell mantengono una cache dei comandi che sono + disponibili nelle directory elencate nella variabile d'ambiente + <envar>PATH</envar>, per velocizzare le operazioni di ricerca dei + file eseguibili di questi comandi. Se stai usando una di queste + shell, potresti dover usare il comando <command>rehash</command> + dopo l'installazione di un port, prima di poter usare il nuovo + comando. Questo comando funzionerà per le shell come + <command>tcsh</command>. Usa il comando + <command>hash -r</command> per le shell come + <command>sh</command> o <filename + role="package">shells/bash</filename>. Per maggiori + informazioni guarda la documentazione della tua shell.</para> + </note> + + <note> + <para>Per cortesia sii consapevole che le licenze di alcuni port non + permettono l'inclusione degli stessi sul CDROM. Questa limitazione + potrebbe essere dovuta dalla necessità di compilare un form + di registrazione prima di scaricare il software, o perché la + ridistribuzione non è permessa, o per altre ragioni. Se + desideri installare un port non incluso nel CDROM, dovrai essere + collegato ad Internet per farlo (vedi la <link + linkend="ports-inet">prossima sezione</link>).</para> + </note> + </sect3> + + <sect3 id="ports-inet"> + <title>Installazione dei Port da Internet</title> + + <para>Questa sezione presuppone che tu abbia una connessione ad Internet + funzionante. Se non ce l'hai, dovrai utilizzare <link + linkend="ports-cd">l'installazione da CDROM</link>, oppure dovrai + copiare manualmente il distfile in + <filename>/usr/ports/distfiles</filename>.</para> + + <para>L'installazione di un port da Internet viene fatta nello stesso + modo con cui viene fatta l'installazione da CDROM. L'unica differenza + tra i due modi è che il distfile del port viene preso da + Internet invece che dal CDROM.</para> + + <para>I passi richiesti sono gli stessi:</para> + + <screen>&prompt.root; <userinput>make install</userinput> +>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. +>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/. +Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% +439860 bytes transferred in 18.0 seconds (23.90 kBps) +===> Extracting for lsof-4.57 +... +[l'output dell'estrazione è stato tagliato] +... +>> Checksum OK for lsof_4.57D.freebsd.tar.gz. +===> Patching for lsof-4.57 +===> Applying FreeBSD patches for lsof-4.57 +===> Configuring for lsof-4.57 +... +[l'output della configurazione è stato tagliato] +... +===> Building for lsof-4.57 +... +[l'output della compilazione è stato tagliato] +... +===> Installing for lsof-4.57 +... +[l'output dell'installazione è stato tagliato] +... +===> Generating temporary packing list +===> Compressing manual pages for lsof-4.57 +===> Registering installation for lsof-4.57 +===> SECURITY NOTE: + I binari di questo port richiedono l'esecuzione con alti privilegi. +&prompt.root;</screen> + + <para>Come puoi vedere, la sola differenza sta nella riga che dice + da dove il sistema sta ottenendo il distfile del port.</para> + + <para>Il sistema dei port usa &man.fetch.1; per scaricare i file, + il quale rispetta varie variabili d'ambiente, incluse + <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, + e <envar>FTP_PASSWORD</envar>. Puoi aver bisogno di settarne + qualcuna se sei dietro a un firewall, o se usi un proxy FTP/HTTP. + Guarda &man.fetch.3; per la lista completa.</para> + + <para>Gli utenti che non possono essere sempre connessi ad Internet + possono usare l'opzione <command>make + <maketarget>fetch</maketarget></command>. Esegui tale comando in + cima alla directory (<filename>/usr/ports</filename>) e i file + richiesti saranno scaricati. Questo comando funziona anche nelle + categorie di livello inferiore, per esempio: + <filename>/usr/ports/net</filename>. Nota che se un port dipende + da una libreria o da altri port, quel comando <emphasis>non</emphasis> + preleverà anche i distfile di questi port. Sostituisci + <maketarget>fetch</maketarget> con + <maketarget>fetch-recursive</maketarget> se vuoi prelevare anche + tutte le dipendenze di un port.</para> + + <note> + <para>Puoi compilare tutti i port di una categoria o perfino tutti + i port eseguendo <command>make</command> in cima alla directory, + in modo simile a quanto fatto per il suddetto metodo <command>make + <makevar>fetch</makevar></command>. Comunque, questo è + rischioso poichè alcuni port non possono coesistere. Inoltre, + alcuni port potrebbero richiedere di installare due diversi file con + lo stesso nome.</para> + </note> + + <para>In alcuni casi rari, gli utenti potrebbero voler acquisire i + tarball da un sito diverso dal <makevar>MASTER_SITES</makevar> + (la locazione di default dove i file sono scaricati). Puoi + sovrascrivere l'opzione <makevar>MASTER_SITES</makevar> con il comando + seguente:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> +&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ +ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> + + <para>In questo esempio abbiamo settato <makevar>MASTER_SITES</makevar> + a <hostid + role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para> + + <note> + <para>Alcuni port permettono (o perfino richiedono) l'impostazione + di alcune opzioni di compilazione che abilitano/disabilitano parti + dell'applicazione opzionali, settaggi di sicurezza, e altre + personalizzazioni. Alcune applicazioni che mi vengono in mente sono + <filename role="package">www/mozilla</filename>, <filename + role="package">security/gpgme</filename>, e <filename + role="package">mail/sylpheed-claws</filename>. Quando sono + disponibili simili opzioni viene visualizzato un + messaggio.</para> + </note> + </sect3> + + <sect3> + <title>Cambiare le Directory dei Port di Default</title> + + <para>Qualche volta è utile (o necessario) utilizzare + directory per i distfile e i port diverse da quelle di default. Le + variabili <makevar>PORTSDIR</makevar> e <makevar>PREFIX</makevar> + possono sovrascrivere le directory di default. Per esempio:</para> + + <screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen> + + <para>compilerà il port in + <filename>/usr/home/example/ports</filename> e installerà ogni + cosa sotto <filename>/usr/local</filename>.</para> + + <screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen> + + <para>compilerà in <filename>/usr/ports</filename> ed + installerà in + <filename>/usr/home/example/local</filename>.</para> + + <para>E naturalmente,</para> + + <screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen> + + <para>è una combinazione dei due (è troppo lungo da + scrivere per intero su questa pagina, ma dovrebbe darti lo stesso + un'idea generale).</para> + + <para>Alternativamente, queste variabili potrebbero essere settate nel + tuo ambiente. Leggi la pagina man della tua shell per sapere come + fare.</para> + </sect3> + + <sect3> + <title>Avere a che Fare con <command>imake</command></title> + + <para>Alcuni port che usano <command>imake</command> (una parte dell'X + Window System) non funzionano bene con + <makevar>PREFIX</makevar>, e si ostinano ad installarsi sotto + <filename>/usr/X11R6</filename>. In modo analogo, alcuni port di Perl + ignorano <makevar>PREFIX</makevar> e si installano nell'albero del + Perl. Far rispettare a questi port <makevar>PREFIX</makevar> è + spesso un lavoro difficile o persino impossibile.</para> + </sect3> + </sect2> + + <sect2 id="ports-removing"> + <title>Rimozione dei Port Installati</title> + + <indexterm> + <primary>port</primary> + <secondary>rimozione</secondary> + </indexterm> + + <para>Ora che sai come installare i port, probabilmente ti chiederai come + rimuoverli, caso mai ne installassi uno e successivamente ti accorgessi + che hai installato il port sbagliato. Rimuoveremo il port utilizzato + nel nostro esempio precedente (che era <command>lsof</command> se non + sei stato attento). Come con l'installazione dei port, la prima cosa + che devi fare è andare nella directory del port, + <filename>/usr/ports/sysutils/lsof</filename>. Dopo aver cambiato + directory, sei pronto per disinstallare <command>lsof</command>. + Questo viene fatto con il comando + <command>make deinstall</command>:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput> +&prompt.root; <userinput>make deinstall</userinput> +===> Deinstalling for lsof-4.57</screen> + + <para>È stato abbastanza facile. In questo modo hai rimosso + <command>lsof</command> dal tuo sistema. Se volessi reinstallarlo, puoi + farlo lanciando <command>make reinstall</command> dalla directory + <filename>/usr/ports/sysutils/lsof</filename>.</para> + + <para>Le sequenze <command>make deinstall</command> e <command>make + reinstall</command> non funzionano più una volta che hai dato + un <command>make clean</command>. Se vuoi disinstallare un port dopo un + <command>make clean</command>, usa &man.pkg.delete.1; come + discusso nella <link linkend="packages-using">sezione del Manuale + riguardante i Package</link>.</para> + </sect2> + + <sect2 id="ports-disk-space"> + <title>Port e Spazio su Disco</title> + + <indexterm> + <primary>port</primary> + <secondary>spazio su disco</secondary> + </indexterm> + + <para>Usando la collezione dei port con il passare del tempo puoi + facilmente esaurire lo spazio del tuo disco. Infatti compilando ed + installando software con i port, l'albero dei port tende ad aumentare in + dimensioni, quindi dovresti sempre ricordarti di ripulire le + directory temporanee <filename class="directory">work</filename> usando + il comando <command>make <makevar>clean</makevar></command>. Questo + rimuoverà la directory <filename class="directory">work</filename> + dopo che un port è stato compilato ed installato. Inoltre puoi + rimuovere i file sorgenti della distribuzione dalla + directory <filename class="directory">distfiles</filename>, e rimuovere + i port installati che non sono più utilizzati.</para> + + <para>Alcuni utenti limitano le categorie dei port disponibili mettendo un + elemento nel file <filename>refuse</filename>. In questo modo, quando + viene eseguita l'applicazione <application>CVSup</application>, questa non + scaricherà i file delle categorie specificate nel file + <filename>refuse</filename>. Maggiori informazioni riguardo il file + <filename>refuse</filename> possono essere trovate nella <xref + linkend="cvsup-refuse-file"/>.</para> + </sect2> + + <sect2 id="ports-upgrading"> + <title>Aggiornamento dei Port</title> + + <indexterm> + <primary>portupgrade</primary> + </indexterm> + + <indexterm> + <primary>port</primary> + <secondary>aggiornamento</secondary> + </indexterm> + + <note> + <para>Dopo che hai aggiornato la tua collezione dei port, prima di + tentare di aggiornare un port, dovresti verificare il file + <filename>/usr/ports/UPDATING</filename>. Questo file riporta alcuni + problemi che gli utenti potrebbero incontrare durante l'aggiornamento + di un port con le relative soluzioni.</para> + </note> + + <para>Mantenere i tuoi port aggiornati può essere un lavoro noioso. + Per esempio, per aggiornare dovresti andare nella directory del port, + compilare il port, disinstallare il vecchio port, installare quello + nuovo, e quindi ripulire la directory di lavoro. Immagina di fare + tutto ciò per cinque port, noioso vero? Questo era uno dei + maggiori problemi per gli amministratori di sistema, e ora abbiamo + strumenti che fanno questo lavoro per noi. Per esempio l'utility + <filename role="package">sysutils/portupgrade</filename> fa tutto + questo! Installalo come qualsiasi altro port, usando il comando + <command>make <makevar>install clean</makevar></command>.</para> + + <para>Ora crea un database con il comando <command>pkgdb -F</command>. + Verrà letta la lista dei port installati e verrà creato + un file database nella directory <filename>/var/db/pkg</filename>. + D'ora in avanti, quando esegui <command>portupgrade -a</command>, questo + leggerà il database e il file dei port + <filename>INDEX</filename>. Infine, + <application>portupgrade</application> incomincerà a scaricare, + compilare, effettuare backup, installare, e ripulire i port che devono + essere aggiornati. <application>portupgrade</application> è + fornito di molte opzioni a seconda dei casi di utilizzo, tra i quali + uno è particolarmente importante.</para> + + <para>Se vuoi aggiornare solo una determinata applicazione, e non il + database completo, usa <command>portupgrade + <replaceable>pkgname</replaceable></command>, con l'opzione + <option>-r</option> se <application>portupgrade</application> dovrebbe + agire anche su tutti i package che dipendono dal dato package, o con + l'opzione <option>-R</option> per agire su tutti i package richiesti + dal dato package.</para> + + <para>Per usare i package invece dei port nell'installazione, usa l'opzione + <option>-P</option>. Con questa opzione + <application>portupgrade</application> cerca nelle directory locali + elencate in <envar>PKG_PATH</envar>, o, se non sono stati trovati + localmente, scarica i package da un sito. Se i package non sono stati + trovati localmente ne è stato possibile scaricarli in remoto, + <application>portupgrade</application> userà i port. + Per impedire l'uso dei port, usa l'opzione <option>-PP</option>.</para> + + <para>Per scaricare solo i distfile (o i package, se è stata specificata + l'opzione <option>-P</option>) senza compilare o installare nulla, usa l'opzione + <option>-F</option>. Per maggiori informazioni guarda la pagina man di + &man.portupgrade.1;.</para> + + <note> + <para>È importante aggiornare in modo regolare il database dei + package usando il comando <command>pkgdb -F</command> per rattoppare + eventuali incoerenze, specialmente quando + <application>portupgrade</application> te lo chiede. Non interrompere + <application>portupgrade</application> mentre sta aggiornando il + database dei package, poichè ciò comporterà + un database inconsistente.</para> + </note> + + <para>Esistono altre utility che fanno simili lavori, controlla la + directory <filename>ports/sysutils</filename> e guarda se ti viene + qualche idea.</para> + </sect2> + </sect1> + + <sect1 id="ports-nextsteps"> + <title>Attività del Dopo Installazione</title> + + <para>Di solito dopo aver installato una nuova applicazione dovresti + leggere la documentazione che potrebbe essere stata inclusa, modificare + qualche file di configurazione, assicurarti che l'applicazione parta nella + fase di avvio (se è un demone), e così via;.</para> + + <para>I passi precisi che devi seguire per configurare un'applicazione + sono ovviamente diversi da applicazione a applicazione. Comunque, se hai + appena installato una nuova applicazione e ti stai chiedendo + <quote>Cosa faccio ora?</quote> questi consigli potrebbero + aiutarti:</para> + + <itemizedlist> + <listitem> + <para>Usa &man.pkg.info.1; per scoprire quali file sono stati + installati, e dove sono stati installati. Per esempio, se hai appena + installato la versione 1.0.0 di FooPackage, allora questo + comando</para> + + <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen> + + <para>mostrerà tutti i file installati dal package. Fai molta + attenzione ai file nelle directory <filename>man/</filename>, che + sono le pagine man, a quelli nella directory + <filename>etc/</filename>, che sono i file di configurazione, e a + quelli in <filename>doc/</filename>, che forniscono una documentazione + più esauriente.</para> + + <para>Se non sei sicuro della versione dell'applicazione che hai appena + installato, questo comando</para> + + <screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen> + + <para>troverà tutti i package installati che contengono nel nome + <replaceable>foopackage</replaceable>. Rimpiazza + <replaceable>foopackage</replaceable> nella tua riga di comando a + seconda delle tue necessità.</para> + </listitem> + + <listitem> + <para>Una volta che hai scoperto dove sono state posizionate le pagine + man dell'applicazione, esaminale usando &man.man.1;. Analogamente, + esamina i file di configurazione d'esempio, ed ogni ulteriore + documentazione che può essere stata fornita.</para> + </listitem> + + <listitem> + <para>Se l'applicazione ha un sito web, cerca della documentazione + aggiuntiva, le domande più frequenti (FAQ), ed altro ancora. + Se non sei sicuro dell'indirizzo del sito web questo potrebbe essere + presente nell'output di</para> + + <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen> + + <para>Una riga contenete <literal>WWW:</literal>, se presente, dovrebbe + fornire l'URL del sito dell'applicazione.</para> + </listitem> + + <listitem> + <para>I port che dovrebbero avviarsi in fase di avvio (come i server + Internet) di solito installano uno script di esempio in + <filename>/usr/local/etc/rc.d</filename>. Dovresti verificare questo + script ed eventualmente modificarlo o rinominarlo. Vedi la sezione + <link linkend="configtuning-starting-services">Avvio dei + Servizi</link> per maggiori informazioni.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="ports-broken"> + <title>Avere a che Fare con Port non Funzionanti</title> + + <para>Se ti dovessi imbattere in un port che per te non funziona, ci + sono alcune cose che puoi fare, tra le quali:</para> + + <orderedlist> + <listitem> + <para>Scopri se c'è una soluzione pendente per il port nel + <ulink url="&url.base;/support.html#gnats">database dei Report dei + Problemi</ulink>. Se c'è, potresti usare la soluzione + proposta.</para> + </listitem> + + <listitem> + <para>Chiedi aiuto a colui che mantiene il port. + Digita <command>make maintainer</command> o leggi il + <filename>Makefile</filename> per trovare il suo indirizzo email. + Ricorda di includere nel messaggio il nome e la versione del port + (manda la riga <literal>$FreeBSD:</literal> del + <filename>Makefile</filename>) e l'output che descrive + l'errore.</para> + + <note> + <para>Alcuni port non sono mantenuti da singole persone ma invece + da una <ulink + url="&url.articles.mailing-list-faq;/article.html">mailing + list</ulink>. La maggior parte di questi indirizzi sono + simili a + <email role="nolink">freebsd-listname@FreeBSD.org</email>. + Tieni conto di questo quando mandi le tue questioni.</para> + + <para>In particolare, i port mantenuti da + <email role="nolink">freebsd-ports@FreeBSD.org</email> in + realtà non sono mantenuti da nessuno. Il supporto e + i fix, se ce ne sono, arrivano dalla comunità facente + parte di quella mailing list. + Sono necessari altri volontari!</para> + </note> + + <para>Se non ottieni una risposta, puoi usare &man.send-pr.1; + per segnalare un bug report (guarda l'articolo <ulink + url="&url.articles.problem-reports;/article.html">Come + Scrivere i Report dei Problemi per FreeBSD</ulink>).</para> + </listitem> + + <listitem> + <para>Aggiustarlo! Il <ulink + url="&url.books.porters-handbook;/index.html">Manuale del + Porter</ulink> contiene informazioni dettagliate + sull'infrastruttura dei <quote>Port</quote> affinchè + tu possa aggiustare quel port che occasionalmente non funziona o + perfino proporne uno tutto tuo!</para> + </listitem> + + <listitem> + <para>Prendi il package da un sito FTP vicino a te. La + <quote>principale</quote> collezione dei package è su <hostid + role="fqdn">ftp.FreeBSD.org</hostid> nella <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">directory + dei package</ulink>, ma <emphasis>prima</emphasis> assicurati di + controllare il tuo <ulink + url="http://mirrorlist.FreeBSD.org/">mirror locale</ulink>! + È più probabile + che funzionino i package rispetto alla compilazione dal sorgente e + sono anche molto più sbrigativi. Usa il programma + &man.pkg.add.1; per installare i package sul tuo sistema.</para> + </listitem> + </orderedlist> + </sect1> +</chapter> |