Translation(s): česky - Deutsch - ?English - Français - Italiano - Español


chroot je na unixových operačních systémech název pro operaci, která pro běžící proces i jeho potomky změní zdánlivý kořenový adresář, respektive název pro systém podadresářů a souborů vytvořený tak, aby i nově používaný kořenový adresář měl standardizovanou podobu očekávanou od kořenových adresářů (více na Wikipedii…)

Základní instalace

Vytvoření kopie základního systému pro potřeby „chrootu“ je v Debianu velmi jednoduché:

apt-get install binutils debootstrap

mkdir -p /srv/chroot/wheezy

debootstrap --arch i386 wheezy /srv/chroot/wheezy http://http.debian.net/debian

chroot /srv/chroot/wheezy

Nastavení

Obvykle je potřeba u vytvořeného chrootu ještě nastavit několik základních záležitostí.

V chrootu vytvořte soubor /usr/sbin/policy-rc.d, který zabrání dpkg, aby pouštělo démony, není-li to vyžadováno. V následující ukázce vytvořená konfigurace zamezí pouštění jakýchkoli démonů uvnitř chrootu (příkazy musíte zadat jako root):

chroot /srv/chroot/wheezy
cat > ./usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod a+x ./usr/sbin/policy-rc.d

Další problémem, který může být dobré vyřešit, je chybné chování programu ischroot, který má být schopen oznámit, zda je puštěn v chrootu, ale někdy selhává (685034). Řada balíčků ho ovšem důvěřivě používá a podle jím poskytnuté informace upravují své chování, což může zejména během upgradů dělat potíže. Nejsnazší způsob opravy je nahradit v chrootu ischroot příkazem /bin/true. Problémem této opravy je skutečnost, že při každé upgradu debianutils bude přepsána a bude muset být provedena znovu.

cp /bin/true /usr/bin/ischroot

Další důležitá nastavení jsou

/etc/passwd
/etc/groups

/etc/hosts
/etc/resolv.conf

/etc/fstab