Resolvconf -u donne l'erreur «resolvconf: Erreur: /etc/resolv.conf doit être un lien symbolique»


13

J'utilise resolvconf pour installer des serveurs DNS statiques /etc/resolv.conf. Cependant, lorsque je lance la sudo resolvconf -umise à jour /etc/resolv.confavec de nouvelles informations statiques, j'obtiens l'erreur «resolvconf: Erreur: /etc/resolv.conf doit être un lien symbolique». Comment puis-je réparer cela?

Réponses:


21

C'est facile à réparer. Ouvrez simplement un terminal et exécutez les commandes suivantes:

sudo rm /etc/resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u

1
Ces informations sont obsolètes. /etc/resolv.conf doit maintenant être lié à ../run/resolvconf/resolv.conf.
jdthood

L'affirmation selon laquelle le message d'erreur est provoqué par une exécution de resolvconf interrompue est fausse.
jdthood

1
Maintenant c'est vrai. :)
jdthood

2
@jdthood: pourquoi est-il ../nécessaire? Pourquoi ne devrions-nous pas utiliser sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf?
Basj

2
@Basj La différence est que cela rend le lien symbolique relatif: lisez-le comme quelque chose comme "monter un dossier, puis" exécuter ", puis" resolvconf ", puis dans le fichier" resolv.conf "". Je suppose que l'un ou l'autre fonctionne, mais pourquoi coder en dur un chemin? Que faire si vous travaillez avec des conteneurs LXC (où la racine FS est dans un dossier)? Ensuite, ouvrir le lien depuis l'hôte LXC vous amènera au mauvais fichier si vous avez utilisé un chemin absolu.
Azendale

11

Depuis Ubuntu 12.04, resolvconf fait partie du système de base. Vous pouvez recréer le lien symbolique nécessaire en exécutant

dpkg-reconfigure resolvconf

ou en procédant comme suit dans un terminal.

sudo ln -nsf ../run/resolvconf/resolv.conf /etc/resolv.conf

Notez qu'à partir d'Ubuntu 12.10, resolvconf n'interrompt plus si /etc/resolv.conf n'est pas un lien symbolique. Il affiche un message d'avertissement, mais cela peut être réduit au silence en mettant la ligne

REPORT_ABSENT_SYMLINK=no

dans / etc / default / resolvconf.


Je suppose que la dpkg-reconfiguremodification de la commande /etc/resolv.confest redevenue un lien symbolique, même si un fichier normal est à /etc/resolv.conf? De plus, devez-vous retirer /etc/resolv.confavant de faire ln? Je reçois une erreur en essayant sur mon système, mais là encore, je n'avais pas l'erreur décrite dans cette question lorsque je l'ai essayée.
Azendale

Oui, l'exécution de "dpkg-reconfigure resolvconf" change /etc/resolv.conf en un lien symbolique et s'il y avait un fichier là-bas; il enregistre une copie du fichier d'origine dans /etc/resolvconf/resolv.conf.d/original. C'est une bonne idée de supprimer /etc/resolv.conf avant d'y mettre un lien symbolique, mais si vous utilisez "ln -nsf" ce n'est pas nécessaire de le faire. Je viens de changer la réponse pour dire "ln -nsf" au lieu de "ln -s".
jdthood

0

rm -r resolv.conf
nano resolv.conf dans ce faire

serveur de noms 1.1.1.1

nameserver 1.0.0.1

enregistrez-le avec ctrl + X.

après cela, faites: sudo apt-get install openresolv

après cela: redémarrez l'ordinateur, cela fonctionnera.

J'ai passé 4 heures à déboguer. Cela fonctionnera sûrement si vous le faites bien


1
pourquoi criez-vous?
Pierre.Vriens
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.