debootstrap не удается смонтировать /proc
Я исследовал это, и ни один из ответов (пока) здесь, ни поиск в Google, кажется, не соответствуют моей проблеме.
Вот ситуация:
Я использую Xubuntu 12.04 в качестве базовой установки, и пытаюсь настроить загрузочную установку для начальной загрузки BackBox 3.01 (также 12.04). ОБА - это 64-битные архитектуры, и я проверил этот факт взад и вперед.
Я следовал инструкциям на обоих:
https://help.ubuntu.com/community/DebootstrapChroot https://unix.stackexchange.com/questions/12956/how-do-i-run-32-bit-programs-on-a-64-bit-ubuntu/12957 (спасибо Джайлзу!)
Помимо RTFM и проблем с толстым аппроксимированием, я столкнулся с проблемой во время установки debootstrap, когда я добираюсь до точки и получаю:
W: Failure trying to run: chroot /home/user/test/chroot mount -t proc proc /proc
Установка, на которую ложится, не достаточна для того, чтобы выполнить поиск, как я уже пытался, и если я переделываю с опцией --foreign, она будет лучше.
Исследования, которые я провел, показывают, что эта проблема связана с:
пытаюсь поставить 64-битную установку в 32-битной ОС (чего я явно НЕ делаю)
возможные проблемы с procfs в определенных ядрах, но сообщения об ошибках неясны, и ясно, что это выглядит старым
много проблем, связанных с виртуализацией (чего я не делаю)
Я думаю, так как это очень простая установка файла:/// (другого) дистрибутива на основе Ubuntu в мою среду chroot (64 -> 64), что в шагах по настройке, которые я пропустил, должно быть что-то очень простое. или забыли. Должен ли я сделать что-то вроде предварительной установки /srv/chroot/backbox3_01/var/proc
что-то вроде:
sudo mount -o bind /proc /srv/chroot/backbox3_01
Любая помощь будет оценена.
****** ОБНОВЛЕНИЕ ******* Итак, я немного покопался, и я, по крайней мере, знаю, в чем суть проблемы. Ошибка происходит из-за того, что "mount" - это неизвестный "файл или каталог", что означает, что в точке контекста, из которой запускается chroot, нет исполняемого файла "mount", который можно вызвать. Я предполагаю, что:
а. Какой-то исполняемый контекст не был перенесен и правильно настроен на этапе "pre" перед этим шагом?
или же
б. Может быть, некоторые свойства среды нужно экспортировать до запуска этого скрипта?
или же
с.??
Любая помощь приветствуется...
*********** Дальнейшее обновление *************** Видимо установка Backbox не надувается в каталог chroot где-то рядом должным образом. Backbox 3 является точным (Ubuntu 12.04) дистрибутивом, и я только что запустил debootstrap для точного. Я получаю полную установку.
Когда я делаю то же самое для Backbox, я получаю только /dev, /etc и /var. Ничего другого, что означает "mount", не существует в изолированной структуре. Я попытался установить это с компакт-диска и из локальной копии компакт-диска (в моей файловой системе). Я проверил документ "Release" на установочном компакт-диске, и он кажется завершенным, но я не понимаю, почему он останавливается перед установкой остальных компонентов.
Поэтому я предполагаю, что в дистрибутиве Backbox есть что-то, что не настроено так, чтобы debootstrap мог правильно его перекачать - по крайней мере, из CD-дистрибутива. Кто-нибудь знает онлайн-архив (эквивалентный http://archive.ubuntu.com/ubuntu/) для Backbox? Или, если нет, я думаю, что мои варианты будут:
Взлом Backbox Distro, чтобы он заработал, есть предложения, с чего начать?
Сносит дистрибутив Xubuntu, а затем применяет ppa Backbox... Есть ли сценарий Xubuntu, доступный для debootstrap, и есть ли у кого-нибудь ссылка на автоматический установщик для всех инструментов ppa BB, чтобы быстро их установить?
:(
2 ответа
У меня есть только несколько диких догадок, так как мой опыт в основном связан с debootstrap для Debian.
Вы пытались запустить оскорбительную команду вручную из оболочки? Это часто может дать больше понимания того, что происходит.
Это выглядит странно для меня:
chroot /home/user/test/chroot mount -t proc proc /proc
, Есть ли на самом деле бинарный файл chroot в /home/user/test?Что произойдет, если вы попытаетесь указать полный путь к исполняемому файлу mount следующим образом:
chroot /home/user/test/chroot /bin/mount -t proc proc /proc
?
В моей системе это происходит с каждым Ubuntu/Backbox, который я пробовал. Кажется, что CD нельзя использовать в качестве хранилища (см. Здесь), что имеет смысл: debootstrap
должен быть указан путь к репозиторию (некоторая локальная / удаленная папка с предопределенной структурой и архивами.deb), а Ubuntu/Backbox поставляется с squashfs (в основном образ с базовой системой в нем).
Поскольку Backbox выглядит как Ubuntu 12.04 (он использует в качестве источника пакетов http://archive.ubuntu.com/) и некоторые дополнительные репозитории, я думаю, у вас есть два варианта:
Создайте базовый chroot для Ubuntu, а затем установите все необходимое программное обеспечение: вы можете предоставить
debootstrap
со скриптом для добавления PPA, установки программного обеспечения и т. д.Извлеките squashfs: вам нужно смонтировать ISO, затем смонтировать в нем squashfs и, наконец, скопировать корневую файловую систему:
sudo mount /path/to/backbox.iso <bb_mount_point> sudo mount -t squashfs <bb_mount_point>/casper/filesystem.squashfs <squash_mount_point> sudo cp -rxv <squash_mount_point> <chroot_destination>
Я не пробовал ни одного из них, поэтому не могу заверить вас, что все сработает. Также правильным способом для этого будет установить BB на виртуальной машине (вы можете использовать QEMU/KVM/etc), а затем скопировать корневую файловую систему туда, где вам это нужно.
Удачи.