我正在使用 VirtualBox 进行测试并拥有最新的稳定版 Debian。
当我尝试使用两者设置机器的主机名时:
hostname ayil
Run Code Online (Sandbox Code Playgroud)
并编辑/etc/hostname
和运行/etc/init.d/hostname.sh start
以确保它被激活。
每当我运行hostname -f
它返回:
Unknown-08-00-27-47-ef-30.config
而不是ayil
。
我不知道还能做什么,在正确的方向上有帮助的观点将不胜感激。
粗略地说,hostname
显示你的计算机认为它叫hostname -f
什么,而显示世界认为你的计算机叫什么。更改/etc/hostname
会影响hostname
显示内容。要更改hostname -f
显示内容,您应该查看您的网络设置,特别是您的 DNS 设置。
这是hostname(1)
手册页的相关摘录:
您无法使用此命令更改 FQDN(由 hostname --fqdn 返回)或 DNS 域名(由 dnsdomainname 返回)。系统的 FQDN 是 resolver(3) 为主机名返回的名称。
从技术上讲:FQDN 是 gethostbyname(2) 为 gethostname(2) 返回的主机名返回的名称。DNS 域名是第一个点之后的部分。
因此,这取决于配置(通常在 /etc/host.conf 中)如何更改它。通常(如果在 DNS 或 NIS 之前解析主机文件)您可以在 /etc/hosts 中更改它。
根据您要使用$(hostname -f)
的内容,您应该编辑/etc/hosts
或配置在您的主机或网络上运行的 DNS 服务器以了解ayil
. 编辑/etc/hosts
是拥有hostname -f
show的最简单途径ayil
,但如果有运行的目的hostname -f
而不是hostname
,您可能希望信息与存储在本机外部的某些信息保持一致。