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