如何在 Linux 中设置或更改主机名

默认情况下,系统主机名在安装过程中设置,或者如果要创建虚拟机,则会在启动时将其动态分配给实例,但有时需要更改它。

本教程将引导您完成在 Linux 中更改主机名的过程,而无需重新启动系统。本教程中方法适用于任何使用 systemd 的现代 Linux 发行版。

什么是主机名

主机名是分配给机器的标签,用于标识网络上的计算机。网络中的每个设备都应具有唯一的主机名。

主机名可以是包含字母数字字符,点和连字符的简单字符串。如果计算机已连接到 Internet(例如 Web 或邮件服务器),建议使用完全限定的域名 (FQDN) 作为系统主机名。该 FQDN 由两个部分组成,主机名和域名。

显示当前主机名

在使用 systemd 的 Linux 系统上,该 hostnamectl 命令可用于查询和更改给定计算机上的主机名和相关设置。

要查看当前主机名,请调用 hostnamectl 不带任何参数的命令:

hostnamectl

系统主机名在下图中突出显示:

更改主机名

要更改主机名,请使用 hostnamectlset-hostname 参数后跟新主机名。只有 root 用户或具有 sudo 权限的用户才能更改系统主机名。

例如,要将系统主机名更改为 mail.buzheng.com ,您将使用以下命令:

sudo hostnamectl set-hostname mail.buzheng.com

hostnamectl 命令不产生输出。成功后,返回 0 ,否则为非零故障代码。

最后,要验证主机名是否已成功更改,请再次使用 hostnamectl 命令:

hostnamectl

新的系统主机名和一些其他系统信息(如内核版本) 将显示在终端上。

   Static hostname: mail.linuxize.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 70a3f06298014fd9ac42e5dc1de1034a
           Boot ID: 6d45a1a8d436418e97519da01ea61c1b
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-5-amd64
      Architecture: x86-64

结论

在本教程中,我们向您展示了如何更改 Linux 系统的主机名。根据您的 Linux 发行版和虚拟化类型,可能需要执行其他步骤才能完成此过程。

有关特定于发行版的说明,请查看以下文章: