Comment résoudre les noms d'hôtes dans chroot?

13

J'essaie de réparer un Ubunu 14.04 cassé avec chroot. Qu'est-ce que j'ai fait, est de démarrer Ubuntu à partir d'USB monté le système d'origine qui doit être réparé et changé à ce système avec 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 

Cela a bien fonctionné, mais dans l'environnement chroot , je n'ai pas accès à Internet, donc apt n'est pas en mesure de résoudre les noms d'hôtes. Qu'est-ce que je suis supposé faire?

ping www.askubuntu.com

ne fonctionne pas non plus.

    
posée user5950 19.05.2014 - 17:43
la source

1 réponse

17

Sur les nouveaux systèmes Ubuntu, la résolution de noms est gérée par le service resolvconf et /etc/resolv.conf est un lien symbolique vers /run/resolvconf/resolv.conf. Vous pouvez soit ajouter un montage de liaison au système de fichiers / run avec vos autres montages de liens avant d'exécuter la commande chroot

sudo mount -o bind /run /mnt/run

pour que le système chroot récupère les paramètres DNS du système hôte ou, une fois dans le système chrooté, créez temporairement un fichier /etc/resolv.conf statique avec des serveurs de noms de votre choix, par exemple

echo 'nameserver 8.8.4.4' | sudo tee -a /etc/resolv.conf
    
réponse donnée steeldriver 19.05.2014 - 17:53
la source

Lire d'autres questions sur les étiquettes