Итак.
Мы решили попробовать поиздеваться над систенмой. Не важно как (компилить софт, установить\удалить какую-нить гадость).
Но! Нам жалко нашу систему, мы ее долго настраивали, все работает и она вовсе не исгажена лишним софтом...
А попробовать ох как хочется.
Виртуализация процом не поддерживается, на паравиртуализацию xen и openvz canonical затаила обиду (кстати, почему?). Потому нам данные технологии недоступны (из коробки).
Как быть? Поможет chroot!
Мы создадим систему в системе, а может даже несколько. И будем в гостевых системаъх гадить, издеваться над ними, опробывать софт..
Начнемс:
У меня сейчас стоит xubuntu lucid
Хочу опробовать natty поставить на него openbox(оконный манагер) и deluge(торрент клиент)
Проблема в том что openbox поковыряется в моих системных настройках, а deluged питоновская штука и столько всякого навоза притащит в систему, что аж страшно...
sudo -i
#Создаю каталог для гостевых систем
mkdir -p /mnt/chroot
#Создаю каталог для natty
mkdir -p /mnt/chroot/natty
cd /mnt/chroot
#Устанавливаю туда natty
#Буду использовать зеркало mirror.yandex.ru
#оно у меня локальное (открыто провайдером)
debootstrap natty /mnt/chroot/natty http://mirror.yandex.ru/ubuntu
#Время установки зависит от скорости доступа к зеркалу. У меня (25 мБит) меньше 2-х минут.
#Примонтируем /proc для того чтоб новая система видела данные о нашем компе
mount -o bind /proc /mnt/chroot/natty/proc
#Копирнем данные о dns
cp /etc/resolv.conf /mnt/chroot/natty/etc/resolv.conf
#Заходим в нашу новую систему
chroot /mnt/chroot/natty
#Ура!
#Дальше мы живем в новой ситеме
#Можно творить над ней все, что хотим
#Немного поднастроим родную
#Пропишем репки
echo "deb http://mirror.yandex.ru/ubuntu natty main restricted universe multiverse" > /etc/apt/sources.list
#установим кое-что для удобства
apt-get update; apt-get -y upgrade; apt-get -y install mc language-pack-ru language-pack-ru-base aptitude; dpkg-reconfigure locales
#Создадим там пользователя
useradd -c "Crazy user" -m -s /bin/bash -U user
passwd user
#Установим Openbox
apt-get install openbox openbox-themes openbox-xdgmenu
#Не боимся захломить систему - это-же тестовая
#openbox мы установили, но как до него достучаться теперь?
#Нам поможет vnc!
apt-get install tightvncserver
#опустимся до пользователя и стартанем vncserver
su user -
vncserver
#При первом запуске у нас спросят пароль для джоступа к vnc
#Все настройки vncserver складывает в домашнюю папку, подпапку .vnc
#Теперь из нашей живой системы мы можем обратиться к рабочему столу дочерней системы
#Можно использовать "Просмотр удаленных рабочих столов" или любой vnc-клиент
#адрес подключения 127.0.0.1:1
#1 - номер стола, который выдал vncserver (при первом запуске он = 1)
#Блин, но там пусто! Что же делать?
И окна с терминалами мы позакрывали
Снова подключимся к нашей домашней системе
sudo -i
#Если мы не перезагружались и следовательно наш mount не отпал, то монтировать еще раз не надо
mount -o bind /proc /mnt/chroot/natty/proc
chroot /mnt/chroot/natty
#установим deluge, терминал и браузер хотяб
apt-get install python-software-properties
add-apt-repository ppa:mozillateam/firefox-stable
apt-get update
apt-get install firefox xfce4-terminal deluge deluge-common deluge-gtk deluge-web deluged deluge-webui
#После перезагрузки не забываем
#1. Примонтировать /proc
#2. Запустить vncserver
mount -o bind /proc /mnt/chroot/natty/proc
chroot /mnt/chroot/natty
su user -
vncserver
Плюсы и минусы данного барахла.
Плюс: "быстро и грязно", по затратам системных ресурсов просто не сравниться с kvm. Ресурсы тратятся только на процессы, а не на имуляцию процов, гостевые ядра и т.д.
Минусы: только для тестов и микрозадач. Серьезное что-то создать не получится так как используются ресурсы основной системы. Даже с сетями не поиграть...
Советую так-же почитать вот это
https://help.ubuntu.com/community/BasicChrootА вот таким макаром я поставила centOS
sudo -i
apt-get install yum rpm wget
wget ftp://ftp.muug.mb.ca/mirror/centos/6.0/os/x86_64/Packages/centos-release-6-0.el6.centos.5.x86_64.rpm
#обращаем внимание, что качала для себя centos6 x86_64
#другие релизы рыскаем здесь http://rpm.pbone.net - ищем "centos-release"
mkdir -p /mnt/chroot/centos
rpm -ivh --force-debian --nodeps --root /mnt/chroot/centos ./centos-release-6-0.el6.centos.5.x86_64.rpm
#чтоб на ключики не ругался гаденыш yum
ln -s /mnt/chroot/centos/etc/pki /etc/pki
yum --installroot /mnt/chroot/centos/ install yum
#Ну а дальше по накатанной
mount -o bind /proc /mnt/chroot/centos/proc
chroot /mnt/chroot/centos