Resolvconf -u gibt den Fehler "resolvconf: Fehler: /etc/resolv.conf muss ein Symlink sein" aus

13

Ich verwende resolvconf, um statische DNS-Server einzurichten /etc/resolv.conf. Wenn ich sudo resolvconf -ujedoch eine Aktualisierung /etc/resolv.confmit neuen statischen Informationen durchführe, wird der Fehler "resolvconf: Fehler: /etc/resolv.conf muss ein Symlink sein" angezeigt. Wie kann ich das beheben?

Azendale
quelle

Antworten:

21

Es ist leicht zu beheben. Öffnen Sie einfach ein Terminal und führen Sie die folgenden Befehle aus:

sudo rm /etc/resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf
sudo resolvconf -u
Azendale
quelle
1
Diese Informationen sind veraltet. /etc/resolv.conf muss nun mit ../run/resolvconf/resolv.conf verknüpft werden.
Jdthood
Die Behauptung, dass die Fehlermeldung durch einen unterbrochenen resolvconf-Lauf verursacht wird, ist falsch.
Jdthood
1
Jetzt ist es richtig. :)
jdthood
2
@jdthood: warum wird es ../gebraucht? Warum sollten wir nicht verwenden sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf?
Basj
2
@Basj Der Unterschied besteht darin, dass der Symlink relativiert wird: Lesen Sie ihn wie folgt: "Gehen Sie in einen Ordner, dann zum Ausführen, dann zu" resolvconf "und dann zur Datei" resolv.conf "." Ich vermute so oder so funktioniert, aber warum einen Pfad fest codieren? Was ist, wenn Sie mit LXC-Containern arbeiten (in denen sich der Stamm-FS in einem Ordner befindet)? Wenn Sie dann den Link vom LXC-Host aus öffnen, gelangen Sie zur falschen Datei, wenn Sie einen absoluten Pfad verwendet haben.
Azendale
11

Ab Ubuntu 12.04 ist resolvconf Bestandteil des Basissystems. Sie können den benötigten Symlink durch Ausführen von neu erstellen

dpkg-reconfigure resolvconf

oder indem Sie in einem Terminal Folgendes ausführen.

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

Beachten Sie, dass resolvconf ab Ubuntu 12.10 nicht mehr abgebrochen wird, wenn /etc/resolv.conf kein Symlink mehr ist. Es wird zwar eine Warnmeldung ausgegeben, diese kann jedoch durch Setzen der Linie stummgeschaltet werden

REPORT_ABSENT_SYMLINK=no

in / etc / default / resolvconf.

jdthood
quelle
Ich gehe davon aus, dass sich der dpkg-reconfigureBefehl /etc/resolv.confzurück zu einem Symlink ändert , auch wenn sich eine normale Datei auf befindet /etc/resolv.conf. Müssen Sie auch entfernen, /etc/resolv.confbevor Sie tun ln? Beim Versuch meines Systems ist ein Fehler aufgetreten, aber andererseits wurde der in dieser Frage beschriebene Fehler nicht angezeigt, als ich ihn versuchte.
Azendale
Ja, wenn Sie "dpkg-reconfigure resolvconf" ausführen, wird /etc/resolv.conf wieder in einen Symlink umgewandelt, und wenn dort eine Datei vorhanden war. Es speichert eine Kopie der Originaldatei unter /etc/resolvconf/resolv.conf.d/original. Es ist eine gute Idee, /etc/resolv.conf zu entfernen, bevor Sie dort einen Symlink einfügen. Wenn Sie jedoch "ln -nsf" verwenden, ist dies nicht erforderlich. Ich habe gerade die Antwort geändert, um "ln -nsf" anstelle von "ln -s" zu sagen.
Jdthood
0

rm -r resolv.conf
nano resolv.conf drin machen

Nameserver 1.1.1.1

Nameserver 1.0.0.1

Speichern Sie es mit Strg + X.

danach mache: sudo apt-get install openresolv

Danach: Starten Sie den Computer neu, es wird funktionieren.

Ich habe 4 Stunden damit verbracht, dieses Problem zu beheben. Es wird sicher funktionieren, wenn Sie es gut machen

tarling
quelle
1
Warum schreist du?
Pierre.Vriens