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éfinitivement 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ésoudra l'enregistrement _http._tcp.pkg.freebsd.org et se connectera à l'un des miroirs prioitaires:
_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 !
Aller plus loin
- Annonce officielle (132 clics)
- Interview LinuxFr de Baptiste Daroussin concernant pkgng (176 clics)
# Champ SRV
Posté par Sytoka Modon (site web personnel) . Évalué à 1.
Dans le cadre de XMPP, on a (voir http://wiki.xmpp.org/web/SRV_Records)
Le choix est expliqué ? Je serais plutôt parti sur
Afin de ne pas toucher au _http…
[^] # Re: Champ SRV
Posté par Loïc Blot (site web personnel) . Évalué à 2.
_http est le protocole (port), et c'est effectivement du http qui est utilisé pour le téléchargement des packages.
Dans le cas de XMPP tu retrouves la même chose, c'est le nom correspondant au port du protocole (présent dans /etc/services)
Veepee & UNIX-Experience
[^] # Re: Champ SRV
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
Ne pas mélanger protocole et port, on met le port plus loin sur la ligne.
Comme pkg attend un site web particulier, un peu comme les archives .deb, http est le transport mais en face, ce n'est pas un site comme un autre, c'est une base de données bien organisée.
Personnellement, j'aurais pris un autre champ SRV afin de laisser le _http au site web du projet…
[^] # Re: Champ SRV
Posté par NeoX . Évalué à 3.
il va quand meme sur pkg.freebsd.org
ce qui laisse totalement libre le www.freebsd.org
[^] # Re: Champ SRV
Posté par Batchyx . Évalué à 2.
Pourquoi pas
_pkg-server._sub._http._tcp
?(OK il faut une indirection et ça sera aussi visible en tant que
_http._tcp
, mais bon …)[^] # Re: Champ SRV
Posté par NeoX . Évalué à 2.
je ne maitrise pas les arcanes du DNS SRV, mais je dirais parce que le protocole pkg-server n'existe pas ?
[^] # Re: Champ SRV
Posté par Bapt (site web personnel) . Évalué à 3.
la raison est tres simple il est aussi possible de la mirroring via requete srv pour du ftp, et potentiellement d autres.
du coup dans le cas du ftp ca devient _ftp._tcp…
Concernant le port on s en fiche royal que ca soit 80 ou un autre. d ailleur pkg 1.2 reprendra le port specifie dans le champs srv.
# Enfin!
Posté par gaston . Évalué à 2.
Félicitations à bapt pour avoir réussi a convaincre les développeurs FreeBSD! Ca fait jamais que 15 ans qu'OpenBSD propose des packages binaires sur les miroirs, depuis la release 2.3 :p
[^] # Re: Enfin!
Posté par Raphael R . Évalué à 2.
C'est sur que ça va bien dépoussiérer la gestion des packages de FreeBSD, je ne vais pas regretter certains ancêtres que j'ai utilisé il y a 10 ans écrits en Modula4 ! Même si la version 10 n'est prévue (en version finale j'entends bien) que dans quelques mois, elle promet de bonne chose et pas mal d'innovations.
[^] # Re: Enfin!
Posté par Patrick Lamaizière (site web personnel) . Évalué à 5. Dernière modification le 02 novembre 2013 à 16:14.
Mais pas de paquets STABLE… Du coup j'en suis réduit à compiler via les ports, autant dire que ça ne sert pas à grand chose ama.
edit: ça fait un bail qu'il y a des paquets pour les releases de FreeBSD aussi…
les pixels au peuple !
[^] # Re: Enfin!
Posté par gaston . Évalué à 5.
tu oublies https://stable.mtier.org.
[^] # Re: Enfin!
Posté par David Demelier (site web personnel) . Évalué à 2.
Il y a des packages disponible pour toutes les releases de FreeBSD aussi hein. La seule différence c'est qu'ils étaient fait pour pkg_*.
git is great because linus did it, mercurial is better because he didn't
# pkgng
Posté par Patrick Lamaizière (site web personnel) . Évalué à 2.
Si j'ai suivi pkg2ng n'a pas assez d'info (comparativement aux paquets pkg) pour convertir efficacement, du coup il me semble mieux de partir juste de pkg, sans aucun paquet installé à convertir.
Pour moi la prochaine étape, c'est plutôt d'avoir des paquets cohérents entre eux au niveau des options et fonctionnalités. Par exemple on peut considérer que l'ipv6 soit activé sur tous les paquets, ou que postfix supporte au moins ldap et mysql-client, ou que cups soit intégré par défaut.
Du coup ça va faire grossir les dépendances, les installations et ça ne va pas plaire à tout le monde (ama vu la taille des disques c'est pas un problème).
Bref, la fin de poudriere n'est pas pour bientôt…
Voila… Je pense que pkg est un superbe travaille, par tellement d'un point de vu technique mais surtout organisationnel pour faire passer la pillule aux adeptes de pkg_tools et des ports. C'était pas gagné d'avance. Merci parce que ça change la vie quand même !
les pixels au peuple !
[^] # Re: pkgng
Posté par Anonyme . Évalué à 3.
Heu ouais enfin si on veut vraiment des autres options que celles des dépôts officiels, on a juste à se faire son propre dépôt. Je ne vois pas en quoi ça "fait passer la pilule" des adeptes des ports, puisque ça utilise les ports, de toute façon.
[^] # Re: pkgng
Posté par Bapt (site web personnel) . Évalué à 7.
si tu savais le nombre de 'je ne vois pas pourquoi xxx?' j ai du affronte ;)
[^] # Re: pkgng
Posté par Patrick Lamaizière (site web personnel) . Évalué à 2.
Bien sur, ça n'empêche pas que les options soient cohérentes sur les paquets des dépots officiels. Ce qui n'est pas le cas actuellement.
Comme les ports sont fait par des personnes différentes et qu'il n'y a pas de dictateur pour imposer je ne vois pas trop comment ça avancer de ce coté. Mais j'ai confiance en Baptiste :)
Je n'ai pas dis ça.
les pixels au peuple !
[^] # Re: pkgng
Posté par Bapt (site web personnel) . Évalué à 6.
pour pkg2ng si au moment de la conversion le ports tree est la il trouve ce qu il manque, sinon il met des 'unknown' partout ;)
pour les options par defaut un peu plus saine on y vient doucement ipv6 est par defaut depuis plus d un an par exemple, j ai plein de tres tres gros changements dans ma hotte qui vont permettre d ameliorer tout ca ;)
pour poudriere il va clairement vivre longtemps puisque les cluster de build l'utilise, de plus il y aura toujours des besoins de customisations du coup avoir un poudriere permet d assurer le boulor proprement
[^] # Re: pkgng
Posté par Patrick Lamaizière (site web personnel) . Évalué à 2.
Il me semblait qu'il y avait des soucis au niveau des tags paquets automatique aussi ?
Ça c'est cool :) Merci pour cet énorme boulot.
les pixels au peuple !
[^] # Re: pkgng
Posté par Blackknight (site web personnel, Mastodon) . Évalué à 2.
Vu la fréquence et la RAM sur les bécanes d'aujourd'hui, la compilation des ports, c'est pas vraiment un problème non plus :)
# typo
Posté par Xavier Verne (site web personnel) . Évalué à 2.
définitevement -> définitivement
Merci pour la dépêche.
[^] # Re: typo
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
Corrigé, merci.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.