无法更新 resolv.conf

无法更新 resolv.conf

我编辑/etc/resolvconf/resolv.conf.d/base

$ cat /etc/resolvconf/resolv.conf.d/base 
nameserver 192.168.100.16

我强制更新:

$ sudo resolvconf -u

我检查它是否有效:

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.100.4
nameserver 192.168.100.3
nameserver 192.168.100.2
search openstacklocal

没有。阅读resolvconf手册页。也许更新被禁用了?

   --updates-are-enabled
          Return 0 if the flag is set, otherwise return 1.

让我们来看看:

$ resolvconf --updates-are-enabled
$ echo $?
0

然后它就启用了(对吧?0 表示启用?)。可能是之前禁用了,我也运行过sudo resolvconf --enable-updates。我将再次强制更新(尽管启用应该就足够了):

$ sudo resolvconf -u

我们再检查一下:

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.100.4
nameserver 192.168.100.3
nameserver 192.168.100.2
search openstacklocal

什么也没有!:(

为何/etc/resolv.conf沒有更新?

我的系统是:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:        16.04
Codename:       xenial

答案1

我不知道这是否是正确的答案,但我已经与该resolvconf软件包争论了很长时间,以至于这些天我干脆从我的服务器上删除它,然后重新进行手动编辑/etc/resolv.conf。无论如何,我不确定为什么它会默认安装在服务器上。据我了解,该软件包的目的是通过 DHCP 处理解析器、路由和其他动态网络设置的设置。我不会以这种方式配置服务器,所以它对我来说没用。

为了桌面系统,而在企业环境中,情况则相反。DHCP 几乎总是被使用,因此需要某种自动路由和解析器调整。无论出于什么原因,我总是发现 Ubuntu 在这方面做不到正确。不管怎样,总会出问题。有时 wifi 接口在某个文件中莫名其妙地被禁用/var/(不记得在哪里);其他时候,DHCP 设置根本就不会改变,没有路由或解析器,但你有一个可以 ping 的 IP,所以这很好(wth)。

也就是说,我对公司笔记本电脑所做的就是删除resolvconf所有遗留的残渣/var/lib/ntpdate/default.dhcp,然后按照接受的答案进行操作这里。这很无聊,但不需要花费数小时来排除故障或进行设置。希望其他人有更好的答案?

相关内容