4.4. Utiliser le système des logiciels pré-compilés
Précédent | Chapitre 4. Installer des applications: les logiciels pré-compilés et les logiciels portés | Suivant

## 4.4. Utiliser le système des logiciels pré-compilés

Contribution de Chern Lee.

Il existe plusieurs outils utilisés pour la gestion des logiciels pré-compilés sur FreeBSD

- Les outils de gestion en ligne de commande des logiciels pré-compilés, qui sont le sujet de la suite de cette section.

### 4.4.1. Installation d'un logiciel pré-compilé

Vous pouvez utiliser l'utilitaire pkg_add(1) pour installer un logiciel pré-compilé FreeBSD à partir d'un fichier local ou d'un serveur sur le réseau.

Exemple 4.1. Télécharger un logiciel pré-compilé à la main puis l'installer localement

    # 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

Si vous ne disposez pas d'une source locale de logiciels pré-compilés (comme l'ensemble de CDROM de FreeBSD) alors il sera probablement plus facile d'utiliser l'option `-r` de pkg_add(1). Cela fera déterminer automatiquement à l'utilitaire le format objet et la version corrects et ensuite récupérer et installer le logiciel pré-compilé à partir d'un site FTP.

    # pkg_add -r lsof

L'exemple ci-dessus téléchargera le logiciel pré-compilé correct sans plus d'intervention de l'utilisateur. Si vous désirez indiquer un autre miroir FreeBSD pour les logiciels pré-compilés à la place du site de distribution principal, vous devez positionner en conséquence la variable d'environnement `PACKAGESITE`, pour remplacer les paramètres par défaut. pkg_add(1) utilise fetch(3) pour télécharger les fichiers, qui respecte diverses variables d'environnement, dont `FTP_PASSIVE_MODE`, `FTP_PROXY`, et `FTP_PASSWORD`. Il se peut que vous ayez besoin de configurer une ou plusieurs de ces dernières si vous êtes derrière un coupe-feu, ou devez utiliser un proxy FTP/HTTP. Consultez la page de manuel fetch(3) pour la liste complète des variables. Vous pouvez également remarquer que dans l'exemple ci-dessus `lsof` est utilisé au lieu de `lsof-4.56.4`. Quand la fonction de récupération à distance est utilisée, le numéro de version doit être retiré. pkg_add(1) téléchargera automatiquement la toute dernière version de l'application.

### Note:

pkg_add(1) téléchargera la dernière version de votre application si vous êtes sous FreeBSD-CURRENT ou FreeBSD-STABLE. Si vous utilisez une version -RELEASE, il récupérera la version compilée avec votre version lors de sa publication. Il est possible de modifier ce comportement en surchargeant la variable d'environnement `PACKAGESITE`. Par exemple, si vous utilisez un système FreeBSD 8.1-RELEASE, par défaut pkg_add(1) tentera de récupérer les applications pré-compilées à partir de `ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/`. Si vous désirez forcer pkg_add(1) à télécharger les versions des logiciels pré-compilés pour FreeBSD 8-STABLE, positionnez la variable `PACKAGESITE` à `ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/`.

Les logiciels pré-compilés sont distribués dans les formats `.tgz` et `.tbz`. Vous pouvez les trouver sur `ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/`, ou sur le CDROM de distribution de FreeBSD. Chaque CD de l'ensemble de 4-CD de FreeBSD (et le PowerPak, etc...) contient des logiciels pré-compilés dans le répertoire `/packages`. L'organisation des logiciels pré-compilés est semblable à celle de l'arborescence `/usr/ports`. Chaque catégorie possède son propre répertoire, et chaque logiciel pré-compilé peut être trouvé dans le répertoire `All`.

La structure de répertoires du système de logiciels pré-compilés correspond à celle du catalogue des logiciels portés; ils travaillent ensemble pour former l'intégralité du système de logiciels pré-compilés/portés.

### 4.4.2. Gestion des logiciels pré-compilés

pkg_info(1) est un utilitaire qui liste et décrit les divers logiciels pré-compilés installés.

    # pkg_info
    cvsup-16.1          A general network file distribution system optimized for CV
    docbook-1.2         Meta-port for the different versions of the DocBook DTD
    ...

pkg_version(1) est un utilitaire qui récapitule les versions de tous les logiciels pré-compilés installés. Il compare la version du logiciel pré-compilé avec la version actuelle trouvée dans le catalogue des logiciels portés.

    # pkg_version
    cvsup                       =
    docbook                     =
    ...

Les symboles dans la seconde colonne indiquent l'âge relatif de la version installée et de la version disponible dans le catalogue des logiciels portés local.

Symbole | Signification
--- | ---
= | La version du logiciel pré-compilé installée est équivalente à celle de celui trouvé dans le catalogue des logiciels portés local.
< | La version installée est plus ancienne que celle disponible dans le catalogue des logiciels portés.
> | La version installée est plus récente que celle trouvée dans le catalogue local des logiciels portés. (le catalogue local des logiciels portés est probablement ancien)
? | Le logiciel pré-compilé ne peut être trouvé dans l'index du catalogue des logiciels portés. (Cela peut se produire quand, par exemple, un logiciel installé est supprimé du catalogue des logiciels portés ou renommé.)
* | Il y a de multiples versions de ce logiciel pré-compilé.
! | Le logiciel installé existe dans l'index mais pour une raison inconnue, `pkg_version` a été incapable de comparer le numéro de version du paquetage installé avec l'entrée correspondante dans l'index.

### 4.4.3. Effacer un logiciel pré-compilé

Pour désinstaller un logiciel pré-compilé précédemment installé, utilisez l'utilitaire pkg_delete(1).

    # pkg_delete xchat-1.7.1

Notez que pkg_delete(1) a besoin du nom complet du paquetage et du numéro de version; la commande précédente n'aurait pas fonctionné avec `xchat` à la place de `xchat-1.7.1`. It est cependant facile de retrouver la version du paquetage installé à l'aide de la commande pkg_version(1). Vous pouvez à la place simplement utiliser un joker:

    # pkg_delete xchat\*

dans ce cas, tous les logiciels dont le nom commence par `xchat` seront supprimés.

### 4.4.4. Divers

Toute l'information sur les logiciels pré-compilés est stockée dans le répertoire `/var/db/pkg`. La liste des fichiers installés pour chaque logiciel pré-compilé peut être trouvée dans des fichiers de ce répertoire.

Précédent | Niveau supérieur | Suivant
4.3. Trouver votre application | Sommaire | 4.5. Utiliser le catalogue des logiciels portés

Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.