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?

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

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.


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


1
Warum schreist du?
Pierre.Vriens
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.