aboutsummaryrefslogtreecommitdiff
path: root/it_IT.ISO8859-15/books/handbook/ports/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'it_IT.ISO8859-15/books/handbook/ports/chapter.xml')
-rw-r--r--it_IT.ISO8859-15/books/handbook/ports/chapter.xml1388
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;&nbsp;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;&nbsp;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>&lt;</entry>
+
+ <entry>La versione installata è precedente a quella
+ disponibile nell'albero dei port.</entry>
+ </row>
+
+ <row>
+ <entry>&gt;</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&mdash;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>
+&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
+&gt;&gt; Attempting to fetch from file:/cdrom/ports/distfiles/.
+===&gt; Extracting for lsof-4.57
+...
+[l'output dell'estrazione è stato tagliato]
+...
+&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
+===&gt; Patching for lsof-4.57
+===&gt; Applying FreeBSD patches for lsof-4.57
+===&gt; Configuring for lsof-4.57
+...
+[l'output della configurazione è stato tagliato]
+...
+===&gt; 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>
+===&gt; Installing for lsof-4.57
+...
+[l'output dell'installazione è stato tagliato]
+...
+===&gt; Generating temporary packing list
+===&gt; Compressing manual pages for lsof-4.57
+===&gt; Registering installation for lsof-4.57
+===&gt; 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>
+&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
+&gt;&gt; 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)
+===&gt; Extracting for lsof-4.57
+...
+[l'output dell'estrazione è stato tagliato]
+...
+&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
+===&gt; Patching for lsof-4.57
+===&gt; Applying FreeBSD patches for lsof-4.57
+===&gt; Configuring for lsof-4.57
+...
+[l'output della configurazione è stato tagliato]
+...
+===&gt; Building for lsof-4.57
+...
+[l'output della compilazione è stato tagliato]
+...
+===&gt; Installing for lsof-4.57
+...
+[l'output dell'installazione è stato tagliato]
+...
+===&gt; Generating temporary packing list
+===&gt; Compressing manual pages for lsof-4.57
+===&gt; Registering installation for lsof-4.57
+===&gt; 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>
+===&gt; 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&igrave 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>&dollar;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>