我将几台机器升级到 Debian Buster,到目前为止一切顺利——尽管apt upgrade
在apt full-upgrade
我遇到
Temporary failure in name resolution
. 这是可以修复的,并且只是过程中的一个问题,并且在执行一步时没有发生apt dist-upgrade
。然而,尽管已完全升级,一台机器仍显示此行为。我明白了
~# LANG=C ping google.com
ping: google.com: Temporary failure in name resolution
当我将 google.com 添加到/etc/hosts
一切都很好。我的/etc/nsswitch
样子
~# cat /etc/nsswitch.conf
passwd: files systemd
group: files systemd
shadow: files
gshadow: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
我/etc/resolv.conf
目前对谷歌名称服务器的看法,并且该服务器是可ping通的
~# cat /etc/resolv.conf
nameserver 8.8.8.8
~# ping -c1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=53 time=22.8 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 22.800/22.800/22.800/0.000 ms
systemd-resolved
如果我/etc/nsswitch
正确解释我的内容,它是不活动的,应该不是问题。
还有一点我错过了吗?
安装
nslookup
指出了问题的根源:resolv.conf
根本无法解析。我将原始文件中的内容复制到一个新文件中,一切正常。相同的内容,相同的权限。但是diff
在没有的地方显示出差异。显然有一些不可见的字符破坏了文件,因为它大了 1 个字节更新:正如 cas 所幸指出的那样,这是
\r
导致混乱的尾随,与 Buster 更新本身无关。一位同事用错误的换行符推送了文件