PIVOT_ROOT(8)

BEZEICHNUNG
pivot_root - die Dateisystemwurzel ändern

ÜBERSICHT

pivot_root neue_Wurzel alte_Wurzel

BESCHREIBUNG

pivot_root verschiebt die Dateisystemwurzel des aktuellen Prozesses in das Verzeichnis alte_Wurzel und macht neue_Wurzel zur neuen Dateisystemwurzel. pivot_root(8) ruft einfach pivot_root(2) auf, daher finden Sie in dessen Handbuchseite weitere Details.

Ob Wurzel und aktuelles Arbeitsverzeichnis beim Aufruf geändert werden oder nicht, ist von der Implementierung von pivot_root abhängig. Die folgende, in jedem Fall funktionierende Sequenz ruft pivot_root auf, wobei angenommen wird, dass sich pivot_root und chroot im aktuellen PATH befinden:

    cd _neue_Wurzel_
    pivot_root . _alte_Wurzel_
    exec chroot . _Befehl_

Beachten Sie, dass chroot sowohl in der alten als auch in der neuen Dateisystemwurzel verfügbar sein muss, da pivot_root das Wurzelverzeichnis der Shell entweder geändert haben kann oder nicht.

Beachten Sie, dass exec chroot die ausgeführte Datei ändert, was notwendig ist, falls das alte Wurzelverzeichnis danach ausgehängt werden soll. Auch die Standardeingabe, Standardausgabe und deren Fehlerkanal kann noch auf ein Gerät in der alten Dateisystemwurzel zeigen, wodurch dieses noch belegt ist. Dies kann beim Aufruf von chroot einfach geändert werden, siehe nachfolgendes Beispiel. Beachten Sie hierbei, dass keine führenden Schrägstriche gesetzt sind, damit pivot_root stets funktioniert, egal ob die Dateisystemwurzel der Shell geändert wurde oder nicht.

OPTIONEN

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

BEISPIEL

Ändern der Dateisystemwurzel in /dev/hda1 aus einer interaktiven Shell:

    mount /dev/hda1 /neue-Wurzel
    cd /neue-Wurzel
    pivot_root . alte-Wurzel
    exec chroot . sh <dev/console >dev/console 2>&1
    umount /alte-Wurzel

Einhängen des neuen Wurzeldateisystems über NFS von 10.0.0.1:/my_root und init ausführen:

    ifconfig lo 127.0.0.1 up   # für portmap
    # Ethernet konfigurieren
    portmap   # für lockd (implizit von mount gestartet)
    mount -o ro 10.0.0.1:/my_root /mnt
    killall portmap   # portmap belegt noch die alte Wurzel
    cd /mnt
    pivot_root . old_root
    exec chroot . sh -c 'umount /old_root; exec /sbin/init' \
      <dev/console >dev/console 2>&1

SIEHE AUCH

chroot(1), pivot_root(2), mount(8), switch_root(8), umount(8)

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl pivot_root ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.