8.6.35 chroot
Le programme chroot
, chroot(8)
, nous permet de lancer
plusieurs environnements GNU/Linux simultan�ment sur un seul syst�me sans
red�marrer.
On peut aussi lancer un programme demandant des ressources comme
apt-get
ou dselect
dans le chroot d'une machine
rapide. On monte alors par NFS le syst�me de fichiers d'une machine auxiliaire
lente sur la machine rapide, en lecture/�criture, le point de montage �tant le
r�pertoire chroot.
8.6.35.1 Ex�cuter plusieurs versions de Debian avec chroot
Un environnment chroot Debian peut ais�ment �tre cr�� par la commande
debootstrap
de Woody. Par exemple, pour cr�er un chroot Sid sur
/sid-root avec une connexion Internet rapide :
main # cd / ; mkdir /sid-root
main # debootstrap sid /sid-root https://ftp.debian.org/debian/
... regardez le syst�me se t�l�charger
main # echo "proc-sid /sid-root/proc proc none 0 0" >> /etc/fstab
main # mount proc-sid /sid-root/proc -t proc
main # cp /etc/hosts /sid-root/etc/hosts
main # chroot /sid-root /bin/bash
chroot # cd /dev; /sbin/MAKEDEV generic ; cd -
chroot # apt-setup # set-up /etc/apt/sources.list
chroot # vi /etc/apt/sources.list # mettre la source sur unstable
chroot # dselect # ou aptitude, installez mc et vim :-)
A ce point, vous devriez avoir un système Debian compl�tement fonctionnel,
avec lequel vous pouvez jouer sans avoir peur de toucher votre installation
Debian principale.
Cette astuce avec debootstrap
peut aussi �tre utilis�e pour
installer Debian sur un syst�me dans utiliser le disque d'installation Debian
mais celui d'une autre distribution GNU/Linux. Voir https://www.debian.org/releases/stable/i386/apcs04.html.en
.
8.6.35.2 Configurer login pour chroot
Taper chroot /sid-root /bin/bash est facile, mais cela
garde toutes les variables d'environnement, ce que vous pouvez ne pas vouloir,
et apporte d'autres probl�mes. Une meilleure approche est d'ex�cuter un autre
processus login sur un terminal virtuel diff�rent o� vous pouvez vous connecter
au chroot directement.
Puisque, sur les syst�mes Debian par d�faut, les consoles Linux sont de
tty1 � tty6 et X Window System sur tty7,
configurons une console chroot sur tty8. Apr�s avoir cr�� un
syst�me chroot comme d�crit dans
Ex�cuter plusieurs
versions de Debian avec chroot
, Section 8.6.35.1, ex�cutez ce
qui suit en root sur le syst�me principal :
main # echo "8:23:respawn:/usr/sbin/chroot /sid-root "\
"/sbin/getty 38400 tty8" >> /etc/inittab
main # init q # reload init
8.6.35.3 Configurer X pour chroot
Vous voulez ex�cuter les derni�res version de X et GNOME en toute s�curit� dans
votre chroot ? C'est possible ! L'exemple suivant permet d'ex�cuter
GDM sur le terminal virtuel vt9.
D'abord, installez un syst�me chroot comme d�crit dans Ex�cuter plusieurs versions de Debian avec
chroot
, Section 8.6.35.1. Avec le root du syst�me principal,
copiez les fichiers de configration importants vers le syst�me chroot.
main # cp /etc/X11/XF86Config-4 /sid-root/etc/X11/XF86Config-4
main # chroot /sid-root # ou utilisez la console chroot
chroot # cd /dev; /sbin/MAKEDEV generic ; cd -
chroot # apt-get install gdm gnome x-window-system
chroot # vi /etc/gdm/gdm.conf # faites s/vt7/vt9 dans la section [servers]
chroot # /etc/init.d/gdm start
Ici, /etc/gdm/gdm.conf
a �t� �dit� pour que la console virtuelle
de lancement soit vt9 au lieu de vt7.
Maintenant vous pouvez facilement passer de l'environnement X du chroot � celui
du syst�me principal simplement en changeant de terminal virtuel, par exemple
en utilisant Ctrl-Alt-F7 et Ctrl-Alt-F9. Amusez-vous bien !
[FIXME] Ajouter un commentaire et un lien vers le script gdm
du
chroot.
8.6.35.4 Ex�cuter d'autres distributions avec chroot
Un environnement chroot avec une autre distribution peut facilement �tre cr��.
Vous installez un syst�me sur une partition s�par�e en utilisant son
installateur. Si sa partition racine est
/dev/hda9
:
main # cd / ; mkdir /other-dist
main # mount -t ext3 /dev/hda9 /other-dist
main # chroot /other-dist /bin/bash
La suite est similaire �
Ex�cuter plusieurs versions
de Debian avec chroot
, Section 8.6.35.1, Configurer login pour chroot
, Section
8.6.35.2, et
Configurer X pour chroot
,
Section 8.6.35.3.
8.6.35.5 Compiler un paquet avec chroot
Il existe un paquet chroot plus sp�cialis�, pbuilder
, qui
construit un syst�me chroot et compile un paquet dans le chroot. C'est un
syst�me id�al pour v�rifier que les d�pendances de compilation d'un paquet sont
correctes, et pour �tre s�r que des d�pendances non n�cessaires ou fausses
n'existent dans le paquet r�sultant.