hostname -f 显示“hostname:指定的主机名无效”。/etc/hostname 中指定的主机名 (FQDN) 也在 /etc/hosts 中列出,并且可 ping 通。主机的实际 DNS 服务器尚未知道。这是报告错误的原因还是其他原因?(操作系统是 Ubuntu 10.04 Server)。
更新:在 DNS 服务器上注册主机(以便可以通过 Internet 成功解析名称)没有帮助。
答案1
显然,下划线对于主机名来说是非法字符。我的主机名中有一个下划线,它给了我你的失败消息。也许你得到了类似的信息。
答案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>
然后重新启动或登录/注销,您应该会看到最新的主机名,无论是否有下划线之类的非法字符。