Publié le: 2014-11-11

Pkgng mirrors

La version 10.0 de FreeBSD offrira à ce dernier un tournant dans son système de gestion de paquets binaires. Les anciens outils pkg_* seront retirés pour être remplacés définitevement par pkgng.

Depuis l’introduction de pkgng, il n’existait pas de miroir permettant de télécharger et installer ces paquets. C’est désormais chose faite. L’équipe FreeBSD a annoncé la possibilité d’utiliser des miroirs permettant de télécharger les paquets sous forme binaire.

Fonctionnement du miroir

A contrario de la plupart des miroirs Linux, FreeBSD (pkg_*) et OpenBSD, pkgng ne se base pas sur un enregistrement DNS de type A.

L’équipe de développement a considéré qu’il était plus intéressant d’utiliser des enregistrements SRV pour gérer les miroirs de pkg, permettant de gérer la priorité de chacun des serveurs.

Ainsi, lorsque pkg voudra accéder à http://pkg.FreeBSD.org/${ABI}/latest il résolvera l’enregistrement _http._tcp.pkg.freebsd.org et se connectera à l’un des miroirs priotaires:

_http._tcp.pkg.freebsd.org. 60  IN  SRV 10 10 80 pkg1.nyi.freebsd.org.
_http._tcp.pkg.freebsd.org. 60  IN  SRV 10 10 80 pkg0.bme.freebsd.org.
_http._tcp.pkg.freebsd.org. 60  IN  SRV 10 10 80 pkg0.isc.freebsd.org.

On notera que le TTL de l’enregistrement est de 60 secondes, afin de répartir la charge suivant les besoins.

Versions supportées

Les miroirs supportent toutes les versions actuellement supportées par l’équipe de FreeBSD (8.3, 8.4, 9.1, 9.2, 10.0 et 11).

Passer à pkgng

8.X series

Pour passer à pkgng sur les versions 8.3 et 8.4, il faudra passer par les ports:

cd /usr/ports/ports-mgmt/pkg
make install clean
echo WITH_PKGNG=yes >> /etc/make.conf
pkg2ng

9.X series

Les versions 9 (à partir de 9.1) embarquent un alias permettant d’installer pkg facilement:

pkg
echo WITH_PKGNG=yes >> /etc/make.conf
pkg2ng

10.X series et supérieures

pkgng est embarqué par défaut

Utiliser pkgng

Rechercher un paquet

pkg search <nom>

Installer un paquet

pkg install <nom>

Supprimer un paquet

pkg remove <nom>

Supprimer des dépendances obsolètes

pkg autoremove

Mettre à jour la liste des paquets locaux

pkg update

Mettre à jour les paquets installés

pkg upgrade

Liste des paquets installés

pkg info

Verrouiller/Déverrouiller un paquet

Cette fonction permet d’empêcher la modification (mise à jour/suppression) d’un paquet installé. Cela est très utile dans le cas d’un environnement de développement, par exemple.

pkg lock <nom>
pkg unlock

Audit de paquets

Cette fonction permet, à partir d’une base de données d’audit, de définir quels sont les paquets vulnérables sur le système.

pkg audit

Conclusion

Les miroirs binaires étant désormais disponibles, une nouvelle étape est franchie pour FreeBSD. La prochaine étape est un système de signature de paquets simple et robuste.

Pour les utilisateurs de Linux qui voulaient essayer FreeBSD mais étaient réticents à cause de la compilation, vous n’avez plus de raisons de ne pas essayer FreeBSD !