如何为Linux机器分配静态主机名
将静态主机名分配给Linux 机器对于网络识别和通信至关重要,尤其是在多个设备交互的环境中。主机名作为一个人类可读的标签,用于区分您在网络上的机器。与可能根据 DHCP 等配置而变化的动态主机名不同,静态主机名保持不变,确保网络和访问的可靠性。本指南将引导您完成将静态主机名分配给您的Linux 系统的过程,涵盖不同 Linux 发行版的各种方法。
什么是主机名?
主机名是用于识别网络上设备的标签。在 Linux 中,它可以是静态的或动态的,具体取决于系统配置。主机名在各种与网络相关的任务中至关重要,例如在 SSH 连接、DNS 服务和日志文件中识别机器。静态主机名在需要通过特定名称识别机器的环境中至关重要,确保访问的一致性。
检查当前主机名
在分配新主机名之前,检查当前主机名是必要的。使用以下命令显示当前主机名:

此命令提供有关您系统的静态主机名、瞬态(动态)主机名和美观主机名的详细信息。
在 Linux 中更改主机名
要分配静态主机名,具体方法取决于您使用的 Linux 发行版。我们将其分为两大类:基于 systemd 的发行版(大多数现代发行版,如 Ubuntu、CentOS 7+、Fedora)和 非 systemd 发行版(较旧或特定的发行版)。
方法 1:使用 hostnamectl 命令(对于基于 systemd 的发行版)
对于大多数使用systemd的现代 Linux 发行版,使用hostnamectl命令的过程相对简单。
- 打开终端:在您的机器上打开终端。
- 分配新主机名:要设置静态主机名,请使用以下命令:
将
替换为您机器所需的主机名。new-static-hostname - 验证更改:执行命令后,通过运行以下命令检查新主机名是否已应用:字段应反映更改。
Static hostname

- 更新 /etc/hosts 文件:设置主机名后,请确保更新 /etc/hosts 文件。此文件将 IP 地址映射到主机名。使用文本编辑器(例如 nano 或 vim)打开它:
找到引用您旧主机名的行(通常与127.0.0.1)相关),并用新主机名替换旧主机名。它应该看起来像这样:
保存文件并退出编辑器。

方法 2:手动编辑 /etc/hostname 文件(对于非 systemd 发行版)
如果您使用的是较旧的 Linux 发行版或不依赖于 systemd 的发行版,则该过程涉及手动编辑配置文件。
- 打开 /etc/hostname 文件:使用您喜欢的文本编辑器打开 /etc/hostname 文件。例如,使用 nano:
- 修改主机名:将当前主机名替换为您选择的新静态主机名。编辑后,保存文件并退出编辑器。
- 更新 /etc/hosts 文件:与基于 systemd 的方法类似,您还应该更新 /etc/hosts 文件以反映新主机名:
修改相关行以包含新主机名。例如:
- 重启或重新加载主机名:为了使更改生效,您可以重启系统或重启主机名服务:
或者,您可以使用以下命令在不重启的情况下重新加载主机名:
持久化主机名更改
在大多数情况下,您所做的主机名更改在重启后会保持不变,尤其是在使用hostnamectl或编辑/etc/hostname时。然而,在 DHCP 动态分配主机名的环境中,可能需要额外配置以防止 DHCP 覆盖您的静态主机名。
为避免这种情况,请确保您的 DHCP 客户端配置不请求或覆盖主机名。对于使用dhclient的系统,您可以通过在/etc/dhcp/dhclient.conf中添加以下内容来修改 DHCP 配置:
这确保您的机器使用指定的主机名,而不是 DHCP 服务器提供的主机名。
