如何在 CentOS 或 RHEL 7 上更改主机名
问题:在 CentOS/RHEL 7 上更改主机名(永久或临时)的正确方法是什么?
在 CentOS 或 RHEL 中,定义了三种主机名:(1) 静态、(2) 瞬态和 (3) 漂亮。 静态主机名也称为内核主机名,它在启动时自动从/etc/hostname
初始化。 临时主机名是在运行时分配的临时主机名,例如由 DHCP 或 mDNS 服务器分配的主机名。静态和临时主机名都遵循与 Internet 域名相同的字符限制规则。另一方面,漂亮主机名可以有一个自由格式(包括特殊/空白字符)的主机名,呈现给最终用户(例如,Dan's Computer)。
在 CentOS/RHEL 7 或更高版本中,有一个名为 hostnamectl
的命令行实用程序,它允许您查看或修改主机名相关配置。
查看主机名相关设置:
$ hostnamectl status

要仅查看静态、瞬态或漂亮主机名,请分别使用 --static
、--transient
或 --pretty
选项。
$ hostnamectl status [--static|--transient|--pretty]
要同时更改所有三个主机名:static、transient 和 Pretty:
$ sudo hostnamectl set-hostname <host-name>

如上所示,如果是静态/瞬态主机名,任何特殊或空白字符都将被删除,并且在提供的
参数中任何大写字母将自动转换为小写字母。一旦静态主机名更改,/etc/hostname
将自动相应更新。但请注意,/etc/hosts
不会更新以反映更改,因此您需要自己手动更新 /etc/hosts
。
如果您只想更改特定主机名(静态、瞬态或漂亮),可以使用 --static
、--transient
或 --pretty
选项。
例如,要永久更改主机名,您可以更改静态主机名:
$ sudo hostnamectl --static set-hostname <host-name>
请注意,您不必重新启动计算机即可激活永久主机名更改。上述命令将立即更改内核主机名。注销,然后重新登录以在命令行提示符中查看新的静态主机名。
最后说明:红帽官方建议主机的静态名称和临时名称均与主机的 FQDN(完全限定域名)匹配(例如 myhost.linux教程)。始终首选 FQDN,以避免在任何类型的服务部署中出现主机命名混乱。因此,如果 DNS myhost.linux教程
指定主机作为其 FQDN,请使用相同的 FQDN 作为其主机名:
$ sudo hostnamectl set-hostname myhost.linux教程
要更改其他 Linux 发行版上的主机名,您还可以查看这个更通用的教程。