Saya mencoba untuk memperbaiki Ubunu 14,04 yang rusak dengan chroot. Apa yang saya lakukan, adalah mem-boot Ubuntu dari USB yang terpasang pada sistem asli yang harus diperbaiki dan diubah ke sistem ini dengan 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
Itu bekerja dengan baik, tetapi di chroot
lingkungan saya tidak memiliki akses ke internet, jadi apt
tidak dapat menyelesaikan nama host. Apa yang harus aku lakukan?
ping www.askubuntu.com
juga tidak bekerja.
for d in dev sys run proc; do sudo mount -o bind /$d /mnt/$d ; done
Jawaban:
Pada sistem Ubuntu yang lebih baru, resolusi nama ditangani oleh layanan resolvconf, dan /etc/resolv.conf adalah tautan simbolis ke /run/resolvconf/resolv.conf. Anda bisa menambahkan bind mount ke / jalankan filesystem bersama bind mounts Anda yang lain sebelum menjalankan perintah chroot
sehingga sistem chroot mengambil pengaturan DNS sistem host atau, begitu Anda berada di sistem chroot, untuk sementara membuat /etc/resolv.conf untuk sementara dengan nameserver pilihan Anda, mis.
sumber
sudo mount --bind /run /mnt/run
bekerja untuk saya chroot ke upgrade 17.10 yang gagal. Terima kasih atas jawabannya!