4.4. Utilizzo del Sistema dei Package
Indietro | Capitolo 4. Installazione delle Applicazioni: Port e Package | Avanti

## 4.4. Utilizzo del Sistema dei Package

Contributo diChern Lee.

### 4.4.1. Installazione di un Package

Puoi usare l'utility pkg_add(1) per installare un package di FreeBSD da un file locale o da un server sulla rete.

Esempio 4.1. Scaricare un Package Manualmente e Installarlo da Locale

    # ftp -a ftp2.FreeBSD.org
    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.
    ftp> cd /pub/FreeBSD/ports/packages/sysutils/
    250 CWD command successful.
    ftp> get lsof-4.56.4.tgz
    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)
    ftp> exit
    # pkg_add lsof-4.56.4.tgz

Se non hai una raccolta di package locale (per esempio il set dei CDROM di FreeBSD) allora probabilmente ti risulterà più facile usare pkg_add(1) con l'opzione `-r`. In questo modo 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.

    # pkg_add -r lsof

L'esempio qui sopra scarica il giusto package e lo installa senza nessun ulteriore intervento. Se vuoi specificare un sito mirror dei package di FreeBSD alternativo, invece del sito di distibuzione principale, devi settare la variabile `PACKAGESITE` come desiderato, in modo tale da sovrascrivere i settaggi di default. pkg_add(1) usa fetch(3) per scaricare i file, il quale rispetta varie variabili d'ambiente, incluse `FTP_PASSIVE_MODE`, `FTP_PROXY`, e `FTP_PASSWORD`. Puoi aver bisogno di settarne qualcuna se la tua macchina è dietro un firewall, o se utilizzi un proxy FTP/HTTP. Leggi fetch(3) per la lista completa. Nell'esempio precedente si può anche notare che viene usato `lsof` al posto di `lsof-4.56.4`. Quando viene usata la modalità di prelevamento da remoto, il numero di versione del package non deve essere specificato. pkg_add(1) prenderà automaticamente l'ultima versione dell'applicazione.

### Nota:

pkg_add(1) scaricherà la versione più recente della tua applicazione solo se stai usando FreeBSD-CURRENT o FreeBSD-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 `PACKAGESITE` in modo opportuno. Per esempio, se hai un un sistema FreeBSD 5.4-RELEASE, di default pkg_add(1) tenterà di scaricare i package da `ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/`. Se vuoi forzare pkg_add(1) a scaricare i package di FreeBSD 5-STABLE, setta `PACKAGESITE` a `ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/`.

I file dei package sono distribuiti nel formato `.tgz`. Puoi trovarli in `ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/`, oppure sui CDROM della distribuzione di FreeBSD. Ogni CD contenuto nel set dei quattro CD (e nel PowerPak, ecc.) contiene i package nella directory `/packages`. La disposizione dei package è simile a quella dell'albero `/usr/ports`. Ogni categoria ha la propria directory, ed ogni package può essere trovato dentro la directory `All`.

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.

### 4.4.2. Gestione dei Package

L'utility pkg_info(1) elenca e descrive i vari package installati.

    # pkg_info
    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
    ...

L'utility 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.

    # pkg_version
    cvsup                       =
    docbook                     =
    ...

I simboli nella seconda colonna indicano il risultato del confronto tra la versione installata e quella disponibile in locale nell'albero dei port.

Simbolo | Significato
--- | ---
= | Le versioni del package installato e di quello disponibile in locale nell'albero dei port sono uguali.
< | La versione installata è precedente a quella disponibile nell'albero dei port.
> | La versione installata è più aggiornata di quella trovata in locale nell'albero dei port. (L'albero dei port locale è probabilmente da aggiornare)
? | 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.)
* | Ci sono più versioni del package.

### 4.4.3. Cancellazione di un Package

Per rimuovere un package installato in precedenza, usa l'utility pkg_delete(1).

    # pkg_delete xchat-1.7.1

### 4.4.4. Miscellanea

Tutte le informazioni sui package sono memorizzate nella directory `/var/db/pkg`. La lista dei file installati e le descrizioni di ogni package possono essere trovate all'interno dei file di questa directory.

Indietro | Risali | Avanti
4.3. Ricerca della Propria Applicazione | Partenza | 4.5. Utilizzo della Collezione dei Port

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>.