On ne présente plus la distribution communautaire Debian GNU/Linux; les intégristes vont certainement m'en vouloir, mais on ne peut nier la publicité apportée par la toute jeune Ubuntu à la vénérable distribution.
Cet article s'adresse principalement à deux audiences. D'une part les administrateurs d'une machine sous une des distributions Debian souhaitant disposer de paquets d'une autre sans mettre la pagaille dans leurs dépendances - par exemple: installer des paquets de
unstable sur un serveur en
stable. D'autre part, les administrateurs d'une distribution non-Debian désireux de disposer de la "stabilité" d'une Debian stable et de la puissance de Apt comme gestionnaire de paquets mais qui n'auraient pas la possibilité ou la volonté d'installer une Debian complète - l'exemple type, un serveur dédié sous Fedora (non vécu mais on me l'a rapporté).
Les outils magiques dans cette opération sont chroot - que l'on ne présente plus non plus - et debootstrap. Ce dernier est disponible sous la forme d'un paquet Debian et sous la forme d'un source facilement compilable. Les quelques dépendances - wget et les "binutils" - font en général partie de toute installation standard d'une machine sous GNU. On va se placer dans le cas d'un utilisateur de Debian stable qui veut installer des paquets de unstable (sid).
Les opérations à effectuer sont, dans l'ordre:
1. Création du répertoire de "chrootage":
serveur:/# mkdir /sid-root
2. Appel à debootstrap avec les paramètres idoines:
On peut remplacer le nom du miroir à utiliser, par exemple avec un miroir local ou un serveur plus proche.
2.bis (Optionnel) Copie des fichiers de configuration et montage du /proc (recommandé)
serveur:/# cp /etc/hosts /sid-root/etc/hosts
serveur:/usr/local# echo \
"proc-sid /usr/local/sid-root/proc proc none 0 0" >> \
/etc/fstab
serveur:/usr/local# mount proc-sid \
/usr/local/sid-root/proc -t proc
3. Chrootage
serveur:/usr/local# chroot /usr/local/sid-root \
/bin/bash
A partir de ce moment, tout se passe comme dans une installation standard de Debian sid. Les premières étapes, pas à pas, sont (une fois chrooté):
/# apt-setup
[pour modifier le /etc/apt/sources.list]
/# vi /etc/apt/sources.list
[on met le source sur "unstable"]
/# dselect
[ou aptitude, ou apt-get install paquet par paquet]
Enfin, si l'on veut mettre en place une console virtuelle pour se connecter à la unstable et éviter d'avoir à se chrooter "à la main", on peut rajouter (dans le système hote):
serveur:/# echo \
"8:23:respawn:/usr/sbin/chroot /usr/local/sid-root " \
"/sbin/getty 38400 tty8" >> /etc/inittab
serveur:/usr/local# init q
On peut aussi faire tourner un sshd dans le chroot sur un port non standard ou encore utiliser un webmin sur un port non standard, c'est selon les gouts et les habitudes de chacun.
Références:
[1] Page man de debootstrap (
http://da2i.univ-lille1.fr/cgi-bin/man/man2html?debootstrap+8 )