Próbuję naprawić zepsuty Ubunu 14.04 za pomocą chroot. To, co zrobiłem, to uruchomienie Ubuntu z zamontowanego na USB oryginalnego systemu, który trzeba naprawić i zmienić na ten system z chrootem:
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
To działało dobrze, ale w chroot
środowisku nie mam dostępu do Internetu, więc apt
nie mogę rozwiązać nazw hostów. Co powinienem zrobić?
ping www.askubuntu.com
też nie działa.
for d in dev sys run proc; do sudo mount -o bind /$d /mnt/$d ; done
Odpowiedzi:
W nowszych systemach Ubuntu rozpoznawanie nazw jest obsługiwane przez usługę resolvconf, a /etc/resolv.conf jest dowiązaniem symbolicznym do /run/resolvconf/resolv.conf. Możesz dodać podłączenie wiązania do systemu plików / run wraz z innymi podłączeniami wiązania przed wykonaniem polecenia chroot
aby system chroot przechwytywał ustawienia DNS systemu hosta lub, gdy jesteś w systemie chrootowanym, tymczasowo utwórz statyczny plik /etc/resolv.conf z wybranymi serwerami nazw, np.
źródło
sudo mount --bind /run /mnt/run
pracował dla mnie chroot nieudanego 17.10 uaktualnienia. Dziękuję za odpowiedź!