V tomto návodu bych chtěl popsat, jak si
1) Vytvořit chroot s Ubuntu/Debianem
2) Nastavit si X server, abyste mohli mít chroot s grafickým prostředím.
3) Pár tipů a triků
Co je to chroot?Díky chrootu můžete provozovat "systém v systému" - máte v jedné složce něco jako system root s adresáři jako /etc, /usr atd.
Pomocí příkazu "chroot" systému řeknete, že má jako / v běžícím terminálu použít určenou složku.
K čemu chroot?Dá se použít na spoustu věcí. Můžete v něm provozovat server, využívat ho jako náhradu virtualizace Linuxu v Linuxu, testovat software, abyste si nerozhasili vlastní systém, můžete v něm kompilovat 32bitové aplikace pod 64bitem, nebo ty aplikace provozovat, pokud nemáte k dispozici 64bitový balík, možností jak chroot využít je mnoho
VYTVOŘENÍ CHROOTU1. Chroot si vytvoříme pomocí utilitky
debootstrap. Nainstalujte si tento balíček do vaší distribuce. Měl by se nacházet v repozitářích většiny větších distibucí Linuxu.
sudo apt-get install debootstrap
2. Vytvořte si složku, kde budete mít vaše chrooty.
mkdir chroots && cd chroots
3. Vytvořte si chroot podle vašich představ.
sudo debootstrap --arch=ARCHITEKTURA* lenny** debian*** ftp://ftp.debian.org/debian****
* Zvolte i386 nebo amd64, pod i386 normálním systémem vždy pouze i386, amd64 chroot nepoběží.
** Zvolte si distribuci - lenny, etch, hardy - prostě některý z Ubuntu nebo Debianů
*** Adresář, do kterého se chroot stáhne.
**** Server, ze kterého stahovat balíčky. Pro Debiana nechte, pro Ubuntu je to http://archive.ubuntu.com/ubuntuVíce informací získáte pod příkazem
debootstrap --help
4. Ve složce chroots/debian/etc/apt si upravte sources.list podle vašich představ.
5. Spusťte si nový terminál, přepněte se do složky chroots a zachrootujte se na nový systém:
cd chroots
sudo chroot debian
6. Spusťte si update databáze balíků a nainstalujte základní věci. Pamatujte na to, že v chrootu jste jakože "pod rootem", takže nemusíte chrootu říkat, že má něco spustit jako root
apt-get update
apt-get install nano build-essential openbox* xterm dbus
tasksel install standard
# pro ubuntu chroot apt-get install ubuntu-standard
* Zvolte jakýkoliv window manager nebo třeba i desktopové prostředí jako Gnome, KDE, E17, Xfce, ROX.7. Vygenerujte si /dev a připojíme pts, ať můžete používat terminál a různá zařízení
apt-get install makedev
cd /dev
MAKEDEV generic
# TOHLE MIMO CHROOT
sudo mount --bind /dev/pts /kde/je/chroot/dev/pts
8. Postupně pouštějte tyto příkazy v chrootu
mount -t proc none /proc
mount -t sysfs none /sys
export LC_ALL=C
export HOME=/root
/etc/init.d/dbus start
9. Spusťte si X server v normálním systému - jsou dvě možnosti.
a) Xephyr. Dá vám X server v okně.
sudo apt-get install xserver-xephyr
Xephyr -ac :1 -screen 1024x768
b) Normální X server. Pak se budete přepínat pomocí CtrlAltF8 na chrootí X a CtrlAltF7 zpět na původní.
X :1 -ac
Pokud využijete možnost B. přepne vás to po příkazu na nový X server, přepněte se zpět.
10. V chrootu si spusťte váš WM.
DISPLAY=localhost:1 openbox &
Pak se ve vašem novém X serveru objeví WM spuštěný z chrootu, spusťte si v něm xterm a doinstalujte cokoliv co potřebujete
TIPY:1. Jak na kompilaci 32bitových aplikací pod 32bitovým chrootem v 64bit OS?
./configure --parametry --build=i686-linux-gnu --host=i686-linux-gnu
2. Jak na češtinu v chrootu?
Doinstalujte si balíček locales v chrootu, pokud jej nemáte, zadejte
cat << EOF >> /chroot/var/lib/locales/supported.d/local
cs_CZ.UTF-8 UTF-8
en_US.UTF-8 UTF-8
EOF
dpkg-reconfigure locales
tam si zvolte jazyk, a před startem prostředí z chrootu zadejte
export LC_ALL=cs_CZ.UTF-8
export LANG=cs_CZ.UTF-8
export LANGUAGE=cs_CZ.UTF-8