Resolvconf -u给出错误“ resolvconf:错误:/etc/resolv.conf必须是符号链接”


13

我使用resolvconf在中设置了静态DNS服务器/etc/resolv.conf。但是,当我运行sudo resolvconf -u/etc/resolv.conf新的静态信息更新时,出现错误“ resolvconf:错误:/etc/resolv.conf必须是符号链接”。我怎样才能解决这个问题?

Answers:


21

很容易修复。只需打开终端并运行以下命令:

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

1
该信息已过时。现在必须将/etc/resolv.conf链接到../run/resolvconf/resolv.conf。
jdthood 2012年

关于错误消息是由resolvconf运行中断引起的说法是错误的。
jdthood 2012年

1
现在是正确的。:)
jdthood 2012年

2
@jdthood:为什么../需要?我们为什么不应该使用sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
巴斯基(Basj)

2
@Basj的不同之处在于它使符号链接相对:将其读为“去一个文件夹,然后运行”,然后“ resolvconf”,然后再文件“ resolv.conf”。我猜这两种方法都可行,但是为什么要对路径进行硬编码?如果您正在使用LXC容器(根FS在文件夹中)该怎么办?如果您使用绝对路径,则打开LXC主机的链接会将您带到错误的文件。
阿岑代尔

11

从Ubuntu 12.04开始,resolvconf是基本系统的一部分。您可以通过运行来重新创建所需的符号链接

dpkg-reconfigure resolvconf

或通过在终端中执行以下操作。

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

请注意,从Ubuntu 12.10开始,如果/etc/resolv.conf不是符号链接,则resolvconf不再中止。它确实会打印警告消息,但是可以通过放置行来使其静音

REPORT_ABSENT_SYMLINK=no

在/ etc / default / resolvconf中。


我假设即使普通文件位于?处,dpkg-reconfigure命令也会变/etc/resolv.conf回符号链接/etc/resolv.conf。另外,您必须先删除/etc/resolv.conf后再删除ln吗?我在系统上尝试时遇到错误,但是再次尝试时,我没有遇到此问题中描述的错误。
Azendale 2012年

是的,运行“ dpkg-reconfigure resolvconf”会将/etc/resolv.conf更改回符号链接,并且在那里有文件;它将原始文件的副本保存在/etc/resolvconf/resolv.conf.d/original中。在放置符号链接之前删除/etc/resolv.conf是一个好主意,但是如果使用“ ln -nsf”,则不必这样做。我刚刚将答案改为“ ln -nsf”而不是“ ln -s”。
jdthood 2012年

0

rm -r resolv.conf
在其中做nano resolv.conf

域名服务器1.1.1.1

域名服务器1.0.0.1

用ctrl + X保存。

之后做:sudo apt-get install openresolv

之后:重新启动计算机即可使用。

我花了4HRS对此进行调试,如果您操作得当,它将可以正常工作


1
你为什么大吼大叫?
Pierre.Vriens
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.