Fórum Ubuntu CZ/SK

Ostatní => Tipy a triky pro Linux => Téma založeno: qUAKER 30 Října 2008, 18:16:23

Název: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: qUAKER 30 Října 2008, 18:16:23
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Í CHROOTU


1. 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.

Kód: [Vybrat]
sudo apt-get install debootstrap
2. Vytvořte si složku, kde budete mít vaše chrooty.
Kód: [Vybrat]
mkdir chroots && cd chroots
3. Vytvořte si chroot podle vašich představ.

Kód: [Vybrat]
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/ubuntu


Více informací získáte pod příkazem

Kód: [Vybrat]
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:

Kód: [Vybrat]
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 :)

Kód: [Vybrat]
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í
Kód: [Vybrat]
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 :)

Kód: [Vybrat]
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ě.

Kód: [Vybrat]
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í.

Kód: [Vybrat]
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.

Kód: [Vybrat]
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?

Kód: [Vybrat]
./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

Kód: [Vybrat]
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
Kód: [Vybrat]
export LC_ALL=cs_CZ.UTF-8
export LANG=cs_CZ.UTF-8
export LANGUAGE=cs_CZ.UTF-8





Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: premet 30 Října 2008, 21:37:04
Ještě by jsi jsem mohl uvést jak na odstranění chrootu  ;D, protože normálně mi to smazat nejde a v manuálových stránkách debootstrap jsem nic takovýho nenašel.
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: Pavel Půlpán 31 Října 2008, 07:55:45
Proč by to normálně nešlo smazat, chroot běží v nějakém adresáři... co ho jednoduše smazat... přinejhorším pod rootem?

Edit: Jo, ale musíš zpátky přemountovat udev a sysfs. ;)
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: premet 31 Října 2008, 09:52:01
Jol dík v tom byl ten zakopanej pes  ;D.
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: DuckD 03 Dubna 2009, 14:34:29
Zasekl jsem se u bodu 4. (ubuntu-gutsy) a 6. (debian-lenny)
4. (ubuntu-gutsy) - neexistuje chroots/debian/etc/apt, ale ostatní stromová struktura existuje
6. (debian-lenny) - co znamená (Zvolte jakýkoliv window manager nebo třeba i desktopové prostředí jako Gnome, KDE, E17, Xfce, ROX.) - má se mi nabídnout nějaký výběr destkopového prostředí nebo ho mam nainstalovat?
dík
 
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: qUAKER 03 Dubna 2009, 14:43:45
nainstalovat
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: DuckD 03 Dubna 2009, 15:13:57
A co s tím bodem
4. (ubuntu-gutsy) - neexistuje složka chroots/debian/etc/apt ?
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: qUAKER 03 Dubna 2009, 15:15:18
divné zkus chroot vytvořit znova asi to selhalo u apt
Název: Re: Ubuntu/Debian Chroot vs X server - jak na něj
Přispěvatel: DuckD 03 Dubna 2009, 15:50:45
tak uz je to v pohode, na druhym complu se to vyzvejklo dobre