Вопрос или проблема
Я следую этим инструкциям, чтобы создать debian.img на Ubuntu 18.04 в сборке VirtualBox
- На ПК создайте папку и сгенерируйте отформатированный, монтируемый образ.
- Установите Debian Buster внутри среды chroot с помощью команды debootstrap.
- Загрузите этот образ (debian.img) на ваш веб-сервер, чтобы скачать его позже.
Ссылка на сайт здесь
mkdir -p webkey/tutorial
cd webkey/tutorial
dd if=/dev/zero of=debian.img bs=1024 count=614400
sudo mkfs.ext2 -F debian.img
sudo tune2fs -c0 debian.img
mkdir debian
sudo mount -o loop debian.img debian/
sudo debootstrap --verbose --foreign --arch armel buster debian http://ftp.de.debian.org/debian
sudo chroot debian
export LC_ALL=C
debootstrap/debootstrap --second-stage
Я сделал все до
sudo chroot debian
Когда я ввожу это, он выдает мне
chroot: не удалось выполнить команду '/bin/bash': Нет такого файла или директории
Я прочитал все сообщения об ошибках chroot, включая эту ошибку, но ни одно из этих решений, похоже, не работает для меня. Или, может быть, я что-то делаю не так.
Спасибо за ваше время и экспертизу.
Я решил свою проблему, следуя командам
Вы посмотрели второе решение в вашей ссылке? Мне кажется, это самое вероятное: убедитесь, что все зависимости /bin/bash смонтированы в chroot: sudo mount -o bind /usr debian/usr, sudo mount -o bind /lib debian/lib и sudo mount -o bind /lib64 debian/lib64
Ответ или решение
Когда вы сталкиваетесь с ошибкой chroot: failed to run command '/bin/bash': No such file or directory
, это обычно связано с тем, что окружение chroot
не содержит все необходимые файлы и зависимости для запуска bash
. В вашем случае, это может быть вызвано тем, что выполнение команды debootstrap
не завершило установку всех компонентов, необходимых для работы bash
.
Вот несколько шагов, которые помогут вам решить эту проблему:
-
Проверьте структуру директории root вашего chroot:
После запуска командыdebootstrap --foreign
, убедитесь, что в директорииdebian
существуют необходимые бинарные файлы и библиотеки. В частности, убедитесь, что/bin/bash
действительно находится в директорииdebian/bin/
.ls debian/bin/
Если
bash
отсутствует, вам нужно будет убедиться, что установка прошла успешно. -
Убедитесь, что все зависимости смонтированы:
Как вы уже упомянули, необходимо смонтировать некоторые директории, чтобы обеспечить доступ к библиотекам и другим ресурсам, необходимым для работыchroot
. Используйте следующие команды:sudo mount -o bind /usr debian/usr sudo mount -o bind /lib debian/lib sudo mount -o bind /lib64 debian/lib64
-
Выполните снова
chroot
:
После выполнения ранее указанных команд, попробуйте ещё раз выполнить командуchroot
:sudo chroot debian
-
Запустите второй этап debootstrap:
Убедитесь, чтоdebootstrap
завершил установку всех необходимых компонентов. Находясь внутри chroot, выполните:export LC_ALL=C /debootstrap/debootstrap --second-stage
-
Проверка наличия /bin/bash:
После завершения второго этапа, снова проверьте наличие файла/bin/bash
:ls /bin/
Если файл доступен, попробуйте выполнить команду bash
:
bash
- Завершение установки:
После успешного входа вbash
, вы можете продолжать настройку вашей системы Debian внутриchroot
.
Если после выполнения всех шагов проблема не решена, возможно, стоит проверить логи debootstrap
для выявления ошибок или проблем при установке пакетов.
Таким образом, все необходимые шаги для решения вашей проблемы изложены. Убедитесь, что у вас есть стабильный интернет-соединение, так как для debootstrap
понадобятся пакеты, которые будут загружены из Интернета.