L'école des fans

Avant d’aller me dorer la pilule, j’ai fait le ménage sur mes serveurs, et en particulier sur les domUs GCU. Les packages avaient quelques mois dans la vue, il était donc temps de mettre tout ce petit monde d’équerre.

Sur zone0, deux domUs sont particulièrement exposés, gcu, qui héberge le site et les wikis, et www2, qui héberge les sites tiers. Ces deux machines (virtuelles) tournent encore sous NetBSD 4.0, cette migration là attendra mon retour de vacances :) et sont munies de la machinerie pkg_comp / pkg_chk. Je me suis déjà longuement étendu sur le fonctionnement de ces deux outils, aussi n’expliqerai-je ici que la simplicité avec laquelle ces mises à jour se sont effectuées (bah ouais, on fait pas partie de marketing@ par hasard…).

Puisqu’elle est moins chargée, c’est sur www2 que nous construisons les packages, /usr/pkgsrc étant un montage NFS pour gcu. Sur www2 donc, nous entrons dans le pkg_comp :

Afin de pouvoir mettre à jour les paquets depuis la même machine, et puisqu’evidemment les domUs partagent bon nombre de paquets communs, j’ai créé deux fichiers de type pkgchk.conf, un pour chaque domU. On verifie la jeunesse des paquets de cette façon :

Les paquets listés dans /usr/pkgsrc/pkgchk-gcu.conf seront éventuellement mis à jour si une version plus récente existe. On effectue la même opération avec /usr/pkgsrc/pkgchk-www2.conf, à l’issue de quoi, le repertoire /usr/pkgsrc/packages/All devrait être peuplé de paquets binaires up-to-date, tout ça sans avoir cassé quoi que ce soit sur aucune des machines, puisque pkg_comp effectue les mises à jour dans un chroot(8).

Ainsi, il ne nous reste plus, sur chaque domU, qu’à invoquer pkg_chk de cette façon :

Ce qui aura pour effet de mettre à jour tous les paquets plus à jour avec les versions binaires disponibles dans /usr/pkgsrc/packages/All.

Moi j’trouve ça classe.