GNU/Linux
Изменить корень (chroot)
Поиск…
Вступление
Change root (chroot) - это операция, которая изменяет кажущуюся корневую директорию для текущего текущего процесса и их детей. Программа, запускаемая в такой модифицированной среде, не может обращаться к файлам и командам за пределами этого дерева справочной системы.
Синтаксис
- chroot [путь назначения] [оболочка или команда]
Ручное изменение корня в каталоге
Убедитесь, что вы выполнили все требования в соответствии с требованиями
Установите временные файловые системы API:
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
Если вам нужно использовать интернет-соединение в среде chroot, скопируйте данные DNS:
cp /etc/resolv.conf etc/resolv.conf
Измените корень на / location / of / new / root, указав оболочку (
/bin/bash
в этом примере):chroot /location/of/new/root /bin/bash
После chrooting может потребоваться загрузить локальную конфигурацию bash:
source /etc/profile source ~/.bashrc
При желании, создайте уникальное приглашение, чтобы отличать среду chroot:
export PS1="(chroot) $PS1"
Когда закончите с chroot, вы можете выйти из него через:
exit
Отключите временные файловые системы:
cd / umount --recursive /location/of/new/root
Требования
- привилегии root
- другая рабочая среда Linux, такая как загрузка Live CD или существующий дистрибутив
- соответствие архитектуры окружения источника и места
chroot
(проверить текущую архитектуру среды сuname -m
) - модули ядра, которые могут потребоваться в среде
chroot
должны быть загружены (например, сmodprobe
)
Причины использования chroot
Смена корня обычно выполняется для выполнения системного обслуживания в системах, где загрузка и / или регистрация невозможна.
Общие примеры:
- переустановка загрузчика
- восстановление изображения initramfs
- обновления или понижения пакетов
- сброс забытого пароля
- создание программного обеспечения в чистой корневой среде