Scroll to navigation

PIVOT_ROOT(8) System-Administration PIVOT_ROOT(8)

BEZEICHNUNG

pivot_root - die Dateisystemwurzel ändern

ÜBERSICHT

pivot_root new_root put_old

BESCHREIBUNG

pivot_root moves the root file system of the current process to the directory put_old and makes new_root the new root file system. Since pivot_root(8) simply calls pivot_root(2), we refer to the man page of the latter for further 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-04-27 util-linux 2.40