Назад | Перейти на главную страницу

Как запустить «apt-get» в chroot из systemrescuecd?

Я загружаюсь с systemrescuecd 4.3.1 и запускаю, как показано ниже.

$ mkdir /tmp/os
$ mount /dev/sda1 /tmp/os
$ mount -o bind /sys /tmp/os/sys
$ mount -o bind /dev /tmp/os/dev
$ mount -o bind /proc /tmp/os/proc
$ /usr/bin/chroot /tmp/os /bin/sh -c "apt-get purge fglrx*; apt-get install fglrx*; update-initramfs -u -k 3.5.0-54-generic"
...
FATAL: Could not load /lib/modules/3.10.53-std431-amd64/modules.dep: No such file or directory
...
It's likely that 3.10.53-std431-amd64 belongs to a chroot's host
...

Файлы apt находятся в «/ var / cache / apt / archives» на «/ dev / sda1».

Или это вообще практично? Кому-нибудь удастся?

Спасибо за помощь.

Apt-get отлично работает в chroot. Проблема в том, что вы, кажется, пытаетесь установить пакеты, которые я считаю DKMS модуль ядра. Этот тип пакетов включает в себя сценарии после установки, которые обнаруживают запущенную попытку, определяют работающее ядро ​​и создают соответствующий модуль. Модули, связанные с запущенным ядром на вашем rescuecd, не находятся в chroot, что объясняет ошибку. Но вам почти наверняка не нужен модуль, связанный с ядром, которое вы запускаете со своего rescuecd.

Итак, чтобы быть конкретным, используя chroot из среды восстановления для apt-get для добавления / удаления DKMS пакеты действительно не будут работать очень хорошо. С другой стороны, пакет теоретически должен быть установлен, и когда вы перезагружаете систему, вы можете просто повторно запустить команду, чтобы завершить установку и правильно собрать модули.

Видеть: