Suche…


Einführung

Change root (chroot) ist eine Operation, die das scheinbare Stammverzeichnis für den aktuell ausgeführten Prozess und dessen untergeordnete Elemente ändert. Ein Programm, das in einer solchen geänderten Umgebung ausgeführt wird, kann nicht auf Dateien und Befehle außerhalb dieser Umgebungsverzeichnisstruktur zugreifen.

Syntax

  • chroot [Zielpfad] [Shell oder Befehl]

Root manuell in einem Verzeichnis ändern

  1. Stellen Sie sicher, dass Sie alle Anforderungen gemäß den Anforderungen erfüllen

  2. Mounten Sie die temporären API-Dateisysteme:

    cd /location/of/new/root
    mount -t proc proc proc/
    mount --rbind /sys sys/
    mount --rbind /dev dev/
    mount --rbind /run run/ (optionally)
    
  1. Wenn Sie eine Internetverbindung in der Chroot-Umgebung benötigen, kopieren Sie die DNS-Details:

    cp /etc/resolv.conf etc/resolv.conf
    
  2. Ändern Sie root in / location / of / new / root und geben Sie die Shell an (in diesem Beispiel /bin/bash ):

    chroot /location/of/new/root /bin/bash
    
  3. Nach dem chrooting muss möglicherweise die lokale Bash-Konfiguration geladen werden:

    source /etc/profile
    source ~/.bashrc
    
  4. Erstellen Sie optional eine eindeutige Eingabeaufforderung, um Ihre Chroot-Umgebung unterscheiden zu können:

    export PS1="(chroot) $PS1"
    
  5. Wenn Sie mit der Chroot fertig sind, können Sie sie beenden über:

    exit
    
  6. Heben Sie die Bereitstellung der temporären Dateisysteme auf:

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

Bedarf

  • Root-Berechtigungen
  • eine andere funktionierende Linux-Umgebung, z. B. Live-CD-Start oder eine vorhandene Distribution
  • passende Umgebungsarchitekturen von chroot Quell- und Zielverzeichnis (aktuelle Umgebungsarchitektur mit uname -m prüfen)
  • Kernel-Module, die Sie möglicherweise in der chroot Umgebung benötigen, müssen geladen werden (z. B. mit modprobe )

Gründe für die Verwendung von chroot

Das Ändern von root wird normalerweise für die Systemwartung auf Systemen durchgeführt, bei denen das Booten und / oder Anmelden nicht mehr möglich ist.

Häufige Beispiele sind:

  • Bootloader neu installieren
  • Initramfs-Image neu erstellen
  • Aktualisieren oder Downgrade von Paketen
  • ein vergessenes Passwort zurücksetzen
  • Erstellen von Software in einer sauberen Root-Umgebung


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow