如何在 Debian 10 Linux 上更改主机名

本教程介绍如何在不重新启动系统的情况下更改 Debian 10 Buster 上的主机名。

主机名是在安装 Debian 操作系统时设置的,或者如果您正在启动虚拟机,则会在启动时将其动态分配给实例。

先决条件

为了能够更改系统主机名,您需要以 root   用户或具有 sudo 权限的用户身份登录。

显示当前主机名

在 Debian 10 和所有其他 Linux 发行版中,您可以使用 systemd 中的 hostnamectl 工具更改并显示给定系统的主机名。

要查看当前系统主机名,请键入 hostnamectl 不带任何选项:

hostnamectl

输出将显示当前系统主机名,在此示例中为 host.buzheng.org

   Static hostname: host.buzheng.org
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 70a3f06298014fd9ac42e5dc1de1034a
           Boot ID: 1dc8b9af89a4426b99cb348f6d483757
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-5-amd64
      Architecture: x86-64

更改系统主机名

主机名是标识网络上的计算机的标签。您不应在同一网络上的两台不同计算机上设置相同的主机名。建议使用完全限定的域名 (FQDN) 作为系统主机名。

在 Debian 10 上更改系统主机名时涉及两个步骤。首先,使用 hostnamectl set-hostname 命令后跟所需的主机名设置新主机名,然后使用新主机名更新文件 /etc/hosts

例如,要将系统主机名更改为 arya.example.com ,您将执行以下步骤:

  1. 首先运行以下命令设置新主机名:

    sudo hostnamectl set-hostname arya.example.com
    

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

  2. 其次,打开 /etc/hosts 文件并用新的主机名替换旧的主机名。

    /etc/hosts 文件

    127.0.0.1   localhost
    127.0.0.1   arya.example.com arya
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    

验证更改

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

hostnamectl

新系统主机名将打印在命令行上。

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

结论

在 Debian 10 Buster 上更改系统主机名是一项简单的任务,只需要两个简单的步骤。