如何在 CentOS 8 上更改主机名

通常,主机名是在操作系统安装期间设置的,或者在创建虚拟机时动态分配给虚拟机的。但是有多种原因可能导致您需要更改主机名。最常见的是在创建实例后自动设置主机名的情况。

本指南解释了如何在 CentOS 8 上设置或更改主机名而无需重新启动系统。

先决条件

在继续本教程之前,请确保您以具有 sudo 特权的用户身份登录。

了解主机名

主机名是用于标识网络上设备的标签。在同一网络上,您不应有两台或更多具有相同主机名的计算机。

有三类 hostnamestaticpretty ,和 transient

  • static - 传统主机名。它存储在 /etc/hostname 文件中,可以由用户设置。
  • pretty - 用于向用户展示的自由格式 UTF8 主机名。例如, Your desktop
  • transient - 由内核维护的动态主机名。 DHCP 或 mDNS 服务器可以在运行时更改临时主机名。默认情况下,它与 static 主机名相同。

显示当前主机名

要查看当前主机名,请执行以下命令:

hostnamectl

在此示例中,当前主机名设置为 centos8.localdomain

更改主机名

方法1:使用 hostnamectl 命令

在 CentOS 8 和所有其他使用 systemd 的 Linux 发行版中,您可以使用以下 hostnamectl 命令更改系统主机名和相关设置。语法如下:

sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient

例如,要将系统静态主机名更改为 host.buzheng.org ,可以使用以下命令:

sudo hostnamectl set-hostname host.buzheng.org

要将 pretty 主机名设置为 Your desktop ,请输入:

sudo hostnamectl set-hostname "Your desktop" --pretty

hostnamectl 命令不产生输出。成功时,返回 0,否则返回非零失败代码。

要验证主机名是否已成功更改,请使用 hostnamectl 命令。

方法2:使用 nmtui 命令

nmtui 基于 curses, 是用于与 NetworkManager 进行交互的工具。它也可以用来设置或更改主机名。

通过在终端中键入其名称来启动该工具:

sudo nmtui

使用方向键浏览选项,选择 Set system hostname 并按 Enter

输入新的主机名:

按下 Enter 以确认新的主机名:

最后,重新启动 systemd-hostnamed 服务以使更改生效:

sudo systemctl restart systemd-hostnamed

方法3:使用 nmcli 命令

nmcli  是用于控制 NetworkManager 的命令行工具,也可用于更改系统的主机名。

要查看当前主机名,请输入:

sudo nmcli g hostname

要更改主机名为 host.buzheng.org,使用以下命令:

sudo nmcli g hostname host.buzheng.org

为了使更改生效,请重新启动 systemd-hostnamed 服务:

sudo systemctl restart systemd-hostnamed

结论

要在 CentOS 系统上设置或更改主机名,请使用 hostnamectl set-hostname 命令,后跟新的主机名。