chroot les doigts dans le nez

Sous NetBSD, on a pas jail(8). C’est comme ça, ‘faut l’accepter, on a plein de trucs, mais ça, non.

Or je prévois de migrer le site ici présent de son kimloli natal vers un nouveau kimloli, mais un peu plus pêchu. La machine cible a plus de ram (2G) et plus de disque (2x750G/RAID1 soft), ce qui me permettra d’y coller un bon Xen des familles et faire tourner l’ensemble d’iMil.net dans une VM NetBSD, comme il se doit.

Mais voila, j’aimais bien ça moi, les jails, ou en tout cas, l’idée de faire tourner des services dans un environnement restreint m’est agréable. Du coup, il ne me reste plus que chroot(8).

Vous me connaissez, j’aime pas les trucs “one shot”, je me suis donc fendu d’un script simplissime qui permet la création et la destruction d’un chroot, donc, mais par service. Il prend en entrée un petit fichier de configuration que je m’en vais vous détailler :

Reste à déployer le service chrooté de cette façon :

Ce qui nous donne :

Notez que pour le moment tous les packages doivent être préalablement installés sur le filesystem réel, leur reconstruction est réalisée par pkgtools/pkg_tarup (vous devez donc evidemment disposer de ce package). Il va sans dire que les services installés sur le filesystem réel ne doivent pas être démarrés, et qu’ils peuvent être desinstallés après leur ajout dans le chroot.

On détruit le chroot précedemment créé de cette façon :

Ce qui nous donne :

Tout ceci est encore un peu roots, les améliorations sont evidemment bienvenues.

Le script en question est disponible ici.

NB: ouais, ouais, je sais, echo "ajouter un flag chroot à pkgin" >> TODO