Chroot/ru

Chroot (англ.Change Root - "изменение корневого каталога") - это системная утилита Unix, используемая для смены текущего корневого каталога с целью создания нового окружения, логически отдельного от основной системы. Это новое окружение также известно как "jail"("тюрьма"). Пользователь работающий внутри jail не может видеть файлы вне среды, которой они ограничены, или получить к ним доступ.

Одним из основных применений для изменения корневого каталога является создание отдельной системы Linux на основе имеющейся в целях тестирования или проверки совместимости программ. Этот механизм часто рассматривается как легковесная альтернатива виртуализации, потому что может выполняться без накладных расходов гипервизора.

Setting up the environment
The first thing that you need to do when you create a new installation is create a directory for your chroot to reside, for example in :

Если Вы хотите смонтировать существующую установку из раздела, Вы можете выполнить:

Замените DEVICE разделом с существующей установкой.

Если у Вас уже есть установка в одном из подкаталогов корневого каталога с которым Вы работаете, Вам не нужно выполнять вышеприведенные шаги.

Распаковка системных файлов и дерева портежей для новой установки
Если Вы собираете новую установку, следующим шагом будет загрузка файла стадии stage3 и архива Portage и их последующая распаковка внутри chroot каталога. Для получения дополнительной информации по данному вопросу, пожалуйста, посмотрите разделы 5a и 5b в Gentoo Handbook.

Конфигурация
Перед тем как изменить корневую директорию нам необходимо смонтировать несколько каталогов.

Нам также необходимо скопировать основные файлы конфигурации из основной системы; не копируйте make.conf если вы используете существующую установку.

Сразу же после завершения, мы можем войти в chroot окружение.

При создании новой установки, Вы можете синхронизировать дерево портежей, чтобы убедиться что все обновлено.

The system is now ready. You can install software, mess with settings, test experimental packages and configurations without having any effect on your main system. To leave the chroot simply type "exit" or press +, this will return you back to your normal environment. Don't forget to umount directories you've mounted.

Сценарии инициализации
Если Вам нужно часто это делать, Вы можете ускорить монтирование каталогов необходимых для chroot-а, используя следующий сценарий инициализации:

depend { need localmount need bootmisc }

start { ebegin "Mounting chroot directories" mount -o bind /dev /mnt/mychroot/dev > /dev/null & mount -t proc none /mnt/mychroot/proc > /dev/null & mount -o bind /sys /mnt/mychroot/sys > /dev/null & mount -o bind /tmp /mnt/mychroot/tmp > /dev/null & eend $? "An error occurred while mounting chroot directories" }

Если Вы используете другой каталог или раздел, добавьте необходимые команды монтирования в start и измените /mnt/chroot если Вы используете другое название.

Смотрите также

 * Gentoo x86 Chroot Setup Guide
 * 32Bit Chroot Guide for Gentoo/AMD64