====== Comment gérer les paquets binaires avec pkg(7) ======
Depuis la version 9.1 ((Je parle ici de [[http://www.freebsd.org/|FreeBSD]])), un nouvel utilitaire à vue le jour, il s'appelle ''pkg'' (développé au départ par un français, Baptiste Daroussin, //bapt@//).
Avec l'arrivée de la version 10.0, il est devenue le seul gestionnaire, remplaçant ''pkg_install''.
===== Utilisation =====
C'est relativement simple, par exemple pour installer Subversion (''devel/subversion'') :
pkg install subversion
Pour connaître les différentes options :
man pkg
===== Gérer les dépôt =====
Par défaut, ''pkg'' va utiliser le dépôt **FreeBSD**, définie dans le fichier ''/etc/pkg/FreeBSD.conf''.
Il va « piocher » dans le dépôt **quaterly**. Il s'agit d'une branche dite « stable », dans laquelle les développeurs appliquent uniquement des correctifs contre les failles de sécurité ((Il faut une autorisation pour pouvoir y apporter des changements.)).
**head, quaterly ?**
Dans l'arbre des ports, on distingue deux branches :
* **ports/head**, continuellement mise à jour
* **ports/branches/YYYYQY**, « stable » les correctifs de sécurité //commités// dans head sont aussi répercutés dedans durant les 3 mois de longévité.
YYYY, correspond à l'année en cours et Y, un nombre entre 1 et 4.
Depuis le premier juillet 2015, la branche « stable » s'appelle 2015Q3, en octobre 2015 cela sera la 2015Q4.
Pour utiliser les paquets de la branche head, il faut créer un nouveau fichier de configuration.
# mkdir -p /usr/local/etc/pkg/repos
# cp /etc/pkg/FreeBSD.conf /usr/local/etc/pkg/repos/head.conf
Voici le contenu du fichier ''head.conf''
head: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
}
FreeBSD: {
enabled: no
}
Ensuite, on met à jour la base de données :
# pkg update
La mise à jour des ports se fait avec l'option **upgrade**.
# pkg upgrade
Avant de faire cette mise à jour il est recommandé de lire régulièrement les fichiers [[https://svnweb.freebsd.org/ports/head/UPDATING?view=log|UPDATING]] et [[https://svnweb.freebsd.org/ports/head/CHANGES?view=log|CHANGES]].