如何在 CentOS 8/RHEL 8 中设置与修改主机名
为什么我们需要主机名?
通常,主机名是在操作系统安装期间设置的,或者在创建虚拟机时动态分配给虚拟机的。
有多种原因可能导致您需要更改主机名。最常见的是在创建实例后自动设置主机名的情况。
理解主机名
主机名是用于标识网络上设备的标签。在同一网络上,您不应有两台或更多台具有相同主机名的计算机。
主机名分为三类:静态(static), 精致(pretty)和 瞬态(transient)。
静态(static)
- 传统的主机名形式。被存储在/etc/hostname
文件中,可以由用户设置。精致(pretty)
- 用于向用户表示的自由格式 UTF8 主机名。例如thestack.net
.瞬态(transient)
- 内核维护的动态主机名,可以在运行时由 DHCP 或 mDNS 服务器更改。默认情况下,它与静态主机名相同。
建议对静态和临时名称使用完全限定域名(FQDN)。
显示当前的主机名
执行下面的命令来显示当前的主机名
hostnamectl
在这个例子中,主机名被设置成了 myweb.thestack.net
.
更改主机名
方法一:使用 hostnamectl 命令
在 CentOS 8 和其他使用 systemd 的 Linux 发行版本中,你可以使用 hostnamectl
命令来修改系统的主机名和相关设置。例如,要修改系统的主机名为 myweb.thestack.net
,你需要运行如下命令:
hostnamectl set-hostname myweb.thestack.net
要设置精致主机名为 thestack.net
,可输入:
hostnamectl set-hostname "thestack.net" --pretty
hostnamectl 命令不产生输出。成功时,返回 0,否则返回非零故障代码。
方法二:使用 nmtui 命令
nmtui
是 NetworkManager 的文本用户界面,也可以用来修改主机名。
要启动 nmtui 程序,请运行以下命令:
nmtui
使用方向键在选项中导航,选择 Set system hostname 并按回车键:
输入新的主机名:
按回车键确认主机名更改:
最后,重新启动 systemd-hostnamed 服务,以便修改立即生效:
systemctl restart systemd-hostnamed
方法三:使用 nmcli 命令
nmcli
是一个命令行工具,用于控制 NetworkManager,也可用于修改 Linux 主机名。
要查看当前主机名,输入:
nmcli g hostname
要将主机名修改为 ‘myweb.thestack.net’ 请使用以下命令:
nmcli g hostname myweb.thestack.net`
最后,重新启动 systemd-hostnamed 服务,以便修改立刻生效:
systemctl restart systemd-hostnamed