IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Binding resources

Abans d'executar chroot pot ser util lligar (bind) alguns recursos del sistema actual al sistema nou (chroot). Alguns dels recursos que ens pot interessar lligar son: Plantilla:Box Note

 mount --bind /proc /chroot/proc (you need this for system stats) 
 mount --bind /dev /chroot/dev (need to access device nodes)
 mount -t devpts none /path/to/chroot/dev/pts (don't forget this one or else x won't start in your chrooted environment!)
 mount --bind /usr/portage /chroot/usr/portage (otherwise you'll do needless multiple emerge --sync's)
 mount --bind /usr/src/linux /chroot/usr/src/linux (otherwise kernel based stuff will die on compile) 
 mount --bind /lib/modules /chroot/lib/modules (module installations) 
 mount --bind /sys /chroot/sys (for more system info)
 mount --bind /tmp /chroot/tmp (for access with base X ie. sharing 1 X server)

Plantilla:Box Warning

Altres fitxers a copiar

Per tal d'evitar errors al resoldre noms cal copiar els fitxers:

 cp -L /etc/resolv.conf /mnt/chroot/etc/resolv.conf
 cp -L /etc/hosts /mnt/chroot/etc/resolv.conf

Entrant a chroot

# chroot /mnt/chroot /bin/bash

Resolució de problemes

Error urandom al canviar passwd chroot

Cal crear abans el fitxer. Fora de la "jaula"

$ sudo mknod p/dev/urandom c 1 9 

On p es on està muntat el disc dur.

chroot i LVM

Abans de poder muntar la unitat LVM cal instal·lar-ne el suport.

chroot: no s’ha pogut executar l’ordre «/bin/bash»: El fitxer o directori no existeix

$ sudo chroot lv_root/ /bin/bash 
chroot: no s’ha pogut executar l’ordre «/bin/bash»: El fitxer o directori no existeix

NOTA: Error en anglès: chroot /bin/bash No such File or directory


Per alguna raó no tenia la carpeta /lib de dins del chroot totes les llibreries (enllaços trencats)? Error de disc? copiant la carpeta lib de la màquina base a la gàbia a tornar a funcionar:

$ sudo chroot lv_root/ /bin/bash

chroot: no s’ha pogut executar l’ordre «/bin/bash»: Hi ha massa nivells d’enllaços simbòlics

$ sudo chroot lv_root/ /bin/bash 
chroot: no s’ha pogut executar l’ordre «/bin/bash»: Hi ha massa nivells d’enllaços simbòlics

chroot no funciona

Hem de muntar tot lo necessari dins de la gàbia (a l'exemple la gàbia està a /media/arch):

# mount -t proc proc /media/arch/proc
# mount -t sysfs sys /media/arch/sys
# mount -o bind /dev /media/arch/dev
# mount -t ext2 /dev/sda1 /media/arch/boot

Si volem DNS:

# cp /etc/resolv.conf /media/arch/etc/resolv.conf

I ara:

# chroot /media/arch/ /bin/bash

chroot no funciona. No entén el format del fitxer binari

Si us dona error conforme no entén el format del fitxer executable /bin/bash possiblement és per què el fitxer bash està compilat per a una arquitectura de 64 bits i esteu executant un sistema de 32 bits.

Per exemple, si voleu fer una operació de recuperació de fitxers sobre un sistema Ubuntu Server de 64 bits el que heu de fer és utilitzar un LIVE-CD també de 64 bits.

NOTA: No ho he provat però potser pot passar també quelcom similar si ho feu de 64 bits a 32 bits...

IMPORTANT: no he provat que passa si es posa un bash de 32 bits de la gàbia substituint el de 64 bits, funcionarà?

Vegeu també

Recursos