'/ bin / bash': нет такого файла или каталога

Я следовал этой инструкции о том, как создать live CD моей текущей установки Ubuntu 14.04. Когда я пытаюсь запустить sudo chroot ${WORK}/rootfs /bin/bash, где WORK=/some/dir/that/REALLY/exist

, я получаю сообщение об ошибке, что bin / bash не является файлом или каталогом. Я могу ls / bin и вижу файл с именем bash, но не могу открыть его, говоря, что это не текстовый файл (имеет смысл).

none@none-ubuntu:/$ sudo chroot ${WORK}/rootfs /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory

bash файл существует, так как я могу видеть его на ls

none@none-ubuntu:/$ ls /bin
bash                  fgconsole   nc                       sed
bunzip2               fgrep       nc.openbsd               setfacl
...(lot more files here)......

и так как меня спросили о разрешениях

none@none-ubuntu:/$ ls -l /bin
total 9880
-rwxr-xr-x 1 root root 1017016 Απρ  24  2014 bash
-rwxr-xr-x 1 root root   31152 Οκτ  21  2013 bunzip2
-rwxr-xr-x 1 root root 1918032 Νοέ  14  2013 busybox

Я искал в Интернете , но, к сожалению, использование «нет такого файла или каталога» приводит к появлению большого количества постов

edit:

none@none-ubuntu:/$ ls -l ${WORK}/rootfs/bin
total 9866
-rwxrwx--- 1 root vboxsf 1017016 Απρ  24  2014 bash
-rwxrwx--- 1 root vboxsf   31152 Οκτ  21  2013 bunzip2


 none@none-ubuntu:/$ ldd ${WORK}/rootfs/bin/bash
 linux-vdso.so.1 =>  (0x00007fff183fe000)
 libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f4569d8e000)
 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4569b8a000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f45697c4000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f4569fce000)

none@none-ubuntu:/$ ls -l ${WORK}/rootfs/lib
total 304
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 apparmor
drwxrwx--- 1 root vboxsf  8192 Ιούλ 23  2014 brltty
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 crda
drwxrwx--- 1 root vboxsf 36864 Ιούλ 23  2014 firmware
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 hdparm
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 ifupdown
drwxrwx--- 1 root vboxsf  4096 Ιούλ 23  2014 init
-rwxrwx--- 1 root vboxsf 71512 Δεκ  24  2013 klibc-P2s_k-gf23VtrGgO2_4pGkQgwMY.so
-rwxrwx--- 1 root vboxsf 27392 Ιαν   9  2014 libip4tc.so.0.1.0
-rwxrwx--- 1 root vboxsf 31520 Ιαν   9  2014 libip6tc.so.0.1.0
-rwxrwx--- 1 root vboxsf  5816 Ιαν   9  2014 libiptc.so.0.0.0
-rwxrwx--- 1 root vboxsf 47712 Ιαν   9  2014 libxtables.so.10.0.0
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 linux-sound-base
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 lsb
drwxrwx--- 1 root vboxsf     0 Απρ  10  2014 modprobe.d
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 modules
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 modules-load.d
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 plymouth
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 recovery-mode
drwxrwx--- 1 root vboxsf     0 Ιούλ 23  2014 resolvconf
drwxrwx--- 1 root vboxsf  4096 Ιούλ 23  2014 systemd
drwxrwx--- 1 root vboxsf  4096 Μάρ  22  2014 terminfo
drwxrwx--- 1 root vboxsf  4096 Ιούν  2 13:10 udev
drwxrwx--- 1 root vboxsf  4096 Ιούλ 23  2014 ufw
drwxrwx--- 1 root vboxsf 28672 Ιούν  7 22:08 x86_64-linux-gnu
drwxrwx--- 1 root vboxsf 24576 Ιούλ 23  2014 xtables

Update

Thank Вы все за помощь и предоставленную информацию. К сожалению, я мог выполнить эту задачу. Похоже, что решение должно было создать виртуальный диск (как предложено Джермаром). Сделал это и сделал весь процесс с самого начала. но когда мне пришлось apt-get while chroot, я получал сообщения о том, что он не может подключиться к сайту ppa. пытаясь это исправить с помощью некоторых вещей, найденных в интернете, виртуальная машина перестала работать и теперь вообще не загружается! Я предполагаю, что лучший способ создать live cd из установки Ubuntu на жесткий диск - это на самом деле иметь Ubuntu на жестком диске, а не на какой-либо виртуальной машине.

Еще раз спасибо (не уверен, должен ли я удалить это или нет, но я сохраню это для дальнейшего использования)

0
задан 9 June 2015 в 19:57

1 ответ

errno коды иногда не очень конкретны. А также возможно означая, что определенный файл под рукой (/bin/bash) не существует, при выполнении программы "Никакой такой файл или каталог" (ENOENT) может также означать, что его интерпретатор ELF не существует, или что одна из общих библиотек, в которых он нуждается, не существует. Я подозреваю это /lib или /lib64 в chroot среде Вы создаете, повреждается так или иначе, возможно, потому что символьные ссылки указывают на неправильные места.

Попробовать ls -l $WORK/lib64/ld-linux-x86-64.so.2, и если это сообщает, что символьная ссылка затем пробует аналогично за то, кроме чего цель той символьной ссылки относительно $WORK (итак, если ls говорит, что ссылка указывает на /lib/x86_64-linux-gnu/ld-2.19.so, затем Вы работали ls -l $WORK/lib/x86_64-linux-gnu/ld-2.19.so). Повторитесь для различных путей к библиотеке под /lib перечисленный в выводе ldd пока Вы не находите вещь, это на самом деле отсутствует в контексте chroot.

2
ответ дан 9 June 2015 в 19:57

Другие вопросы по тегам:

Похожие вопросы: