Acontece que minha etc/nsswitch.conf está faltando (não sei por que).
Corrigido este problema com echo 'hosts:files dns' | sudo tee /etc/nsswitch.conf , mas talvez a melhor opção seja obter o arquivo nsswitch.conf padrão.
Eu observei esse comportamento desde há cerca de uma semana, e não acho que tenha alterado nenhuma configuração relacionada.
O problema é que, quando executo ping localhost , recebo o seguinte erro:
ping: unknown host localhost
O mesmo também acontece quando eu ping pelo nome de host da minha máquina. Isso também causou outro problema: sempre que executo comandos com sudo , recebo sudo: unable to resolve host [myhostname] .
Mais tarde, dei uma olhada no meu /etc/resolvconf/resolv.conf.d/head . Anteriormente (há muito tempo atrás), adicionei uma linha nameserver 8.8.8.8 nela. Depois de comentar essa linha, ping funciona corretamente como esperado.
Observe também que esse comportamento ocorre somente quando conectado à Internet por meio de Wi-Fi. Eu não tenho a chance de testar a conexão através de Ethernet embora. Mas se eu estiver desconectado, tudo funcionará normalmente.
Qual é a causa disso, e como posso evitar esse comportamento e manter 8.8.8.8 como meu servidor de nomes?
Acontece que minha etc/nsswitch.conf está faltando (não sei por que).
Corrigido este problema com echo 'hosts:files dns' | sudo tee /etc/nsswitch.conf , mas talvez a melhor opção seja obter o arquivo nsswitch.conf padrão.