CHROOT Mode d'emploi

Partagez ici vos Trucs et vos Astuces.
Répondre
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Un Chroot qu'est-ce c'est: chroot (change root) est une commande des systèmes d'exploitation UNIX permettant de changer le répertoire racine d'un processus de la machine hôte (Source Wikipedia)

Cela signifie que le répertoire de votre chroot devient votre nouvelle racine.
Par exemple, j'ai crée un dossier contenant une arborescence Debian (ou bien j'ai monté une partition contenant un système de fichier Debian) dans le dossier /var/local/custom:

Code : Tout sélectionner

ls /var/local/custom/
bin boot etc initrd.img lib64 mnt proc root sbin sys usr vmlinuz binary dev home lib media opt remaster.iso run srv tmp var
Si je chroot /var/local/custom/, ma racine va devenir /var/local/custom/ (c.-à-d. "Je ne pourrais plus accéder au répertoire parent de cette nouvelle racine").

Le chroot permet par exemple de:
  • Récupérer une installation endommagée
  • Utiliser un environnement 32 bits sur une installation 64 bits (Tombe en désuétude depuis la généralisation du multiarch)
  • Configurer un nouveau système (Créé avec Debootstrap) dans une partition vide sur votre machine, sans quitter votre environnement
Premier exemple: Réparer Grub2: https://wiki.debian-fr.xyz/R%C3%A9insta ... _un_chroot
Deuxième exemple: Installer une Debian toute fraîche sur une nouvelle partition: https://wiki.debian-fr.xyz/Installation ... ebootstrap

Pour être pleinement utilisable, avant de chrooter il vous faudra monter les pseudos systèmes dans le chroot:

Code : Tout sélectionner

mount --bind /dev/pts /var/local/custom/dev/pts/
mount --bind /proc /var/local/custom/proc/
mount --bind /sys /var/local/custom/sys/
Utilisation:

Code : Tout sélectionner

root@tor:/var/local# chroot /var/local/custom
root@tor:/# cat /etc/fstab 
# UNCONFIGURED FSTAB FOR BASE SYSTEM
Si j'installe un paquet dans le chroot, il ne sera disponible QUE dans le CHROOT:

Code : Tout sélectionner

root@tor:/# apt install tshark -y
...
Dépaquetage de tshark (1.12.1+g01b65bf-4+deb8u10) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.0.2-5) ...
Paramétrage de tshark (1.12.1+g01b65bf-4+deb8u10) ...

root@tor:/# apt-cache policy tshark
tshark:
  Installé : 1.12.1+g01b65bf-4+deb8u10
...
SORTIE du CHROOT (exit ou CTRL-D)

Code : Tout sélectionner

root@tor:/# exit
root@tor:/var/local# apt-cache policy tshark
tshark:
  Installé : (aucun)
...
Une fois que vous avez terminé dans votre chroot, pensez à démonter les pseudos systèmes de fichier (dev, proc et sys).
umount -l /var/local/custom/dev/pts/
umount -l /var/local/custom/proc/
umount -l /var/local/custom/sys/
Voilà. Toutes vos question, précision et rectification sont les bienvenues.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
PengouinPdt
Contributeur
Contributeur
Messages : 1343
Inscription : 23 avr. 2016, 23:37
Localisation : 47/FR
Diaspora* : https://framasphere.org/u/hucste
Contact :
Status : Hors-ligne

lol a écrit : 18 mars 2017, 07:56 Un Chroot qu'est-ce c'est: chroot (change root) est une commande des systèmes d'exploitation UNIX permettant de changer le répertoire racine d'un processus de la machine hôte (Source Wikipedia)

Cela signifie que le répertoire de votre chroot devient votre nouvelle racine.
Par exemple, j'ai crée un dossier contenant une arborescence Debian (ou bien j'ai monté une partition contenant un système de fichier Debian) dans le dossier /var/local/custom:

(...)
Si je chroot /var/local/custom/, ma racine va devenir /var/local/custom/ (Je n'aurais plus accès à toute l'arborescence qui se trouve en dessous").
(...)
(Je n'aurais plus accès à toute l'arborescence qui se trouve en dessous") <= au-dessus ... non ?!
PengouinPdt { le seul, le vrai } ~ " Libre as a Pengouin "
- DIY - Debian Sid | Devuan Ceres
----
Ne réponds pas aux PM d'assistance
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

PengouinPdt a écrit : 18 mars 2017, 09:04(Je n'aurais plus accès à toute l'arborescence qui se trouve en dessous") <= au-dessus ... non ?!

Oui! Corrigé.
Merci.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Au dessus, au dessous, à droite ou à gauche, tout cela est fonction de la représentation graphique que l'on se fait d'une arborescence,

c'est pourquoi je remplacerai plutôt "Je n'aurais plus accès à toute l'arborescence qui se trouve au dessus" par "Je ne pourrais plus accéder au répertoire parent de cette nouvelle racine"
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

C'est plus précis tu as raison.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

D'ailleurs, le fait de ne pas avoir de parent est un peu ce qui définit la racine d'un système de fichiers :

Si je vérifie avec les numéro d'inode, on peut voir que le numéro d'inode du fichier .. (qui correspond au répertoire parent)
est le même que celui utilisé par le fichier . (correspondant au répertoire courant) :

Code : Tout sélectionner

root@debg53sw:~# ls -lai /
total 116
     2 drwxr-xr-x  26 root root  4096 mars  19 12:39 .
     2 drwxr-xr-x  26 root root  4096 mars  19 12:39 ..
(Je n'affiche pas la suite du retour de "ls")

Alors que, par exemple, pour le répertoire /home

Code : Tout sélectionner

root@debg53sw:~# ls -lai /home
total 40
131073 drwxr-xr-x  7 root   root    4096 févr.  1 13:18 .
     2 drwxr-xr-x 26 root   root    4096 mars  19 12:39 ..
Répondre