Ubuntu chroot "Нет такого файла или каталога"

Введите в терминале следующее:

sudo dpkg --clear-avail

Вам нужно отредактировать файл и удалить оскорбительные символы вручную. Сделайте резервную копию существующего файла.

sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.bad

gksudo gedit /var/lib/dpkg/status

Перейдите к строкам 60773, 60774 и 64482. Проблема заключается в том, что подчеркивание в какой-то момент стало незаконным символом в именах пакетов Debian. Отредактируйте оскорбительные строки, измените все подчеркивания на тильды (~), решит вашу проблему.

3
задан 27 May 2012 в 00:29

17 ответов

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 25 July 2018 в 22:34

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 26 July 2018 в 22:33

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 2 August 2018 в 04:00

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 4 August 2018 в 20:03

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 6 August 2018 в 04:04

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 7 August 2018 в 22:04

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 10 August 2018 в 10:18

Ну, наконец, я узнал, что скопировал нужные библиотеки в неправильную папку, потому что когда я впервые проверил chroot, я был на 32-битной машине Ubuntu, а мой сервер - 64-битный. Итак, я скопировал необходимые библиотеки и bin / sh в соответствующие папки в моем каталоге, которые я хотел бы получить в тюрьме, и это сработало отлично. : D Спасибо всем!

2
ответ дан 13 August 2018 в 16:41

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа будет сообщать «Нет такого файла или каталога», даже если сама программа существует.

Редактировать: более вероятно, проблема в этом случае.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot будет искать [ f7] в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, необходимо префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 25 May 2018 в 23:15
  • 1
    Я сделал ldd, но только дал мне: linux.gate.so.1 = & gt; (0xf777e000) libc.so.6 = & gt; /lib32/libc.so.6 (0xf760500) /lib/ld-linux.so.2 (0xf777f000), и я скопировал их, кроме первого в каталог chroot (внутри подпапки lib) – Paris 28 January 2011 в 19:39
  • 2
    Я скопировал все ваши библиотеки, но это не сработало: P – Paris 28 January 2011 в 19:49
  • 3
    Вам не следует копировать эти библиотеки, но библиотеки, необходимые для вашей программы. Если вы запускаете его вручную из командной строки, возникает ли такая же ошибка? – Lekensteyn 28 January 2011 в 20:15
  • 4
    Я получаю от ldd: linux-vdso.so.1 = & gt; (0x00007ffff1956000) libc.so.6 = & gt; /lib/libc.so.6 (0x00007f9e1e742000) /lib64/ld-linux-x86-64.so.2 (0x00007f9e1eae3000), но я копирую только последние два. – Paris 29 January 2011 в 04:06
  • 5
    Это должно быть хорошо. О ... Теперь я понял, держись, я обновляю ответ. – Lekensteyn 29 January 2011 в 13:22

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 25 July 2018 в 22:34

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 26 July 2018 в 22:33

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 2 August 2018 в 04:00

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 4 August 2018 в 20:03

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 6 August 2018 в 04:04

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 7 August 2018 в 22:04

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 10 August 2018 в 10:18

Какой файл janitor.out? Если он динамически связан, вам также понадобятся связанные библиотеки, которые, в свою очередь, могут нуждаться в других библиотеках. Вы можете использовать программу ldd, чтобы проверить, какие общие библиотеки необходимы. Например, вывод ldd /bin/ls:

    linux-vdso.so.1 =>  (0x00007fffac983000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007f8adda8f000)
    librt.so.1 => /lib/librt.so.1 (0x00007f8add887000)
    libacl.so.1 => /lib/libacl.so.1 (0x00007f8add67e000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8add2fb000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f8add0f7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8addccc000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f8adced9000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f8adccd4000)

И ldd /lib/libacl.so.1: linux-vdso.so.1 => (0x00007fffd462f000) libattr.so.1 => /lib/libattr.so .1 (0x00007f4e348aa000) libc.so.6 => /lib/libc.so.6 (0x00007f4e34527000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e34cd6000) Если одна из этих библиотек не выполняется, программа сообщит «Нет такого файла или каталога», даже если сама программа существует.


Редактировать: в этом случае более вероятно проблема.

Вы выполняете:

sudo chroot $dir janitor.out

Это приведет к тому, что chroot выполнит поиск janitor.out в $PATH (/ bin, / sbin, ...). Для запуска janitor.out, расположенного в корне вашего chroot, вам нужно префикс janitor.out с косой чертой:

sudo chroot $dir /janitor.out
0
ответ дан 13 August 2018 в 16:41
  • 1
    Я сделал ldd, но только дал мне: linux.gate.so.1 = & gt; (0xf777e000) libc.so.6 = & gt; /lib32/libc.so.6 (0xf760500) /lib/ld-linux.so.2 (0xf777f000), и я скопировал их, кроме первого в каталог chroot (внутри подпапки lib) – Paris 28 January 2011 в 19:39
  • 2
    Я скопировал все ваши библиотеки, но это не сработало: P – Paris 28 January 2011 в 19:49
  • 3
    Вам не следует копировать эти библиотеки, но библиотеки, необходимые для вашей программы. Если вы запускаете его вручную из командной строки, возникает ли такая же ошибка? – Lekensteyn 28 January 2011 в 20:15
  • 4
    Я получаю от ldd: linux-vdso.so.1 = & gt; (0x00007ffff1956000) libc.so.6 = & gt; /lib/libc.so.6 (0x00007f9e1e742000) /lib64/ld-linux-x86-64.so.2 (0x00007f9e1eae3000), но я копирую только последние два. – Paris 29 January 2011 в 04:06
  • 5
    Это должно быть хорошо. О ... Теперь я понял, держись, я обновляю ответ. – Lekensteyn 29 January 2011 в 13:22

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

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