A mesma coisa aconteceu comigo hoje. Eu verifiquei / checksummed que o arquivo / usr / bin / hostname não mudou recentemente.
Eu usei a saída de strace para arquivos abertos (excluindo "No Such Files" em arquivos de $ PATH):
$ strace hostname -i |& grep open | grep -v "No such file"
open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libnss_mymachines.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libnss_resolve.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = 4
A inspeção e comparação um por um com os backups incrementais dos últimos dias mostrou que o /etc/nsswitch.conf mudou de sua versão anterior em 30 de setembro de 2015 em 10 de dezembro de 2016.
Um diff lado-a-lado mostra as diferenças (lado esquerdo anterior e restaurado, lado direito mais recente e backup):
$ diff -y /etc/nsswitch.conf /etc/nsswitch.conf.bck | grep \|
passwd: files | passwd: compat mymachines systemd
group: files | group: compat mymachines systemd
shadow: files | shadow: compat
hosts: files dns myhostname | hosts: files mymachines resolve [!UNAVAIL=return] dns myhostn
Restaurar o /etc/nsswitch.conf anterior resolve o problema e "hostname -i" retorna os IPs dados pelas interfaces como de costume. Você deve fazer o backup da última, apenas no caso.
Atualização: Após o bug que eu arquivei ( link ), o mantenedor do pacote systemd Dave Reisner apontou que o problema só ocorre quando o sistema resolvido daemon não funciona. Eu verifiquei e está correto. Para que o novo /etc/nsswitch.conf funcione:
systemctl enable systemd-resolved
é necessário.
De acordo com a saída "top", isso adiciona um tamanho de residência de cerca de 4m. Alternativamente, pode-se continuar com a linha anterior sem o systemd-resolvido.