在 CentOS 7 上更改主机名的这两种方法有什么区别?我想使用 FQDN 设置这个 centOS。
第一种方法是vi /etc/sysconfig/network
和vi /etc/hosts
文件。但这种方法不知何故不起作用,在我更改了这两个位置的主机名后,重新启动,运行hostname
它仍然显示主机名为“localhost”
研究之后的第二种方法是使用hostnamectl set-hostname
或hostname set-hostname xxx.xxx --static
命令。
如果使用第二种方式来更改主机名,它会修改哪个文件?
答案1
在旧版本的 CentOS 上,您可以通过设置以下内容来设置系统静态主机名/etc/sysconfig/network
:
HOSTNAME=myhost.example.com
这将由系统启动脚本处理并在启动时设置内核的主机名。
在 CentOS 7 以及任何基于 systemd 的系统中,这种情况不再存在。在此类系统上,静态主机名存储在 中/etc/hostname
,并使用 进行设置hostnamectl
。
虽然可以简单地输入主机名/etc/hostname
,但运行hostnamectl set-hostname
将使其立即生效,而无需重新启动。
(并且,从来都不可能通过更改来设置主机名/etc/hosts
。如果 DNS 不可用或不需要,此文件只会覆盖名称解析。)
答案2
两个命令
sudo hostname --boot some.hostname.example
和
sudo hostnamectl set-hostname some.hostname.example
在文件中设置主机名/etc/hostname