Administrer une distribution inactive : chroot

27 Aug. 2010
Auteur : Azollyx HORALDIUS
Responsable : paulriluma
Score ( voter ) :
Connexes : Même auteur | Même responsable | Historique
Le programme chroot permet de modifier l'encrage du système, autrement dit, grâce à lui le répertoire /mon_exemple pourra devenir dans la console de travail la racine virtuelle du système /.
C'est juste un peu de relativité... :)
Ainsi, si vous souhaitez exécuter des programmes d'une autre distribution que celle active, vous pourrez grâce à chroot le faire.
Il est toutefois à noter un point important : seul root est autorisé à son utilisation par défaut.
Pour cette raison toutes les commandes seront à saisir en tant que root, et pour rappel, vous pouvez passer dans un terminal en tant que root via la commande :
su

1. Pré-requis :

Pour pouvoir entrer dans un environnement chrooté, il vous faut une distribution qui possède le programme chroot et qui vous permet de monter vos partitions.
Je peux vous conseiller Knoppix ou Mininux que je dévelloperai, mais aussi toutes autres distributions installées sur votre machine. Mininux est une mini-distribution tenant sur une disquette alors que Knoppix est une distribution complète tenant sur un cd-rom bootable (rien ne doit être installé sur votre disque dans les deux cas).
À noter que pour ceux qui, comme moi, préfèrent Gnome, un projet appelé Gnoppix existe, similaire à Knoppix mais avec Gnome. Je détaillerai ici uniquement comment créer sa disquette Minimux, Knoppix étant réalisé avec la même procédure que vous avez effectuée pour créer les CDs de votre distribution.
Dans un premier temps insérez une disquette dans le lecteur (attention celle-ci sera intégralement effacée), puis tapez simplement la ligne suivante :
cat /chemin/où/est/mininux_x.x.img > /dev/fd0
Si vous avez plusieurs lecteurs disquettes, il vous faudra peut-être remplacer fd0 par fd1, je vous laisse le soin d'adapter à votre configuration. De plus il est inutile de monter la disquette.

Voilà, c'était aussi simple que cela, il vous suffit simplement maintenant de booter sur la disquette pour avoir accès à votre nouvelle mini-distribution, et comme login rentrez root.
Si vous êtes détenteur d'une carte réseau, vous aurez la possibilité d'indiquer l'IP à attribuer.

2. Monter les partitions :

Une fois dans votre nouvel environnement (minimux, knoppix, etc), il faut monter la ou les partitions de la distribution à laquelle vous voulez accéder. Par exemple:
mkdir /mnt/chroot mount /dev/hda5 /mnt/chroot mount /dev/hda1 /mnt/chroot/boot mount /dev/hda6 /mnt/chroot/home
Pour cela il vous faut connaître le partitionnement de votre disque dur. Un petit mémo rapide pour vous y retrouver : À cela vient les numéros de partition : Si vous n'avez aucune idée de la façon dont est partitionné votre système, je vous conseillerai d'utiliser le programme cfdisk.
Cependant si vous avez un CD de Mandriva sous la main (ou plus simplement une distribution Mandriva viable), vous pouvez lancer une installation que vous avorterez par la suite pour avoir accès à DiskDrake (ou simplement en lançant la distribution).

3. Rentrez dans votre environnement chrooté :

Vous pouvez désormais rentrer dans votre environnement avec cette commande :
chroot /mnt/chroot
où /mnt/chroot est le point de montage de la distribution que vous comptez modifier. Et vous voilà dans votre environnement chrooté.

4. Application : récupération du mot de passe root :

Le chroot peut être utilisé pour diverses applications, comme la réparation d'un système qui suite à une fausse manipulation ne serait plus bootable. C'est pourquoi j'ai toujours un CD de Knoppix avec moi ;) .

Nous allons ici considérer comme exemple le cas particulier du changement de mot de passe root sur une distribution, suite à un oubli.

Une fois le chroot effectué, vous êtes logué en root dans votre environnement. Il vous suffit alors de changer le mot de passe avec la commande suivante :
passwd
Il vous faudra le saisir deux fois, puis rebooté sur la distribution, vous pourrez désormais retrouver votre administrateur root (ne pas se loguer en tant que root pour autant ;-)).

Autres Distribitions CDLIVE récentes utilisables pour ce genre de manipulations

Je rajoute ici plusieurs distributions spécialisées dans les travaux de maintenance, dépannages, utilisant donc le système chroot.

SystemRescueCD

Site officiel de System Rescue CD
Description de l'éditeur : SystemRescueCd est un système linux complet, utilisable sous forme d'un CDRom bootable, un "LiveCd". Il ne s'agit pas simplement d'une alternative aux systèmes existants, car le but du projet est de répondre a une attente qui n'était pas satisfaite.
Ce CDRom de taille réduite (autour de 230 Mo) offre la possibilité d'effectuer facilement des taches d'administration sur une machine.
Les outils systèmes les plus importants sont disponibles. Il est possible de partitionner le disque avec l'outil graphique GParted (clone libre de Partition-Magic), de sauvegarder ses données ou son système, de remettre en place la machine après un plantage, de réactiver le gestionnaire d'amorçage.
La distribution offre un support du réseau complet avec notamment Samba/NFS.

Manuel en français du CD On trouvera donc les logiciels tels que parted, partimage, fstools (e2fsprogs, reiserfsprogs, reiser4progs, xfsprogs, jfsutils, ntfsprogs, ...), sfdisk, grub, lilo.
Ce kit propose aussi les outils de bases indispensables, comme des éditeurs (nano et vim), MidnightCommander pour parcourir et éditer les fichiers facilement, et des logiciels pour le réseau (Samba, NFS, LUFS, ...).
Le noyau proposé est compilé de façon à supporter la plupart du matériel utilisé. Des efforts ont été faits pour apporter un maximum de simplicité et de convivialité aux utilisateurs, afin que ce CDRom soit accessible à tous.
Une documentation en-ligne présente et explique rapidement les principaux logiciels, ainsi que les options proposées.

Vous pouvez consulter la les principaux logiciels proposés et aussi la liste détaillée des packages inclus permettant de savoir quels programmes vous pouvez utiliser.

GParted CD LIVE

Site officiel de Gparted CD LIVE GParted Live est un petit CD bootable de distribution Linux pour les machines x86.
Il vous permettra d'utiliser toutes les possibilités des dernières version de l'application GParted, de partitionnement de disques durs, de redimensionnement et déplacements de partitions et d'utiliser une console pour faire des opérations de type nettoyage (shred) etc...
Il peut se lancer sur toute machine x86, ayant des disques, des usb, ou des serveurs PXE.
Les logiciels annexes sont les suivants :
mlterm - Multilingual terminal emulator (provides access to command line)
partimage - Backup partitions into a compressed image file
testdisk - Data recovery tool that can help recover lost partitions
nano - Text editor
vim-tiny - Enhanced vi text editor
parted - Partition table editor (command line based)
fdisk - MSDOS partition table editor (command line based)
gdisk - GPT partition table editor (command line based)