Le Blog Maniatux

Bienvenue sur internet

FreeBSD : pkgng ne permet pas de tout faire comme apt-get

Rédigé par Xavier - - 6 commentaires

Pkgng est un gestionnaire de paquets moderne pour FreeBSD censé mieux gérer l'installation, l'upgrade et la désinstallation des paquets tiers. Ma réaction, comme beaucoup fut "un apt-get like sur FreeBSD, enfin !". Oui, mais il faut différentier l'outil de gestion des paquets, et les dépôts binaires eux-même.

En effet, FreeBSD est un système d'exploitation composé d'un ensemble de logiciels. Mais quand on veut un autre logiciel, par exemple dovecot, historiquement on doit utiliser les ports. Les ports, c'est une arborescence contenant des scripts qui vont télécharger les sources et compiler les logiciels et leurs dépendances. Au moment de compiler, une interface en ncurses va proposer à l'utilisateur de sélectionner les options dont il a besoin ou non. Par exemple, pour dovecot, on peut activer ou non le support de MySQL.

FreeBSD fourni également des dépôts dans lesquels ces logiciels tiers sont déjà compilés, on gagne ainsi pas mal de temps. Mais ces versions binaires ne permettent pas de choisir les options. Par exemple, dovecot n'a pas le support de MySQL. Que peut-on faire si on en a besoin ? Eh bien on en revient aux ports, et on compile.

Debian et apt-get ont résolu ce problème en découpant en plusieurs modules un paquet. Par exemple, pour dovecot, il y a plusieurs paquets, comme on le voit ici. Le paquet dovecot va installer la version basique. Si on veut le support mysql, on installe en plus le paquet dovecot-mysql.

Pkgng et les dépôts de logiciels binaires se contentent de fournir des versions compilées des ports. Il n'y a aucune gestion des options, probablement parce que ces systèmes sont conçus pour pouvoir utiliser l'un et l'autre en même temps. Mais en pratique c'est problématique. Il y a le même problème avec PHP, si on veut php-fpm, c'est une option à activer lors de la compilation de php55. La version de php55 qui vient des dépôts binaires ne supporte pas php-fpm.

Il ne faut donc pas se faire d'illusions, pkgng ne rend pas FreeBSD aussi simple que Debian quand il s'agit de gérer des paquets. Dans la pratique, on utilise encore beaucoup les ports.

Classé dans : BSD - Mots clés : aucun

6 commentaires

#1 Th. Thomas a dit :

Pkgng est encore très jeune, et tout n'est pas encore réalisé !
En particulier les sous-packages (ou flavors) sont prévus, et devraient être là dans une des prochaines versions.

#2 Xavier a dit :

@Th. Thomas :
Bonjour, je vois que tu es un "commiter" pour les ports FreeBSD, merci d'être venu poster ici.
Ce que tu annonces est très intéressant, j'ai hâte de voir cela !

#3 Ollivier Robert a dit :

Si on veut changer les options, en attendant les sous-ports, il faut utiliser poudrière qui permet de gérer ses propres dépôts avec des options différentes. (ports-mgmt/poudriere).

#4 Xavier a dit :

@Ollivier Robert :
Poudriere ne fait que déléguer à une autre machine la compilation. Cela revient à gérer son propre dépôt.
Intéressant si on gère un parc de plusieurs serveurs, un peu moins si on en a qu'un.
J'ai déjà essayé de créer un serveur Poudriere en VM, mais cela devient un poil complexe car mon serveur de prod a plusieurs jail qui ont besoin des mêmes paquets mais avec des options différentes.

#5 Samir a dit :

Le paquet php55 des dépôts de FreeBSD.org supporte php-fpm, pour utiliser php avec apache il faut installer un autre paquet (mod_php55).

#6 Xavier a dit :

@Samir :
Bonjour, depuis quand est-ce disponible ?
Quand j'ai mis mon serveur en place, début 2014, j'ai fait des essais, et le paquet php ne proposait pas fpm (du moins je n'avais pas de script d'init).

Écrire un commentaire

Quelle est la troisième lettre du mot jaiff ? :