web-dev-qa-db-ja.com

chrootでホスト名を解決する方法は?

破損したUbunu 14.04をchrootで修復しようとしています。私がやったことは、USBからマウントされたUbuntuを元のシステムにマウントし、修復する必要があり、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

動作しません。

15
user5950

新しいUbuntuシステムでは、名前解決はresolvconfサービスによって処理され、/ etc/resolv.confは/run/resolvconf/resolv.confへのシンボリックリンクです。 chrootコマンドを実行する前に、他のバインドマウントとともに/ runファイルシステムにバインドマウントを追加できます。

Sudo mount -o bind /run /mnt/run

chrootシステムがホストシステムのDNS設定を取得するようにします。または、chrootされたシステムに入ったら、選択したネームサーバーで静的/etc/resolv.confを一時的に作成します。

echo 'nameserver 8.8.4.4' | Sudo tee -a /etc/resolv.conf
20
steeldriver