hostname -f 显示“hostname:指定的主机名无效”。猜猜为什么?

hostname -f 显示“hostname:指定的主机名无效”。猜猜为什么?

hostname -f 显示“hostname:指定的主机名无效”。/etc/hostname 中指定的主机名 (FQDN) 也在 /etc/hosts 中列出,并且可 ping 通。主机的实际 DNS 服务器尚未知道。这是报告错误的原因还是其他原因?(操作系统是 Ubuntu 10.04 Server)。

更新:在 DNS 服务器上注册主机(以便可以通过 Internet 成功解析名称)没有帮助。

答案1

Ubuntu 论坛上的这个帖子

显然,下划线对于主机名来说是非法字符。我的主机名中有一个下划线,它给了我你的失败消息。也许你得到了类似的信息。

答案2

检查以下配置:

/etc/host.conf
/etc/nsswitch.conf

host.conf 至少应包含“order hosts, bind”,nsswitch.conf 至少应包含“hosts: files dns”。可能是您遇到了问题,导致只搜索 DNS 而不搜索本地文件?

答案3

/etc/hostname 应该仅包含主机名,而不是完整的 FQDN。

答案4

/etc/hostname您可以在CLI 中或直接从 CLI编辑主机名像这样

echo "<desired_hostname>" > /etc/hostname hostname -F /etc/hostname

对于支持它的系统(例如 Ubuntu 18.04+),你也可以使用hostnamectl像这样:

hostnamectl set-hostname <desired_hostname>

然后重新启动或登录/注销,您应该会看到最新的主机名,无论是否有下划线之类的非法字符。

相关内容