Voilà 1 outil bien utile pour administrer 1 système ou encore se sortir de mauvaises situations lorsque par exemple on a plus accès à certaines commandes vitales sur notre distribution favorite sans avoir à booté sur ce système et sans quitter votre système actuel,j'ai nommé le
chroot.
Le chroot fonctionne sur toutes les distributions de type Unix.
Définition du chroot,tirée du man:
chroot - éxécuter une commande ou un shell intéractif avec un répertoire racine spécial.
Exemple: chroot Nouveau_répertoire_racine shell_utilisé
Exemple:
chroot /mnt/chroot /bin/bash
---------------------------------------------------
C'est parti, il faut vous rendre dans le dossier du futur chroot,si besoin créer le point de montage puis monter la partition,le tout en root bien entendu:
sudo -s
mkdir /mnt/chroot
mount /dev/xxx* /mnt/chroot
cd /mnt/chroot
* partition à réparer
Si l'environnement à chrooter utilise d'autre partition comme /usr /var /tmp ou autre il vous faudra les monter aussi afin d'avoir accès à leurs dossiers.
(Facultatif) S'il s'agit d'1 nouvelle installation il faut copier les information DNS afin de disposer d'1 connexion réseau:
cp -L /etc/resolv.conf /mnt/chroot/etc/resolv.conf
Ensuite monter les dossiers /proc et /dev (ceci afin de permettre d'utiliser les informations fournies par le kernel dans le nouvel environnement:
mount -t proc none /mnt/chroot/proc
mount -o bind /dev /mnt/chroot/dev
Voilà le nouvel environnement est initialisé,la prochaine étape consiste a changer de repertoire racine (/) en /mnt/chroot grâce donc a la commande
chroot ,puis de crée le nouvel envirronement et les variables d'environnement gràace cette fois à
source et export cd /mnt/chroot
chroot /mnt/chroot /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
Voilà si tout s'est bien passé vous devriez voir que votre prompt s'est modifié et ressemble à quelque chose comme ceci:
(chroot) ubuntu / #
A partir de cette instant vous avez accès aux commandes et aux dossiers de votre nouvel environnement et pouvez donc ainsi y travaillez comme à votre habitude et comme si vous aviez booté normalement sur ce système!Pour vous en convaincre essayez 1
ls /usr/src
ou mieux exécuter la commande de mise à jour de votre Os source et de cet OS (apt-get update dans ce cas ci) et constatez que vous n'avez accès qu'à celle de l'environnement chrooté ! Formidable non.
Voilà vous pouvez administrer ce système avec ces commandes propres,mettre à jour, réparer vos bétises etc...etc..
---------------------------------------------------
Démontage du chroot :Une fois votre travail effectué on va quitter le chroot de manière propre.
Avant de démonter /mnt/chroot démontez les autres partitions éventuellement montées précédemment,sinon vous aurez droit à 1 erreur de style: umount /mnt/chroot/xxx device is busy.
Pour se faire procedez ainsi:
exit
cd
umount /mnt/choot/proc /mnt/chroot/dev /mnt/chroot
Vous constatez que "exit" vous permet de sortir du chroot,ainsi vous vous retrouvez à nouveau dans votre environnement de départ.