Установите пакет с помощью apt с живого компакт-диска в реальную систему

Я могу загрузиться только с live CD, и мне нужно установить пакет Debian firmware-linux-nonfree на мой сервер, чтобы он мог успешно загрузиться.

Как я могу сделать это? Поможет ли мне chroot ?

1
задан 23 June 2017 в 11:48
2 ответа

Первое решение:

  • Вы можете установить драйвер, необходимый для загрузки в режиме восстановления. Обратите внимание: монтируется только / , поэтому помните, что вам нужно смонтировать другой раздел, например / usr или / home , если необходимо

  • Вам нужно для повторного монтирования / в режиме чтения и записи: mount -o remount, rw /

  • Вам просто нужно установить пакет, как в обычном режиме.

  • Пакеты, установленные в режиме восстановления, сохраняются в обычном режиме.

Другой способ попробовать

  • Загрузка с компакт-диска
  • Найдите свой жесткий диск с помощью fdisk -l или lsblk
  • Смонтируйте его с помощью этой команды `` mkdir / mnt / hdd && mount / dev / sdx / mnt / hdd
  • Если у вас есть отдельный загрузочный раздел, смонтируйте его.

    mount -t ext2 / dev / sdx1 / mnt / hdd / boot

  • Теперь, чтобы иметь функциональный chroot, мы должны смонтировать подсистемы proc, dev и sys:

     mount -t proc none / mnt / hdd / proc
    монтировать -o привязать / dev / mnt / hdd / dev
    монтировать -o привязать / sys / mnt / hdd / sys
     
  • Нам нужен доступ в Интернет:

     cp /etc/resolv.conf /mnt/hdd/etc/resolv.conf
     
  • Используйте chroot / mnt / hdd / bin / bash , чтобы запустить chrooted bash

  • Установите пакет через apt
  • Попробуйте перезагрузить
2
ответ дан 3 December 2019 в 20:21

На данный момент я не у меня недостаточно репутации, чтобы добавить похвалу к ответу @ P0pR0cK5, поэтому я просто добавлю, что если chrootиз предыдущего ответа остановился при попытке выполнить chroot /mnt/hdd /bin/bash, что привело к ошибке failed to run command '/bin/bash': No such file or directory, привяжите монтирование дополнительных каталогов помог бы.

sudo mount -o bind /usr /mnt/hdd/usr
sudo mount -o bind /lib /mnt/hdd/lib
sudo mount -o bind /lib64 /mnt/hdd/lib64

Наконец, снова введите команду chroot /mnt/hdd /bin/bash.

0
ответ дан 6 November 2021 в 14:41

Теги

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