НАЗВА

pivot_root — зміна кореневої файлової системи

КОРОТКИЙ ОПИС

pivot_root новий_корінь місце_старого

ОПИС

pivot_root пересуває кореневу файлову систему поточного процесу до каталогу місце_старого і робить новий_корінь новою кореневою файловою системою. Оскільки просто викликає pivot_root(2), ми посилатимемося нижче на сторінку підручника з цієї функції для ознайомлення з подробицями, щоб ознайомитися із подробицями.
 
Зауважте, що, залежно від реалізації pivot_root, кореневий каталог і поточний робочий каталог функції, звідки здійснюватиметься виклик, може бути змінено, а може бути і не змінено. У наведеній нижче послідовності для виклику pivot_root, яка працює в усіх випадках, ми припускаємо, що pivot_root і chroot зберігаються у одному із каталогів, описаних поточним значенням змінної середовища PATH:
 
cd новий_корінь
pivot_root . місце_старого
exec chroot . команда
 
Зауважте, що chroot має бути доступним у старому кореневому каталозі і у новому кореневому каталозі, оскільки pivot_root може неявним чином змінити або не змінювати кореневий каталог командної оболонки.
 
Зауважте, що exec chroot змінює запущений виконуваний файл, який потрібен, якщо згодом треба буде демонтувати каталог старого кореня. Також зауважте, що стандартне джерело вхідних даних, стандартне виведення та стандартне виведення помилок можуть вказувати на пристрій у старій кореневій файловій системі, зберігаючи на ньому активність. Їх можна легко змінити викликом chroot (див. нижче; зауважте відсутність початкових символів похилих рисок, яка забезпечує працездатність команд, незалежно від того, було змінено корінь командної оболонки у результаті виконання pivot_root чи ні).

ПАРАМЕТРИ

-h, --help
Вивести текст довідки і завершити роботу.
 
-V, --version
Вивести дані щодо версії і завершити роботу.

ПРИКЛАДИ

Змінити кореневу файлову систему на /dev/hda1 з інтерактивної командної оболонки:
 
mount /dev/hda1 /новий-корінь
cd /новий-корінь
pivot_root . старий-корінь
exec chroot . sh <dev/console >dev/console 2>&1
umount /старий-корінь
 
Змонтувати нову кореневу файлову систему через NFS з 10.0.0.1:/my_root і запустити init:
 
ifconfig lo 127.0.0.1 up   # для portmap
# налаштувати Ethernet або щось подібне
portmap   # для lockd (неявно запущено mount)
mount -o ro 10.0.0.1:/my_root /mnt
killall portmap   # portmap утримує активність у старому корені
cd /mnt
pivot_root . старий_корінь
exec chroot . sh -c 'umount /старий_корінь; exec /sbin/init' \
  <dev/console >dev/console 2>&1

ДИВ. ТАКОЖ

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

ЗВІТИ ПРО ВАДИ

Для звітування про вади використовуйте систему стеження помилками на <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНІСТЬ

pivot_root є частиною пакунка util-linux, який можна отримати з Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Yuri Chornoivan <[email protected]>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: [email protected]

Recommended readings

Pages related to pivot_root you should read also: