私はいくつかのコンピュータをDebian Busterにアップグレードし、これまですべてがスムーズに行われました。実行に
apt upgrade
問題がありますが、これは修正することができ、1つのステップを実行したときに発生しないプロセスのしゃっくりです。ただし、システムは完全にアップグレードされたにもかかわらず、まだこの動作を示します。わかりました。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
Google ドメインネームサーバーを指しており、/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
。
別の点を逃したのでしょうか?
答え1
インストール中にnslookup
問題の原因がわかりました。resolv.conf
まったく解析できませんでした。元のファイルの内容を新しいファイルにコピーしましたが、すべてがうまくいきました。同じコンテンツ、同じ権限。しかし、diff
違いはありません。ファイルより 1 バイト大きいため、ファイルを破損させる見えない文字があるようです。
/etc# diff resolv.conf.odd resolv.conf.dem
1c1
< nameserver 8.8.8.8
---
> nameserver 8.8.8.8
/etc# cat resolv.conf.odd && cat resolv.conf.dem
nameserver 8.8.8.8
nameserver 8.8.8.8
/etc# ls -l resolv.conf.*|cut -d' ' -f5,9
19 resolv.conf.dem
20 resolv.conf.odd
アップデート:CASが感謝して指摘したように、これは\r
混乱を招くテールゲートであり、バスターアップデート自体とは何の関係もありません。同僚が改行不正なファイルをプッシュしました。
$ hd resolv.conf.odd
00000000 6e 61 6d 65 73 65 72 76 65 72 20 38 2e 38 2e 38 |nameserver 8.8.8|
00000010 2e 38 0d 0a |.8..|
答え2
ここに解決策がありますこの問題のバージョンは(ほぼ?)同じ症状を持っています。
簡単に言うと:
私の場合はsystemd-networkdを使用していますが、名前解決は機能しません。また、/etc/resolv.confのネームサーバーは、DHCPサーバーによって返されたネームサーバーとは異なります(アクセス可能ですが)。
これが私がしたことです:
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/stub-resolv.conf /etc/resolv.conf
sudo systemctl start systemd-resolved.service
注:systemctlコマンドが「永続」であるかどうかはわかりません。起動時にサービスを開始するには、何かを行う必要があるようです。私は比較的Linuxの経験が不足しており、上記を介して私が必要な場所に達しました。