本教程介绍如何在 Debian 10 Buster 上更改主机名而无需重启系统。
主机名是在安装 Debian 操作系统时设置的,或者如果您正在启动虚拟机,则会在启动时动态分配给实例。
先决条件
要能够更改系统主机名,您需要以 root 用户或具有 sudo 权限的用户身份登录。
显示当前主机名
在 Debian 10 以及所有其他使用 systemd 的 Linux 发行版中,您可以使用 hostnamectl 工具更改和显示给定系统的主机名。
要查看当前系统主机名,请输入不带任何选项的 hostnamectl:
终端
hostnamectl输出将显示当前系统主机名,在本例中为 host.linuxize.com。
输出
Static hostname: host.linuxize.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更改系统主机名
主机名是标识网络上计算机的标签。您不应在同一网络上的两台不同计算机上设置相同的主机名。建议使用完全限定域名 (FQDN) 作为系统主机名。
在 Debian 10 上更改系统主机名涉及两个步骤。首先,使用 hostnamectl set-hostname 命令设置新主机名,然后使用新主机名更新 /etc/hosts 文件。
例如,要将系统主机名更改为 arya.example.com,您将执行以下步骤:
首先通过运行以下命令设置新主机名:
终端sudo hostnamectl set-hostname arya.example.comhostnamectl命令不产生输出。成功时返回 0,否则返回非零失败代码。其次,打开
/etc/hoststxt/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