Traduz: Deutsch - English - Français - Italiano - Español


Nei sistemi operativi simili a Unix, il termine chroot indica un'operazione che consiste nel cambiare la directory di riferimento dei processi che sono in esecuzione corrente e per i processi generati da questi ultimi. (Continua a leggere...)

Installazione

Creare un "chroot" in Debian è molto semplice.

Ciò che serve è:

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

Configurazione

In genere è necessario creare o modificare punti chiave delle configurazioni.

Creare un file /usr/sbin/policy-rc.d NELLA CHROOT, in modo che dpkg non avvii demoni a meno che non sia voluto. Questo esempio previene impedisce l'avvio nella chroot di tutti i demoni.

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

Il comando ischroot è difettoso e non rileva il fatto di essere in esecuzione in una chroot (685034). Svariati pacchetti dipendono da ischroot per determinare il comportamento corretto in una chroot e funzioneranno in modo non corretto durante gli aggiornamenti se il problema non viene risolto. Il modo più semplice per farlo è di sostituire ischroot con il comando /bin/true.

dpkg-divert --divert /usr/bin/ischroot.debianutils --rename /usr/bin/ischroot
ln -s /bin/true /usr/bin/ischroot

Configurare un chroot è relativamente statico e molto specifico, è possibile fare a meno dei comandi di alto livello e modificare direttamente i file.

 /etc/passwd
 /etc/groups

 /etc/hosts
 /etc/resolv.conf

 /etc/fstab

Montare pseudo filesystem

/proc

proc on /proc type proc (rw)
sysfs on /sys sysfs kind (rw)

/dev/pts

In tal caso, dal sistema principale, eseguire il comando:

mount --bind /dev/pts /srv/chroot/wheezy/dev/pts

Configurazioni predefinite

Generalmente il file /etc/fstab apparirà come segue:

# grep chroot /etc/fstab
/dev /srv/chroot/wheezy/dev auto bind 0 0
/dev/pts /srv/chroot/wheezy/dev/pts auto bind 0 0
/proc /srv/chroot/wheezy/proc auto bind 0 0

Perciò "mount" dal sistema principale sarà:

# mount | grep chroot
/dev on /srv/chroot/wheezy/dev -type none (rw, bind)
/dev/pts on /srv/chroot/wheezy/dev/pts kind none (rw, bind)
/proc on /srv/chroot/wheezy/proc type none (rw, bind)

Aggiungere e rimuovere pacchetti

apt-get install deborphan

deborphan -a

apt-get remove --purge telnet manpages pppconfig ipchains ...

Complementary list svgalibg1 whiptail

apt-get install emacs23 local mc

Uso

Esempi comuni di utilizzo di un chroot:

Uso avanzato

Il pacchetto schroot fornisce un comodo wrapper per permettere agli utenti non privilegiati di avere accesso ad uno o più ambienti chroot. schroot gestisce la chiamata chroot(2) così come la rimozione dei privilegi dentro la chroot e il montaggio di risorse nella chroot (come directory home, /dev, /proc).

Vedere anche