То же самое случилось со мной сегодня. Я проверил / проверил, что файл / usr / bin / hostname в последнее время не изменился.
Я получил вывод данных strace для открытых файлов (исключая "No Such Files" в альтернативных $ 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
Индивидуальная проверка и сравнение с добавочными резервными копиями за последние несколько дней показали, что /etc/nsswitch.conf изменился по сравнению с предыдущей версией по состоянию на 30 сентября 2015 г., 10 декабря 2016 г.
Дифференциальный анализ показывает различия (левая сторона предыдущая и восстановленная, правая сторона последняя и резервная копия):
$ 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
Восстановление предыдущего /etc/nsswitch.conf решает проблему, и «hostname -i» возвращает IP-адреса, данные интерфейсами, как обычно. Вы должны сделать резервную копию последней на всякий случай.
Обновление: после сообщения об ошибке (https://bugs.archlinux.org/task/52133), сопровождающий пакета systemd Дейв Рейснер отметил, что проблема возникает только в том случае, если демон, разрешенный системой, не работает. Я проверил и это правильно. Чтобы новый /etc/nsswitch.conf работал:
systemctl enable systemd-resolved
нужно.
Согласно "верхнему" выводу это добавляет резидентный размер около 4м. Кроме того, можно перейти к предыдущей строке без systemd-resolved.