PIVOT_ROOT(8)

NAZWA
pivot_root - zmienia główny katalog (korzeń) systemu plików

SKŁADNIA

pivot_root nowy-katalog-główny miejsce-na-stary

OPIS

pivot_root przesuwa główny katalog systemu plików bieżącego procesu do katalogu miejsce-na-stary i czyni nowy-katalog-główny nowym katalogiem głównym systemu plików. Ponieważ pivot_root(8) jedynie wywołuje pivot_root(2), podręcznik systemowy tego ostatniego opisuje więcej szczegółów.

Proszę zauważyć, że w zależności od implementacji pivot_root, katalog główny i bieżący katalog roboczy wywołującego może, ale nie musi ulec zmianie. Poniższa sekwencja wywołania pivot_root zadziała w obu przypadkach, zakładając że pivot_root i chroot znajdują się w bieżącej PATH:

    cd nowy-katalog-główny
    pivot_root . miejsce-na-stary
    exec chroot . polecenie

Proszę zauważyć, że chroot musi być dostępne w starym katalogu głównym oraz w nowym katalogu głównym, ponieważ pivot_root mógł, lecz nie musiał, niejawnie zmienić katalog główny powłoki.

Proszę zauważyć, że exec chroot zmienia działający plik wykonywalny, co jest konieczne, jeśli stary katalog główny ma być później odmontowany. Proszę również zwrócić uwagę, że standardowe wejście, wyjście oraz wyjście błędów mogą wciąż wskazywać na urządzenie w starym katalogu głównym systemu plików, czyniąc go zajętym. Można to łatwo zmienić przy wywołaniu chroot (zob. niżej; proszę zauważyć brak początkowych ukośników, co umożliwia działania niezależnie od tego, czy pivot_root zmieniło katalog główny powłoki, czy też nie).

OPCJE

-h, --help
    Wyświetla ten tekst i wychodzi.

-V, --version
    Wyświetla wersję i wychodzi.

PRZYKŁAD

Zmienia katalog główny systemu plików na /dev/hda1 z powłoki interaktywnej:

    mount /dev/hda1 /nowy-katalog-główny
    cd /nowy-katalog-główny
    pivot_root . stary-katalog-główny
    exec chroot . sh <dev/console >dev/console 2>&1
    umount /stary-katalog-główny

Montuje nowy katalog główny systemu plików za pośrednictwem NFS z 10.0.0.1:/moj-katalog-glowny i uruchamia init:

    ifconfig lo 127.0.0.1 up   # dla portmap
    # konfiguruje Ethernet itp.
    portmap   # dla lockd (jawnie uruchomiony przez mount)
    mount -o ro 10.0.0.1:/moj-katalog-glowny /mnt
    killall portmap   # portmap utrzymuje zajętość starego k. gł.
    cd /mnt
    pivot_root . stary-katalog-glowny
    exec chroot . sh -c 'umount /stary-katalog-glowny; exec /sbin/init' \
      <dev/console >dev/console 2>&1

ZOBACZ TAKŻE

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

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie pivot_root jest częścią pakietu util-linux, który można pobrać ze strony