dmesg
显示线
systemd-hostnamed[3964]: Warning: nss-myhostname is not installed.
Changing the local hostname might make it unresolveable. Please install nss-myhostname!
但
sudo apt-get install nss-myhostname
说
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket nss-myhostname kann nicht gefunden werden.
...意思是“未找到 nss-myhostname”。
为什么?我必须对 dmesg 消息做出反应吗?
答案1
有一个已确认错误针对 systemd-hostname 的说法进行记录;
由于 nss-myhostname 被拒绝作为正确的方法https://bugs.launchpad.net/ubuntu/+source/libnss-myhostname/+bug/1162478/comments/6,我们不应该在 LTS 版本中打印警告消息,即使 hostnamed 当前没有修改 /etc/hosts。
我们能否修复这个警告,以防止用户认为他们的系统出了问题并导致他们安装 libnss-myhostname?
即使它可以避免警告,但您可能不想仅仅为了这个目的安装 libnss-myhostname。
任何看到消息的人
systemd-hostnamed
[16495]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
必须读这个 https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1277608 这 https://bugs.launchpad.net/ubuntu/+source/libnss-myhostname/+bug/1162478/comments/6在安装 nss-myhostname 包之前。
答案2
从这里:
nss-myhostname 是 GNU C 库 (glibc) 的 GNU 名称服务切换 (NSS) 功能的一个插件,它为 gethostname(2) 返回的本地配置的系统主机名提供主机名解析。有两种可能的解决方案:
您可能没有(或错误地)在 中配置主机名
/etc/hosts
。更正该问题可能会解决此问题。另一种方法,正如警告所建议的,是安装 nss-myhostname,在 debian 中称为
libnss-myhostname
。这只是一种解决方法,而不是相关错误的建议解决方案。使用以下命令安装:sudo apt-get install libnss-myhostname
答案3
我怀疑您是否想安装这些库。鉴于这只不过是一种麻烦,您可以简单地静音该消息。
创建一个新的配置文件/etc/rsyslog.d/
并告知要删除的消息:
$ sudo nano /etc/rsyslog.d/20-systemd-hostnamed.conf
添加以下一行:
:msg, contains, "Warning: nss-myhostname is not installed." stop
保存并关闭,然后重新启动守护进程:
$ sudo service rsyslog restart
大功告成。您可以通过故意向以下对象发送垃圾邮件来确保邮件被丢弃syslog
:
$ logger -t TEST "Warning: nss-myhostname is not installed."
这条消息应该被悄悄地丢弃。
答案4
我遇到了同样的问题。
无论如何,这都不是一个长期的解决方案 - 但适合我 - 是删除 /etc/hosts/ 中附加到我的本地主机的旧主机名,因为这些主机名不再使用。
此消息不再可用。