Portál AbcLinuxu, 12. května 2025 11:37
ldd bash
linux-vdso.so.1 => (0x00007fffb77f2000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003e9b400000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003e91800000) libc.so.6 => /lib64/libc.so.6 (0x0000003e91c00000) /lib64/ld-linux-x86-64.so.2 (0x0000003e91400000)Vytvořil jsem adresář chroot1 a v něm podadresáře
/bin
a /lib
do adresáře binjsem dal samotnou binárku bashe a do adresáře
/lib
knihovny libtinfo.so.5
, libdl.so.2
, libc.so.6, Pokud zadám
chroot /chroot1
Dostanu: chroot: cannot change root directory to /chroot1: No such file or directory
Podobný dotaz tu už několikrát byl, ale nepodařilo se mi na to přijít.
Petr
To by nevadilo. Horší je, pokud zapomněl spustit 'ldconfig -r /chroot1
'.
K původnímu dotazu: strace
obvykle řekne lépe, co konkrétně selhalo a jak.
ldconfig netřeba, pokud se tam prostě nakopírují cíle těch symlinků, ne symlinky samy.
Ale jen pokud je tam bude kopírovat pod jménem shodujícím se s soname.
chroot("/chroot1") = -1 ENOENT (No such file or directory)Tento odkaz
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)Na tohle mi Google nic moc nevyhodil. Budu rád za jakoukoli radu Petr
Vytvořil jsem adresář chroot1??? Je to /chroot1 (tedy v /), nebo je ten adresář kdovíkde? Pokud je kdovíkde, tak je zapotřebí dát chrootu cestu k němu, ať už je kdekoli, nikoli /chroot1, který skutečně neexistuje.
chroot1
je v mém domácím adresáři, pokud zadám příkaz ve tvaru chroot /home/petr/chroot1
dostanu chroot: failed to run command `/bin/bash': No such file or directory
Děkuji
chroot="/tmp/chroot" testCommandsInsideJail=["bash"]Potom vytvoření:
sudo makejail bash.pyNásledně:
sudo chroot /tmp/chroot bash-4.2#
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.