Se hai già usato un sistema UNIX® prima d'ora saprai che la procedura tipica per installare software di terze parti è simile a questa:
Scaricare il software, che potrebbe essere distribuito sotto forma di codice sorgente, o come binario.
Scompattare il software dal suo formato di distribuzione (tipicamente un tarball compresso con compress(1), gzip(1), o con bzip2(1)).
Individuare la documentazione (probabilmente un file INSTALL o un file README, o qualche file nella sottodirectory doc/) e leggere come installare il software.
Se il software è stato distribuito sotto forma di sorgente, compilarlo. Questa fase può coinvolgere la modifica di un Makefile, oppure l'esecuzione di uno script configure, e qualche altro lavoro.
Installare e testare il software.
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.
Se vuoi, puoi continuare ad installare il software su FreeBSD nel modo “tradizionale”. 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 20,000 applicazioni di terze parti tramite questi due metodi.
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 pkg_add(1), pkg_delete(1), pkg_info(1), e così via. L'installazione di una nuova applicazione può essere fatta con un singolo comando.
In FreeBSD un port di un'applicazione è un insieme di file predisposti per automatizzare il processo di compilazione dell'applicazione partendo dal codice sorgente.
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.
Di fatto, il sistema dei port può anche essere usato per generare package che possono essere successivamente manipolati con pkg_add ed altri comandi di gestione dei package che saranno presentati tra poco.
Sia i package che i port comprendono il meccanismo delle dipendenze. 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 pkg_add o il sistema dei port per installare l'applicazione, entrambi noteranno che la libreria non è installata, e automaticamente la installeranno per prima.
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.
Benefici dei Package
Il tarball compresso di un package è tipicamente più piccolo del tarball compresso contenente il codice sorgente della stessa applicazione.
I package non richiedono alcuna compilazione aggiuntiva. Per grandi applicazioni, come Mozilla, KDE, oppure GNOME questo può essere importante, sopra tutto se usi un sistema lento.
I package non richiedono la conoscenza del processo di compilazione del software su FreeBSD.
Benefici dei Port
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.
Alcune applicazioni hanno delle opzioni attivabili al tempo di compilazione che permettono di modificare il comportamento delle applicazioni stesse. Per esempio, Apache 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.
In alcuni casi, ci possono essere più package per la stessa applicazione a seconda dei settaggi ivi contenuti. Per esempio, Ghostscript è disponibile come package ghostscript e come package ghostscript-nox11, 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.
Le condizioni di licenza di alcune distribuzioni di software proibiscono la distribuzione dei binari. Tali software devono essere distribuiti come codice sorgente.
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.
Se hai delle patch, hai bisogno del sorgente per applicarle.
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.
Per tenersi al corrente sugli aggiornamenti dei port, iscriviti alla mailing list sui port di FreeBSD e alla mailing list sui bug dei port di FreeBSD.
Avvertimento: Prima di installare qualche applicazione, dovresti verificare http://vuxml.freebsd.org/ per eventuali problemi di sicurezza relativi alla tua applicazione.
Inoltre puoi installare il port security/portaudit 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 portaudit -F -a dopo che hai installato qualche package.
Il resto del capitolo spiegherà come usare i package ed i port per installare e gestire il software di terze parti su FreeBSD.
Indietro | Partenza | Avanti |
Installazione delle Applicazioni: Port e Package | Risali | Ricerca della Propria Applicazione |
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.