J'essaie de réparer un Ubunu 14.04 cassé avec chroot. Ce que j'ai fait, c'est de démarrer Ubuntu à partir d'un port USB monté sur le système d'origine qui doit être réparé et changé pour 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' chroot
environnement, je n'ai pas accès à Internet, donc je ne peux apt
pas résoudre les noms d'hôte. Qu'est-ce que je suis supposé faire?
ping www.askubuntu.com
ne fonctionne pas non plus.
for d in dev sys run proc; do sudo mount -o bind /$d /mnt/$d ; done
Réponses:
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 liaison avant d'exécuter la commande chroot
afin que le système chroot récupère les paramètres DNS du système hôte ou, une fois que vous êtes dans le système chrooté, créez temporairement un /etc/resolv.conf statique avec le ou les serveurs de noms de votre choix, par exemple
la source
sudo mount --bind /run /mnt/run
fonctionné pour moi chrootant dans une mise à niveau 17.10 bâclée. Merci d'avoir répondu!