Connaissez-vous debootstrap ?
Récemment, j’ai voulu monter un serveur WebDAV chez un collègue, pour partager des calendriers. J’ai d’abord configuré et testé le service en local, sur mon ordinateur portable, puis j’ai transmis les fichiers de configuration au collègue. Pour ne pas mettre le bazar dans mon système, j’ai reconstitué dans un dossier un système Linux tout neuf, tout propre, avec l’aide de debootstrap.
Il y a plusieurs manières de tester une nouvelle configuration, une nouvelle application, un nouveau service sur un système Linux propre :
- disposer d’une machine libre, installer un système dessus,
- jouer avec les machines virtuelles, comme
kvmouqemu, - installer un système en chroot.
J’ai utilisé cette dernière possibilité. Les distributions basées sur Debian disposent du magnifique debootstrap, un utilitaire qui télécharge tous les paquets nécessaires depuis les depôts, puis les installe dans un dossier du système de fichiers.
On installe tout d’abord debootstrap :
$ sudo apt-get install debootstrap
Puis on lui demande l’installation d’une distribution dans un dossier local :
$ sudo debootstrap dapper /mnt http://fr.archive.ubuntu.com/ubuntu/
Dans cette commande, on a demandé l’installation de la distribution Dapper Drake dans le répertoire /mnt, en utilisant le miroir http://fr.archive.ubuntu.com/ubuntu/. Ce dernier champ est facultatif ; par défaut, c’est le miroir que vous utilisez pour la distribution hôte qui est utilisé.
Ce qui est intéressant, c’est que, sous Edgy, je vais pouvoir télécharger et installer une distribution différente, correspondant à la machine cible. La liste des distributions disponibles se trouve dans /usr/lib/debootstrap/scripts/. Sous Ubuntu Edgy, j’aurais très bien pu installer Debian Sarge[1].
Le système installé est le système de base, minimal. Pour l’utiliser, on procède en deux étapes :
Monter le pseudo système de fichiers /proc dans la cible :
$ sudo mount -t proc none /mnt/proc
La distribution cible aura ainsi accès aux paramètres du noyau de la distribution hôte.
Chrooter dans le répertoire cible :
$ sudo chroot /mnt
Vous obtenez alors un accès root dans la distribution cible. Vous pouvez installer des nouveaux logiciels avec apt-get, lancer ou arrêter des services, etc.
deboostrap permet donc de monter très facilement des pseudo-serveurs de test, sans toucher à la configuration de la machine hôte. Vous pouvez également utiliser les prisons chroot pour isoler les services critiques du reste du système.
La page de manuel de debootstrap vous donnera toutes les infos sur cet outil très pratique, dont seulement une partie des fonctionnalités est présentée ici.
Notes
[1] Il faut alors spécifier un miroir Debian à la place du miroir Ubuntu.
27 mars 2007 à 20:20
En voilà un article intéressant. Merci ça m’évitera les solutions de virtualisation parfois un peu trop lourdes
29 mars 2007 à 12:00
C’est clair que c’est bien plus facile que d’installer des machines virtuelles. Là où ça peut poser problème, c’est quand la version du noyau importe : en effet, on utilise ici le noyau du système hôte.
10 septembre 2007 à 13:49
Proposition coopération,
Bonjour,
Je m’appelle Anna Goźlińska et je représente le magazine Linux+DVD.
Ayant découvert votre site, je l’ai consulté avec beaucoup d’intérêt. Je
voudrais vous proposer la coopération avec le magazine Linux+DVD, notamment
la rédaction des articles, des news ou des astuces. Est-ce que ma proposition vous intéresse ?
Une bonne journée.
Anna Goźlińska
Rédaction de Linux+DVD
10 septembre 2007 à 15:22
Bonjour Anna,
Je serais très heureux de pouvoir collaborer avec Linux+DVD ! Je vous contacte par mail dans les jours prochains.
Bonne journée !
Benjamin