我安装了 CentOS 7,当我查找本地计算机的主机名时,它给了我一些奇怪的返回结果。我习惯使用 Windows 和主机文件(CentOS 中的 /etc/hosts),所以感觉我的设置是正确的。当我为测试部署场景运行一组虚拟机时,我在主机文件中确实有一些条目 - 因此在其中定义了额外的名称。部署 (3) 中的所有计算机都具有相同的设置,并且返回基本相同的数据。
admin@node2$ hostname
node2.deployment.local
admin@node2$ hostname -f
chef-node2
admin@node2$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.99 node1 node1.deployment.local
192.168.5.100 master master.deployment.local
192.168.5.98 node2 node2.deployment.local
admin@node2$ printenv | grep -i -e "hostname"
HOSTNAME=node2.deployment.local
admin@node2$ cat /etc/environment
http_proxy=http://stupidproxy.itsaywehavetohaveit.local:3128
https_proxy=http://stupidproxy.itsaywehavetohaveit.local:3128
java_home=/applications/jre1.8.0_92/
DISPLAY=127.0.0.1:0.0
我想弄清楚为什么系统在运行“hostname -f”命令时打印 netbios 名称,并在运行“hostname”命令时打印 FQDN。我相信这给我带来了一些问题。
感谢您帮助理解并希望解决这个问题。
答案1
根据man hostname
:
-f, --fqdn, --long
DNS host name or FQDN
因此hostname -f
返回由反向 DNS 查找生成的主机名。hostname
不带任何参数只返回 中的内容/etc/hostname
。
答案2
交换 /etc/hosts 中的主机,格式应该先长后短。
好的:
176.31.91.220 www.mikejonesey.co.uk mike
坏的:
176.31.91.220 mike www.mikejonesey.co.uk
主机名将解决这个问题,我在 epel 系统上也倾向于将 /etc/sysconfig/network 中的域更改为主机名,然后添加域的额外定义。