Пытаюсь починить сломанную Убуну 14.04 с помощью chroot. Что я сделал, так это загрузил Ubuntu с USB-подключения, смонтировав исходную систему, которую нужно исправить и заменить на эту систему с помощью chroot:
sudo mount /dev/sdXY /mnt
sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /sys /mnt/sys
sudo mount -t proc /proc /mnt/proc
sudo cp /proc/mounts /mnt/etc/mtab
sudo chroot /mnt /bin/bash
Это работало нормально, но в chroot
среде у меня нет доступа к Интернету, поэтому я apt
не могу разрешить имена хостов. Что я должен сделать?
ping www.askubuntu.com
тоже не работает.
for d in dev sys run proc; do sudo mount -o bind /$d /mnt/$d ; done
Ответы:
В более новых системах Ubuntu разрешение имен обрабатывается службой resolvconf, а /etc/resolv.conf является символической ссылкой на /run/resolvconf/resolv.conf. Вы можете добавить монтирование bind в файловую систему / run вместе с другими монтированиями bind перед выполнением команды chroot
так что система chroot выбирает настройки DNS хост-системы или, как только вы попадаете в систему chroot, временно создайте статический файл /etc/resolv.conf с выбранным вами сервером имен, например
источник
sudo mount --bind /run /mnt/run
помогло мне получить доступ к неудачному обновлению 17.10. Спасибо за ответ!