环境是Centos 7 主要涉及了三个文件
/etc/hosts
/etc/hostname
/etc/sysconfig/network
是这样的,最初的主机名是localhost.localdomain (与/etc/hostname里一致)。此时/etc/hosts里没有任何改动。
然后我修改了/etc/hosts 添加一行 “本机IP aaa” 重启过后 发现主机名变成了 aaa ,并且/etc/hostname 里没有变化
到这里我有个疑问(1)它是根据什么改变的主机名? 是通过分析hosts里这个IP就是本地IP,然后才将该IP所对应的映射名用作主机名的吗?
然后我将/etc/hostname 里的localhost.localdomain改成了bbb,重启发现 主机名变成bbb,然后我继续修改/etc/hosts文件。修改之前添加的一行
“本机IP aaa” 变为 “本机IP ccc” 但是我重启后发现 主机名还是bbb 。 此时我发现/etc/hosts已经没法改主机名了。(2)为什么之前/etc/hostname
里面是localhost.localdomain就可以生效呢?
最后我修改/etc/sysconfig/network 添加 hostname=ddd 但是我重启后发现主机名还是依据/etc/hostname (3)那么在Centos7下这个/etc/sysconfig/network
是不是没有了修改主机名的作用了?
(5)除了使用命令 hostname zzz 使主机名当时即可生效,还有没有其他方式类似于source 的方式通过读取参数文件使它立马生效的。
问题有点多,感谢大佬的帮助