[Tech] Problemi di chroot...

Marco Ermini marco.ermini@gmail.com
Ven 4 Mar 2005 15:11:47 CET


On Thu, 03 Mar 2005 17:19:04 +0100, Simone Piccardi
<piccardi@firenze.linux.it> wrote:
> Ciao a tutti,
> 
> ho un problemino con chroot (il comando) che francamente mi sta
> lasciando molto perplesso. Premessa, causa rottura di un disco di un
> RAID-1 mi sono copiato tutto il contenuto dell'altro su un estraibile,
> con un bel rsync.
> 
> Il punto e` che quando vado a montare il suddetto disco non ho problemi
> vedo tutto, pero' se ci faccio un chroot ho:
> 
> ellington:~# chroot /mnt/disk/
> chroot: cannot run command `/bin/bash': No such file or directory
> 
> ma la cosa assolutamente incomprensibile e` che:
> 
> ellington:~# ls -l /mnt/disk/bin/bash
> -rwxr-xr-x  1 root root 628684 Sep  6 20:03 /mnt/disk/bin/bash
> 
> idem se cerco di eseguire /bin/ls o altro, il file nel chroot c'e`, ma
> dopo aver chiamato chroot non ne vuol sapere di andare.
> 
> Se faccio uno strace mi ritrovo:
> 
> ...
> chroot("/mnt/disk/")                    = 0
> chdir("/")                              = 0
> execve("/bin/bash", ["/bin/bash", "-i"], [/* 15 vars */]) = -1 ENOENT
> (No such file or directory)
> ...
> 
> ls cosa assurda e` che se eseguo chroot (la system call) e poi eseguo un
> bella scansione con opendir (tramite programmino in C scritto ad hoc) le
> cose le trovo, e` quando viene eseguita la execve (anche in suddetto
> programmino) che mi da un bell'ENOENT su qualunque cosa.
> 
> Mai visto o sentito nominare nulla del genere?
> 
> Ciao
> Simone
> 
> PS a scanso di equivoci, il filesystem e` un ext3, regolarmente montato,
>   e senza problemi di sorta, almeno a quanto dice fsck.
[...]

Probabilmente il fatto è che chroot ti ritorna (per un qualche motivo)
ENOENT anche se semplicemente fallisce l'esecuzione di bash.

Probabilmente il bash su quel disco è compilato utilizzando delle
shared library che non hai riportato nel chroot. Non saprei trovare
altre spiegazioni :-)

Lo puoi scoprire con readelf -d /chrootjail/tuo/programma ed ovviamente ldd


Ciao, HTH
-- 
Marco Ermini
http://www.markoer.org
Dubium sapientiae initium. (Descartes)
root@human # mount -t life -o ro /dev/dna /genetic/research
<< This message is for the designated recipient only and may contain
privileged or confidential information. If you have received it in
error, please notify the sender immediately and delete the original.
Any other use of the email by you is prohibited. >>



Maggiori informazioni sulla lista flug-tech