Chroot
De ArchwikiFR
Le chroot (abréviation de CHanging ROOT) est un processus qui permet de changer la racine en entrant dans un environnement isolé.
Note: Si vous avez atterri sur cette page en cherchant comment installer en chroot, ça se passe plutôt ici.
Pour chrooter dans un système sur lequel vous n'avez pas démarré, il faut préparer un minimum l'environnement. Prenons le cas où vous devez utiliser votre système Arch depuis un autre système GNU/Linux (LiveCD, autre installation, ...); en supposant que vous utilisez le dossier /mnt, vous devez monter au minimum les dossiers suivants:
Astuce: Vous venez de charger un LiveCD, et vous auriez plus de facilités en utilisant votre clavier français :
loadkeys fr
Note: Si vous utilisez LVM, munissez-vous d'un live cd le supportant (celui d'Arch par exemple) et avant les opérations de montage, commencez par lancer:
vgchange -a y
mount /dev/sdXY /mnt mount -t proc proc /mnt/proc mount -t sysfs sys /mnt/sys mount -o bind /dev /mnt/dev
Note: /dev/sdXY étant la partition de votre racine (/).
Astuce: Si vous obtenez cette erreur lors de l'utilisation de pacman :
Erreur : GPGME error: Ioctl() inappropré pour un périphérique
Il est nécessaire de monter ce dossier supplémentaire
mount -t devpts pts /mnt/dev/pts/
Astuce: Si vous avez une partition /boot séparée et si vous comptez faire des opérations dessus (comme générer une image de kernel via mkinitcpio ou modifier des fichiers de démarrage), pensez à la monter également dans /mnt/boot:
mount /dev/sdXZ /mnt/boot
Astuce: Si vous souhaitez lancer des applications graphiques, vous serez peut-être amené à utiliser xhost + pour permettre au chroot d'accéder à X, une fois fini n'oubliez pas d'enlever cette autorisation avec xhost -.
Puis:
chroot /mnt /bin/bash
Une fois les modifications terminées, utilisez exit pour sortir du chroot.
exit
Il faut enfin démonter ce que vous avez monté, en utilisant la commande umount:
Attention: Le démontage se fait dans le sens inverse, /dev/pts avec /dev par exemple.
umount /mnt/proc umount /mnt/sys umount /mnt/dev umount /mnt
Et éventuellement redémarrer:
reboot