我在 debian 11 下使用 resolvconf 包遇到了一个奇怪的问题。
无论我输入哪种配置,由 resolvconf 服务创建的 /etc/resolv.conf 文件都有点损坏。
挖掘 说:
dig: parse of /etc/resolv.conf failed
如果我使用像 nano 这样的编辑器仅添加一个空格或换行符,甚至不添加任何内容,例如将文件从 nano 覆盖到 /etc/resolv.conf dig 会再次返回读取该文件,那么能够执行以下操作的操作系统也是如此dns 查找否则不会。
对我来说语法没问题,实际内容是:
# 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 127.0.0.1
nameserver 127.0.2.1
我在机器上有一个配置好的绑定服务器,可以正常工作,并且实际配置可以工作,但只有当我从 Nano 读取它并将其重新保存到位时。
关于文件本身,我认为可能是 resolvconf 守护进程和 nano 所做的事情之间的权限差异。
这是在纳米编辑之前:
lrwxrwxrwx 1 root root 29 Apr 10 19:24 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
这是纳米编辑后的:
lrwxrwxrwx 1 root root 29 Apr 10 19:24 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
我还把第一个做了个cp,换了,原来的不行,新的可以。
比较的文件是相同的...
我不知道发生了什么:(
答案1
我目视比较了这些文件,没有发现任何不同。然而,除了一点之外,权限错误@AB 建议我,我还发现我的头文件中有一行 with\r\n
而不是。\n
使用 nano 编辑和保存文件会自动修复换行错误,但使用该diff
工具一切都更加清晰。
不要相信视觉比较的使用差异! :D