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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:chroot [14/11/2012 14:59] 127.0.0.1 modification externe |
doc:systeme:chroot [12/07/2015 18:19] milou [chroot] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== chroot ====== | ====== chroot ====== | ||
- | * Objet du tuto : chrooter un système | + | * Objet : chrooter un système |
- | * Niveau requis : AVISÉ | + | * Niveau requis : {{tag>avisé}} |
* Commentaires : //Réparer un système installé en dur à partir d'un Live CD ou DVD// | * Commentaires : //Réparer un système installé en dur à partir d'un Live CD ou DVD// | ||
- | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | * Suivi : |
+ | * Création par [[user>smolski]] le 28/10/2011 | ||
+ | * Testé par [[user>bendia]] le 2/05/2015 | ||
+ | * 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 ===== | ||
Ligne 10: | Ligne 16: | ||
Dans ce texte, nous 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. | Dans ce texte, nous 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. | ||
- | Règle général, il faut donc trouver un Live CD puis démarrez sor ordi avec. Comment mentionné, n'importe quel Live CD à base de Debian fera l'affaire : Knoppix, Ubuntu, Sidux, etc. | + | Règle général, il faut donc trouver un Live CD puis démarrer son ordi avec. \\ |
+ | 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 LiveCD en 64bits</note> | ||
Ligne 18: | Ligne 25: | ||
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. | ||
- | 1. Identification de la partition à chrooter | + | ==== Identification de la partition à chrooter ==== |
+ | |||
+ | <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> | ||
Ouvrez un terminal et tapez : | Ouvrez un terminal et tapez : | ||
+ | <code root>fdisk -l</code> | ||
- | su fdisk -l | + | Cette commande vous permet de vérifier quelle partition exactement est à "chrooter", c'est-à-dire quelle est votre partition racine. \\ |
- | + | ||
- | Cette commande vous permet de vérifier quelle partition exactement est à "chrooter", c'est-à-dire quelle est votre partition racine. | + | |
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 : | 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 : | ||
+ | <file config retour de la commande> | ||
Device Boot Start End Blocks Id System | Device Boot Start End Blocks Id System | ||
/dev/hda1 * 1 5624 45174748+ 83 Linux | /dev/hda1 * 1 5624 45174748+ 83 Linux | ||
/dev/hda2 5625 6110 3903795 82 Linux swap / Solaris | /dev/hda2 5625 6110 3903795 82 Linux swap / Solaris | ||
/dev/hda3 6111 14946 70975170 5 Extended | /dev/hda3 6111 14946 70975170 5 Extended | ||
- | /dev/hda5 6111 14946 70975138+ 8e Linux LVM | + | /dev/hda5 6111 14946 70975138+ 8e Linux LVM</file> |
- | La partition qui nous intéresse ici est /dev/hda1. | + | La partition qui nous intéresse ici est ''/dev/hda1''. |
- | + | ||
- | 2. 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 le répertoire chroot : | ||
- | # mkdir /mnt/chroot | + | <code root> |
+ | mkdir /mnt/chroot</code> | ||
Puis on monte notre partition système dans ce répertoire : | Puis on monte notre partition système dans ce répertoire : | ||
- | # mount /dev/hda1 /mnt/chroot | + | <code root> |
+ | mount /dev/hda1 /mnt/chroot</code> | ||
- | Si vous avez une partition séparée pour /boot, il faut aussi la monter : | + | Si vous avez une partition séparée pour ''/boot'', il faut aussi la monter : |
- | # mount /dev/hdxy /mnt/chroot/boot | + | <code root> |
+ | mount /dev/hdxy /mnt/chroot/boot</code> | ||
- | 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 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é : |
- | # mount --bind /dev/ /mnt/chroot/dev | + | <code root> |
- | # mount -t proc /proc /mnt/chroot/proc | + | mount --bind /dev/ /mnt/chroot/dev</code> |
+ | <code root> | ||
+ | mount -t proc /proc /mnt/chroot/proc</code> | ||
Votre système est alors prêt à être "chrooté" : | Votre système est alors prêt à être "chrooté" : | ||
- | # chroot /mnt/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. | 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. | ||
- | + | <code root> | |
- | # chroot /mnt/chroot /bin/bash | + | chroot /mnt/chroot /bin/bash</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 maintenant en tant que root sur votre système installé en dur. | ||
Ligne 65: | Ligne 77: | ||
===== 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. Vous pouvez, par exemple, installer des paquets ou en enlever. Bref, les commandes apt-get update, apt-get upgrade et autres sont opérationnelles. 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. | + | 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. \\ | ||
+ | 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. | ||
==== Exemple détaillé de l'utilisation d'un chroot : réinstaller GRUB 2 ==== | ==== 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. | + | * Voir [[:doc:systeme:grub2:reparer|Réparer Grub2]] |
- | * Éditez le fichier /etc/default/grub (uniquement si vous savez ce que vous faites!) selon vos besoin, et lancez ensuite la commande : | + | ===== Sortir du chroot ===== |
- | # update-grub | + | Pour sortir du chroot, il suffit de taper la commande : |
+ | <code root> | ||
+ | exit</code> | ||
- | * Une fois le fichier /etc/grub/grub.cfg "réparé", tapez : | + | Une fois que vous êtes revenu à la console de base, il vous reste à démonter tous vos montages antérieurs : |
+ | <code root> | ||
+ | umount /mnt/chroot/boot</code> | ||
- | # grub-install /dev/hda | + | <code root> |
+ | umount /mnt/chroot/dev</code> | ||
- | Nous supposons ici, puisqu'il s'agit d'un cas simple, que vous voulez installer GRUB sur le MBR du disque dur. | + | <code root> |
+ | umount /mnt/chroot/proc</code> | ||
- | * Si l'étape se passe mal, essayez avec la commande | + | <code root> |
+ | umount /mnt/chroot</code> | ||
- | # grub-install --root-directory=/mnt/chroot/ --recheck /dev/hda | + | Vous pouvez alors redémarrer votre machine sur votre système installé en dur. |
- | Pour des problèmes plus sérieux, et si les commandes ci-dessus ne donnent pas de résultat | + | ===== gimp en chroot ===== |
- | + | ||
- | Sortons l'artillerie lourde ! | + | |
- | + | ||
- | 1. D'abord installons, si ce n'est pas déjà fait os-prober | + | |
- | + | ||
- | # aptitude install os-prober | + | |
- | + | ||
- | 1. Effacer votre grub.cfg pour repartir de zéro : | + | |
- | + | ||
- | Avant de lancer la commande ci-dessous, faire une sauvegarde (cp /boot/grub/grub.cfg /boot/grub/grub.bak) | + | |
- | + | ||
- | # rm /boot/grub/grub.cfg | + | |
- | + | ||
- | 1. Vérifiez que tous vos systèmes sont bien présents : | + | |
- | + | ||
- | # os-prober | + | |
- | + | ||
- | 1. Reconstruction du fichier /boot/grub/grub.cfg | + | |
- | + | ||
- | # grub-mkconfig -o /boot/grub/grub.cfg | + | |
- | + | ||
- | 1. Réinstallation de Grub2 dans le MBR avec les options de vérification | + | |
- | + | ||
- | # grub-install --root-directory=/mnt/chroot/ --recheck /dev/hda | + | |
- | + | ||
- | 1. Vérifiez que Grub2 est bien installé dans votre MBR : | + | |
- | + | ||
- | # dd if=/dev/sda bs=512 count=1 | strings | + | |
- | 1+0 enregistrements lus | + | |
- | 1+0 enregistrements écrits | + | |
- | 512 octets (512 B) copié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 ! | + | |
- | + | ||
- | ===== Sortir du chroot ===== | + | |
- | + | ||
- | Pour sortir du chroot, il suffit de taper la commande : | + | |
- | $ exit | + | |
- | + | ||
- | Une fois que vous êtes revenu à la console de base, il vous reste à démonter tous vos montages antérieurs : | + | |
- | $ umount /mnt/chroot/boot | + | |
- | $ umount /mnt/chroot/dev | + | |
- | $ umount /mnt/chroot/proc | + | |
- | $ umount /mnt/chroot | + | |
- | + | ||
- | Vous pouvez alors redémarrer votre machine sur votre système installé en dur. | + | |
+ | * [[http://debian-facile.org/doc:systeme:schroot | Installer une version chrootée de gimp pas à pas]] | ||