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