logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:systeme:chroot [07/12/2014 08:38]
smolski [Introduction]
doc:systeme:chroot [11/06/2023 14:33] (Version actuelle)
Croutons [Deuxième étape: montage, et chroot]
Ligne 1: Ligne 1:
 ====== chroot ====== ====== chroot ======
  
-  * Objet : chrooter un système+  * Objet : Utilisation de la commande chroot pour accéder à une installation gnu/linux depuis une autre
   * Niveau requis : {{tag>​avisé}}   * Niveau requis : {{tag>​avisé}}
-  * Commentaires : //Réparer ​un système ​installé en dur à partir ​d'​un ​Live CD ou DVD// +  * Commentaires : //Cela peut être très utile si un système ​ne démarre plus à cause d'​un ​problème de grub, ou de noyau, etc.// 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) +  * Suivi : 
-  * Suivi :+
     * Création par [[user>​smolski]] le 28/10/2011     * Création par [[user>​smolski]] le 28/10/2011
-    * Testé par ... le ...+    * Testé par [[user>​bendia]] ​le 2/05/2015 
 +    * Màj par [[user>​captnfab]] le 16/01/2021
   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=10080 | c'est ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=10080 | c'est ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
- 
- 
  
  
 ===== Introduction ===== ===== Introduction =====
  
-Dans ce textenous voulons montrer ​comment utiliser la commande chroot pour pouvoir basculer vers votre système GNU/Linux, c'​est-à-dire ​votre Debian préférée,​ à partir d'un autre système. Ce second système peut être un Live CD ou DVD. Un autre système ​à base Debian ​en dual boot sur votre ordi est tout aussi valable.+La commande ''​chroot''​ signifie //change root//c'est à dire changer la racine. Elle permet donc d'« entrer dans » une installation de Linux, sans //booter// dessus. 
 +Nous allons voir comment utiliser la commande chroot pour pouvoir basculer vers un système GNU/​Linux ​(par exemple ​votre Debian préférée), à partir d'un autre système. Ce second système peut être un Live (cd/​usb) ​ou un autre système ​GNU/​Linux ​en dual boot.
  
-Règle généralil faut donc trouver un Live CD puis démarrer son ordi avec. \\ +Vous pouvez par exemle utiliser une live debianou la DFisomais n'​importe quel Live CD GNU/​Linux ​fera l'​affaire : Knoppix, Ubuntu, Sidux, etc. 
-Comment mentionné, n'​importe quel Live CD à base de Debian ​fera l'​affaire : Knoppix, Ubuntu, Sidux, etc. +
  
-<note important>​Attention,​ si votre système est en 64bits, il faudra démarrer avec un LiveCD ​en 64bits</​note>​+<note important>​Attention,​ si votre système est en 64bits, il faudra démarrer avec un Live en 64bits</​note>​
  
-===== Deuxième étape: montage, et chrootage ​=====+===== Deuxième étape: montage, et chroot ​=====
  
 Voici en détail les opérations à effectuer pour monter et chrooter son système. Voici en détail les opérations à effectuer pour monter et chrooter son système.
Ligne 28: Ligne 26:
 ==== Identification de la partition à chrooter ==== ==== Identification de la partition à chrooter ====
  
-Ouvrez ​un [[doc:​systeme:​terminal|terminal]] et tapez : +<note important>​Il vous faut connaître d'​abord ce qu'​est ​un [[doc:​systeme:​terminal|terminal]] et ce que sont des commandes [[doc:systeme:​superutilisateur|user et superutilisateur]] à utiliser dedans.</note>
-<​code ​user+
-su fdisk -l</code>+
  
-Cette commande vous permet de vérifier quelle partition exactement est à "​chrooter",​ c'​est-à-dire quelle est votre partition racine. \\ +Ouvrez ​un terminal et tapez 
-Dans le cas où l'on a un seul système présent sur son ordi, le résultat de la commande ci-dessus ressemblera à ceci :  +<code user>​lsblk --fs</code>
-   Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System +
-   /​dev/​hda1 ​  ​* ​          ​1 ​       5624    45174748+ ​ 83  Linux +
-   /​dev/​hda2 ​           5625        6110     ​3903795 ​  ​82 ​ Linux swap / Solaris +
-   /​dev/​hda3 ​           6111       ​14946 ​   70975170 ​   5  Extended +
-   /dev/hda5            6111       ​14946 ​   70975138+ ​ 8e  Linux LVM+
  
-La partition qui nous intéresse ici est ''/​dev/​hda1''​.+Cette commande vous permet de lister les partitions présentes sur votre machine. À vous d'​identifier la partition racine du système auquel vous voulez accéder. \\ 
 +Dans le cas où l'on a deux systèmes présents sur son ordi (en comptant le live ou le dual-boot), le résultat de la commande ci-dessus pourrait ressembler à ceci :  
 +<file config retour de la commande>​ 
 +NAME                  FSTYPE ​     FSVER    LABEL      UUID                                   ​FSAVAIL FSUSE% MOUNTPOINT 
 +sda                                                                                                          
 +├─sda1 ​               ext4        1.0                 ​711cca50-9068-4a59-9c39-a6b3947a3250 ​   346,​4M ​   23% /boot 
 +└─sda2 ​               ext4        1.0                 ​18c3dcf5-7912-47d5-b121-c246482181a1 ​    ​15,​0G ​   50% / 
 + 
 +sdb                                                                                                          
 +├─sdb1 ​               vfat        FAT32               ​7AD0-5B24 ​                              ​450,​8M ​    5% 
 +├─sdb2 ​               swap        1                   ​0d43bb7d-f3a8-4232-969e-ad47f5616923 
 +├─sdb3 ​               ext4        1.0                 ​160df578-36ff-4dc3-b9a7-a67b0b0ae9b9 ​      ​17G ​   45% 
 +└─sdb4 ​               ext4        1.0                 ​3be277a2-1f2b-44a1-bda6-066cf5bc7a9d ​   494,​9G ​   40% 
 +</​file>​ 
 + 
 +''/​dev/​sda2''​ est la partition racine du système que l'on est en train d'​utiliser (on le voit car la colonne mountpoint indique ''/''​). 
 + 
 +La partition qui nous intéresse ici est ''/​dev/​sdb3''​, car c'est la partition racine de l'​autre système. 
 +On la reconnaît en général car elle est en ext4 et a une taille comprise entre 15Go et 50Go.
  
 ==== Création d'un répertoire où la partition système sera montée. ==== ==== Création d'un répertoire où la partition système sera montée. ====
  
-On commence donc par créer ​le répertoire ​chroot ​:+On commence donc par créer ​un répertoire ​de montage ​:
 <code root> <code root>
-mkdir /mnt/chroot</​code>​+mkdir /mnt/plouf</​code>​
  
 Puis on monte notre partition système dans ce répertoire : Puis on monte notre partition système dans ce répertoire :
 <code root> <code root>
-mount /dev/hda1 /mnt/chroot</​code>​ +mount /dev/sdb3 /mnt/plouf</​code>​ 
- +<note tip>Pour monter un système qui tient sur plusieurs partitions ( généralement ​une partition ​système plus une partition contenant le /home partition utilisateur ou dans le cas d'utilisation de plusieurs volumes [[doc:​systeme:​lvm|LVM]]). Il suffit; après avoir monté ​la partition principale avec la commande ci dessus; de bien monter ​la seconde partition au bon endroit. Ex pour un /home séparé : le monter avec la commande ​mount dans le dossier ​/mnt/plouf/**home/** . ( pas simplement ​/mnt/plouf !). </​note>​
-Si vous avez une partition ​séparée pour ''​/boot'', il faut aussi la monter :  +
-<code root> +
-mount /​dev/​hdxy ​/mnt/chroot/boot</​code>​ +
- +
-<note important>​Il est d'​ailleurs probable que dans ce cas, ''/​dev/​hda1''​ soit votre partition ​**/boot** et /dev/hda2 la  /((racine)) de votre système, soyez attentif à ce que vous faites.</​note>​+
  
 Une fois que la partition système est montée, il faut monter les périphériques que le Live CD a trouvé : Une fois que la partition système est montée, il faut monter les périphériques que le Live CD a trouvé :
 <code root> <code root>
-mount --bind /dev/ /mnt/chroot/dev</​code>​ +mount --bind /dev/ /mnt/plouf/dev 
-<code root> +mount --bind /sys/ /mnt/plouf/sys 
-mount -t proc /proc /mnt/chroot/proc</code> +mount -t proc /proc /mnt/plouf/proc</​code>​
- +
-Votre système est alors prêt à être "​chrooté"​ : +
-<code root> +
-chroot ​/mnt/chroot</​code>​+
  
-Il peut parfois être nécessaire,​ en fonction de votre système ​ou du Live CD à partir duquel vous avez démarré d'​ajouter /bin/bash à la commande.+Entrez alors dans le système ​et monter les autres partitions :
 <code root> <code root>
-chroot /mnt/chroot ​/​bin/​bash</​code>​+chroot /mnt/plouf /bin/bash 
 +mount -a</​code>​
  
-Une fois toutes ces opérations effectuées,​ vous êtes maintenant en tant que root sur votre système ​installé en dur+Une fois toutes ces opérations effectuées,​ vous êtes dans un shell root sur le système ​auquel vous cherchiez à accéder
  
 ===== Opérations sur votre système ===== ===== Opérations sur votre système =====
  
-Une fois votre chroot réalisé, vous pouvez donc apporter des modifications sur votre système. ​\\ +Une fois votre chroot réalisé, vous pouvez donc apporter des modifications sur votre système. 
-Vous pouvez, par exemple, installer des paquets ou en enlever. ​\\ + 
-Bref, les commandes apt-get update, apt-get upgrade et autres sont opérationnelles. \\ +Vous pouvez, par exemple, ​utiliser les commandes ''​apt''/''​apt-get''/​etc. pour installer des paquets ou en enlever. 
-Cela permet de pouvoir récupérer un système où suite à une mise à jour des paquets sont cassés et/ou buggés. ​\\+Cela permet de pouvoir récupérer un système où suite à une mise à jour des paquets sont cassés et/ou buggés. 
 Avec la branche sid, il peut arriver à l'​occasion (rarement quand même) qu'une mise à jour de paquets casse complètement le système à notre prochain démarrage. Un chroot nous évite alors une réinstallation du système. Avec la branche sid, il peut arriver à l'​occasion (rarement quand même) qu'une mise à jour de paquets casse complètement le système à notre prochain démarrage. Un chroot nous évite alors une réinstallation du système.
  
-==== Exemple détaillé de l'​utilisation d'un chroot : réinstaller GRUB 2 ==== 
  
-Le paquet grub2 n'est pas indispensable,​ c'est ce que l'on appelle un "​méta-paquet"​ il ne sert qu'à installer grub-pc et grub-common. \\ 
-Éditez le fichier ''/​etc/​default/​grub''​ (uniquement si vous savez ce que vous faites!) selon vos besoin, et lancez ensuite la commande :  
-<code root> 
-update-grub</​code>​ 
  
-Une fois le fichier /​etc/​grub/​grub.cfg "​réparé",​ tapez  +==== Exemple détaillé de l'​utilisation d'un chroot ​réinstaller GRUB 2 ====
-<code root> +
-grub-install /​dev/​hda</​code>​+
  
-Nous supposons ​ ici, puisqu'​il s'agit d'un cas simple, que vous voulez installer GRUB sur le MBR du disque dur. \\+  * Voir [[:​doc:​systeme:​grub2:​reparer|Réparer Grub2]]
  
-Si l'étape se passe mal, essayez avec la commande : +==== Vous n'y avez pas accès à internet ? ====
-<code root>​grub-install --recheck /​dev/​hda</​code>​+
  
-Pour des problèmes plus sérieuxet si les commandes ci-dessus ne donnent pas de résultat sortons l'​artillerie lourde ! \\ +Par exemplevous essayez ​de mettre à jour le système à opérermais cela ne fonctionne ​pas...
-D'​abord installonssi ce n'​est ​pas déjà fait os-prober : +
-<code root> +
-apt-get install os-prober</​code>​+
  
-Effacer votre grub.cfg pour repartir de zéro \\ +Vous tentez sans succès ​:
-Avant tout, faire une sauvegarde ainsi : +
-<code root> +
-cp /​boot/​grub/​grub.cfg /​boot/​grub/​grub.bak)</​code>​+
  
-<​code ​root> +<​code>​ping www.debian-facile.org</​code>​
-rm /​boot/​grub/​grub.cfg</​code>​+
  
-Vérifiez ​que tous vos systèmes sont bien présents ​ +Pourtant "ip a" vous montre ​que votre carte réseau est en fonction "​UP"​ et vous tentez avec succès ​:
-<code root> +
-os-prober</​code>​+
  
-Reconstruction du fichier /​boot/​grub/​grub.cfg  +<​code>​ping 8.8.8.8</​code>​
-<​code ​root> +
-grub-mkconfig -o /​boot/​grub/​grub.cfg</​code>​+
  
-Réinstallation de Grub2 dans le MBR avec les options ​de vérification ​: +Dans ce cas là, il vous faut copier ​dans la partition racine du système que l'on est en train d'​utiliser ​le contenue ​de :
-<code root> +
-grub-install --recheck /​dev/​hda</​code>​+
  
-Vérifiez que Grub2 est bien installé dans votre MBR :  +<​code>​cat /etc/resolv.conf</​code> ​
-<​code ​root> +
-dd if=/dev/sda bs=512 count=1 | strings</​code>​+
  
-  1+0 enregistrements lus +Et le coller dans "/​etc/​resolv.conf" ​(dans le système auquel vous avez accédé via "​chroot"​:
-  1+0 enregistrements écrits +
-  512 octets ​(512 Bcopiés, 1,788e-05 s, 28,6 MB/s +
-  ZRr= +
-  `|f +
-  \|f1 +
-  GRUB +
-  Geom +
-  Hard Disk +
-  Read +
-  Error+
  
-C'est bon, il est présent !+<​code>​nano /​etc/​resolv.conf</​code>​
  
 +Vous devriez à présent accéder a internet et vraquier a vos occupations !
 ===== Sortir du chroot ===== ===== Sortir du chroot =====
  
 Pour sortir du chroot, il suffit de taper la commande : Pour sortir du chroot, il suffit de taper la commande :
-<​code ​user>+<​code ​root>
 exit</​code>​ exit</​code>​
  
 Une fois que vous êtes revenu à la console de base, il vous reste à démonter tous vos montages antérieurs : Une fois que vous êtes revenu à la console de base, il vous reste à démonter tous vos montages antérieurs :
-<​code ​user+<​code ​root
-umount /mnt/chroot/boot</​code>​+umount ​-R /mnt/plouf</​code>​
  
-<code user> + Vous pouvez alors redémarrer votre machine ​et essayer de redémarrer ​sur le système ​qui ne bootait plus précédemment.
-umount /​mnt/​chroot/​dev</​code>​ +
- +
-<code user> +
-umount /​mnt/​chroot/​proc</​code>​ +
- +
-<code user> +
-umount /​mnt/​chroot</​code>​ +
- +
- Vous pouvez alors redémarrer votre machine sur votre système ​installé en dur.+
  
 ===== gimp en chroot ===== ===== gimp en chroot =====
  
-  * [[:​doc:​systeme:​chroot ​| Installer une version chrootée de gimp pas à pas]] +  * [[http://​debian-facile.org/​doc:​systeme:​schroot ​| Installer une version chrootée de gimp pas à pas]]
- +
  
 ===== Liens et remerciement : ===== ===== Liens et remerciement : =====
doc/systeme/chroot.1417937904.txt.gz · Dernière modification: 07/12/2014 08:38 par smolski

Pied de page des forums

Propulsé par FluxBB