Forum Bullteam
19 Mai, 2012, 21:01:01:37 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
 
   Accueil   Aide Rechercher Calendrier Identifiez-vous Inscrivez-vous  
Pages: [1]
  Imprimer  
Auteur Fil de discussion: HowTo " Le Chroot "  (Lu 1436 fois)
Haze
Bullet
*

Karma: 0
Messages: 13


Insoumis jusqu'à l'os et fier de l'être


Voir le profil
« le: 06 Janvier, 2009, 16:40:40:07 »

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:
Code:
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:

Code:
sudo -s
Code:
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:
Code:
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:

Code:
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

Code:
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:
Code:
(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
Code:
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:
Code:
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.
« Dernière édition: 10 Janvier, 2009, 16:13:13:52 par sissie » Journalisée

Ce n'est pas un signe de bonne santé que d'être bien intégré dans une société profondément malade.
dido13
Bullet
*

Karma: 0
Messages: 9


Voir le profil
« Répondre #1 le: 22 Février, 2009, 20:43:43:30 »

Merci monsieur. Tout linuxien qui se respecte doit connaître chroot. Tongue
Journalisée
Pages: [1]
  Imprimer  
 
Aller à:  

| Sitemap
Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 Transitionnel valide ! CSS valide !