Scroll to navigation

PIVOT_ROOT(8) System-Administration 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 Implementation 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 Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.

VERFÜGBARKEIT

Der Befehl pivot_root ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.

2024-10-01 util-linux 2.40.2