Recherche…


Introduction

Change root (chroot) est une opération qui modifie le répertoire racine apparent du processus en cours d'exécution et de leurs enfants. Un programme exécuté dans un environnement modifié ne peut pas accéder aux fichiers et aux commandes situés en dehors de cette arborescence.

Syntaxe

  • chroot [chemin de destination] [shell ou commande]

Changer manuellement de racine dans un répertoire

  1. Assurez-vous d'avoir satisfait à toutes les exigences, conformément aux exigences

  2. Montez les systèmes de fichiers API temporaires:

    cd /location/of/new/root
    mount -t proc proc proc/
    mount --rbind /sys sys/
    mount --rbind /dev dev/
    mount --rbind /run run/ (optionally)
    
  1. Si vous devez utiliser une connexion Internet dans l'environnement chroot, copiez les informations DNS suivantes:

    cp /etc/resolv.conf etc/resolv.conf
    
  2. Remplacez root par / location / of / new / root, en spécifiant le shell ( /bin/bash dans cet exemple):

    chroot /location/of/new/root /bin/bash
    
  3. Après avoir chrooté, il peut être nécessaire de charger la configuration bash locale:

    source /etc/profile
    source ~/.bashrc
    
  4. Si vous le souhaitez, créez une invite unique pour pouvoir différencier votre environnement chroot:

    export PS1="(chroot) $PS1"
    
  5. Lorsque vous avez terminé avec le chroot, vous pouvez le quitter via:

    exit
    
  6. Démontez les systèmes de fichiers temporaires:

    cd /
    umount --recursive /location/of/new/root
    

Exigences

  • privilèges root
  • un autre environnement Linux fonctionnel, tel que le démarrage de Live CD ou une distribution existante
  • architectures d'environnement correspondantes de la source et de la destination chroot (vérifiez l'architecture actuelle de l'environnement avec uname -m )
  • Les modules du noyau dont vous avez besoin dans l'environnement chroot doivent être chargés (par exemple, avec modprobe )

Raisons d'utiliser chroot

Le changement de racine est généralement effectué pour effectuer la maintenance du système sur des systèmes où le démarrage et / ou la connexion ne sont plus possibles.

Les exemples courants sont:

  • réinstaller le chargeur de démarrage
  • reconstruire l'image initramfs
  • mise à niveau ou déclassement des paquets
  • réinitialiser un mot de passe oublié
  • logiciel de construction dans un environnement root propre


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow