Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/06/2005, à 18:24

cep

Modifier sa distribution en chroot depuis un live cd ou autre distrib

Man chroot nous dit :
« chroot remplace le répertoire racine du processus en cours par celui spécifié par le chemin path. Ce répertoire sera utilisé  comme  origine  des chemins commençant par /.  Le répertoire racine est hérité par tous les enfants du  processus ayant fait le changement.
Seul  le Super-User peut effectuer un changement de répertoire racine. Notez que cet appel système ne modifie pas le répertoire de  travail, aussi  `.' peut se retrouver en-dehors de l'arbre dont la racine est `/'.
chroot renvoie 0 s'il réussit, ou -1 s'il  échoue,  auquel cas errno contient le code d'erreur.»

Ainsi, grâce à chroot, un répertoire d’une distribution installée sur un disque dur deviendra dans une console la racine virtuelle du système /, et on pourra exécuter en root des programmes d’un live cd sur cette distribution qui ne peut plus démarrer.

On pourrait ainsi, grace à chroot, déplacer le /home, changer le password de root, et bien d’autres choses.

Pour illustrer cette commande, je vais chrooter ma ubuntu depuis une machine debian. J’aurais bien sûr pu le faire depuis un live cd kaella ou knoppix.
En outre, volontairement, j’ai utilisé le chroot pour lancer un fdisk et éditer mon fichier /boot/grub/menu.lst.  Le chroot n’était bien entendu pas nécessaire pour faire cela.

cepcasa@cepcasa:~$ su
Password:
cepcasa:/home/cepcasa# mkdir /mnt/chroot
cepcasa:/home/cepcasa# mount /dev/hda5 /mnt/chroot
cepcasa:/home/cepcasa# chroot /mnt/chroot  (pour entrer dans l’ environnement chrooté)
Puis on lance par exemple la commande fdisk pour avoir la table des partitions.

root@cepcasa:/ # fdisk -l /dev/hda

Disk /dev/hda: 6448 MB, 6448619520 bytes
255 heads, 63 sectors/track, 784 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          32      257008+   6  FAT16
/dev/hda2              33         784     6040440    f  W95 Ext'd (LBA)
/dev/hda5              33         784     6040408+  83  Linux

Ensuite on édite le menu.lst avec l’éditeur de texte nano :
root@cepcasa:/ # nano /boot/grub/menu.lst
Ce qui donne :
capture1dd.th.png

Lorsqu’on a terminé les modifications, on peut umounter :
root@cepcasa:/ # umount /mnt/chroot
umount: /mnt/chroot: not mounted

Ctrl + D pour quitter chroot
cepcasa:/home/cepcasa# exit
Et on se retrouve dans son environnement classique.
cepcasa@cepcasa:~$

Voilà, c’est tout. Et, comme dit plus haut, on peut faire bien plus avec chroot

A toutes fins utiles, je joins une aide très abrégée de l’éditeur de textes nano :

^G      (F1)            Appeler le menu d'aide
^X      (F2)            Fermer et, le cas échéant, quitter nano
^O      (F3)            écrire le fichier en cours sur le disque
^J      (F4)            Justifier le paragraphe courant
^Y      (F7)            Aller à  l'écran précédent
^V      (F8)            Aller à  l'écran suivant
^T      (F12)           Appeler le correcteur orthographique (si dispo.)
^P                      Aller à  la ligne précédente
^N                      Aller à  la ligne suivante

^G veut dire CTRL + G

Hors ligne

#2 Le 10/06/2005, à 20:57

Ephack

Re : Modifier sa distribution en chroot depuis un live cd ou autre distrib

Des infos pratiques complémentaires ici :
http://forum.ubuntu-fr.org/viewtopic.php?id=3693

Hors ligne