Быстрое погружение в debian chroot
Posted on Май 13th, 2009 in Linux | 1 Comment »
Моя Система:
Debian squeeze/sid
Подготовка к созданию chroot-окружения:
mkdir -p /jails/test/
apt-get install debootstrap
Для создания минимального окружения chroot будем использовать debootstrap.
Формат команды следующий:
# /usr/sbin/debootstrap –arch ARCH lenny /where/debinst http://ftp.us.debian.org/debian
Замените ARCH на один из следующих вариантов в команде запуска debootstrap: alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 или sparc. У меня i386, поэтому я ставлю его.
lenny – дистрибутив который используем. Ну и адрес, откуда берем. Полный список зеркал Debian находится здесь – http://www.debian.org/mirror/list
В итоге у меня получилась следующая команда:
/usr/sbin/debootstrap --arch i386 lenny /jails/test/ http://mirror.yandex.ru/debian/
Некоторое время будет происходить установка базовой системы..
Смотрим – а там целая система.
rootfox:/jails/test# ls
bin boot dev etc home lib media mnt opt proc root sbin selinux srv sys tmp usr var
Монтируем необходимые виртуальные файловые системы если необходимо (пригодятся для использования например таких вещей как top в chroot):
mount -t proc proc /jails/test/proc
mount -t devpts devpts /jails/test/dev/pts
mount -t sysfs sysfs /jails/test/sys
Можно сразу добавить в fstab, что бы при следующих перезагрузках не ввводить эти команды вручную:
echo "proc /jails/test/proc proc defaults 0 0" >> /etc/fstab
echo "devpts /jails/test/dev/pts devpts defaults 0 0" >> /etc/fstab
echo "sysfs /jails/test/sys sysfs defaults 0 0" >> /etc/fstab
Устанавливаем нужный софт, locales – чтобы по русски date работала
chroot /jails/test/ aptitude install nano vim-full mc locales binutils ssh
Настраиваем локаль
chroot /jails/test/ dpkg-reconfigure locales
Все, теперь можно войти в этот chroot, например так:
chroot /jails/test /bin/bash
Можно установить какие-то программы, поэкспериментировать без риска нанести ущерб основной системе.
Если требуется что бы в chroot-окружении при старте системы запускался какой-то демон, например ssh, необходимо внести изменения в /etc/rc.local, например такие:
chroot /jails/test /etc/init.d/ssh start
One Response
я обычно еще в /etc/debian_chroot прописываю условное название виртуальной системы, и оно полуавтоматически (если переменная $PS1 не переопределяется в ~/.bashrc, как в Etch) добавляется в prompt в виде (etch2)root@test:~$