PIVOT_ROOT(8) | Administracja systemem | 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
-V, --version
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 systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.
DOSTĘPNOŚĆ¶
Polecenie pivot_root jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2025-09-24 | util-linux 2.41.2 |