当前位置: 首页>>技术教程>>正文


什么是nss-myhostname?为什么它不可安装?

, , ,

问题描述

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消息做出反应?

最佳解决思路

有一个针对systemd-hostnamed记录的confirmed bug说;

Since nss-myhostname was rejected as being the right approach in https://bugs.launchpad.net/ubuntu/+source/libnss-myhostname/+bug/1162478/comments/6 , we should not print the warning message in the LTS release, even if hostnamed doesn’t currently modify /etc/hosts.

Can we please patch this warning out to prevent users from thinking something is wrong on their system and leading them to install 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!

在安装nss-myhostname软件包之前,必须先阅读此https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1277608https://bugs.launchpad.net/ubuntu/+source/libnss-myhostname/+bug/1162478/comments/6

次佳解决思路

来自here

nss-myhostname is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing hostname resolution for the locally configured system hostname as returned by gethostname(2) There are two possible solutions:

  • 您可能没有(或不完整地)在/etc/hosts中配置主机名。纠正可以解决这个问题。

  • 另一种方法,如警告所示,安装nss-myhostname,在debian中称为libnss-myhostname。这只是一种解决方法,而不是相关错误的建议解决方案。安装使用:

    sudo apt-get install libnss-myhostname
    

资料来源:13.04 dmesg: Warning: nss-myhostname is not installed

第三种解决思路

我怀疑你会想要安装这些库。看来它只不过是一种麻烦,你可以简单地使信息沉默。

/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."

应该以静默方式删除该消息。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1695.html,未经允许,请勿转载。