pivot_root(8) 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 PFAD 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

-V, --version
zeigt Versionsinformationen an und beendet das Programm.
-h, --help
zeigt diese Hilfe an und beendet das Programm.

BEISPIELE

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

mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh <dev/console >dev/console 2>&1
umount /old-root

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   # for 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

VERFÜGBARKEIT

Der Befehl pivot_root ist Teil des Pakets util-linux und kann von ftp://ftp.kernel.org/pub/linux/utils/util-linux/ heruntergeladen werden.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.bl[email protected]> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.