Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

Dix ans de pkgsrc

Première rédaction de cet article le 5 novembre 2007


Le système de paquetage Unix pkgsrc fête ses dix ans et on peut trouver en ligne plusieurs interviews très intéressants de ses fondateurs et acteurs.

Autrefois, l'ingénieur système Unix faisait tout à la main. Il installait des programmes en tapant make && make install (ou, plus récemment, ./configure && make && make install). Ces programmes compilés et installés localement n'étaient typiquement enregistrés nulle part, ce qui rendait leur mise à jour très compliquée, surtout si l'ingénieur système avait changé entre temps. « Avec quelles options a t-il compilé BIND ? » « Quels sont les programmes qui dépendent de la bibiothèque que je viens de mettre à jour ? »

La solution, très ancienne, a été de développer des systèmes de paquetage. Au minimum, ces systèmes permettent de compiler et/ou installer facilement les programmes (en automatisant le travail de trouver la distribution, la patcher, faire respecter des options globales, comme le fait qu'on veut utiliser IPv6, etc). Ils permettent aussi de garder trace de tous les paquetages, en stockant la liste des paquetages installés et leur dépendance dans une base de données.

Aujourd'hui, à part quelques dinosaures chenus, tous les administrateurs système Unix se servent de tels systèmes de paquetages, qu'ils travaillent au niveau source (avec compilation du paquetage) ou bien au niveau binaire (avec installation d'un paquetage déjà compilé).

L'un de ces système est pkgsrc, conçu à l'origine pour NetBSD, mais qui existe aussi pour d'autres systèmes. pkgsrc fête ses dix ans et c'est l'occasion d'étudier son histoire, son avenir, ses concurrents. Plusieurs interviews passionnants ont été rassemblés en http://www.netbsd.org/gallery/10years.html.

Parmi les innombrables idées mentionnées dans ces interviews, j'ai apprécié le projet pkgjam, où la base de données des paquetages installés sera une base de données relationnelle, interrogeable en SQL ou bien le projet Nix, fondé sur un système de vues qui permet à différents utilisateurs de voir différents jeux de paquetages installés.

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)