本文档详细介绍了在RHEL7虚拟机上修改主机名的完整操作流程,主要涵盖两种方法:一是使用hostnamectl命令进行快速设置,二是通过编辑/etc/hostname文件进行传统配置,特别强调了修改后必须同步更新/etc/hosts文件,以确保系统服务正常运行,还包含了验证修改结果及重启系统生效的具体步骤,帮助用户顺利完成主机名变更。
在配置 Linux 虚拟机(尤其是 RHEL 7)时,修改主机名是一项基础但至关重要的操作,正确的主机名不仅有助于在日志文件中快速定位问题,还能在集群环境或网络配置中提高识别度,RHEL 7 引入了 systemd 系统,因此修改主机名的方法比旧版本更加简便和标准化。
以下是几种在 RHEL 7 虚拟机中修改主机名的常用方法,按推荐程度排序。
使用 hostnamectl 命令(最推荐)
这是 RHEL 7 及后续版本中最简单、最直接的方法。hostnamectl 是 systemd 提供的工具,它可以自动更新配置文件并立即生效。

操作步骤:
-
查看当前主机名:
hostnamectl status
-
设置永久主机名: 直接使用
set-hostname参数。sudo hostnamectl set-hostname <你的新主机名>
sudo hostnamectl set-hostname rhel7-node1 -
验证修改:
hostname
或者再次运行
hostnamectl status查看静态、转态和瞬态主机名。
优点: 自动处理 /etc/hostname 文件,无需手动编辑,且在图形化界面下也能生效。
使用 nmcli 命令(NetworkManager 方法)
RHEL 7 默认使用 NetworkManager 管理网络,如果你希望修改的主机名与网络连接配置绑定,或者你需要确保重启后网络配置正确,可以使用 nmcli。
操作步骤:
-
查看当前连接名称:
nmcli con show
你会看到类似
System eth0或System ens33的连接名称。 -
修改主机名: 使用
mod参数修改指定连接的主机名。sudo nmcli con mod "连接名称" hostname <你的新主机名>
sudo nmcli con mod "System ens33" hostname rhel7-node1 -
激活连接以应用更改:
sudo nmcli con up "连接名称"
注意: 此方法通常会将主机名写入 /etc/hosts 文件中。
手动编辑配置文件(传统方法)
虽然不推荐,但了解手动修改配置文件的方法对于排查底层问题非常有帮助,你需要修改两个关键文件:/etc/hostname 和 /etc/hosts。
操作步骤:
-
修改
/etc/hostname文件: 该文件只包含主机名本身。sudo vi /etc/hostname ```修改为你的新主机名(`rhel7-node1`),保存并退出。
-
修改
/etc/hosts文件: 该文件负责将主机名映射到 IP 地址,找到类似0.1.1的行,将其 IP 后面的主机名修改为新名称。sudo vi /etc/hosts ```可能如下: `127.0.1.1 localhost localhost.localdomain localhost4 localhost4.localdomain4` 修改为: `127.0.1.1 rhel7-node1 rhel7-node1`
-
立即生效:
hostname 新主机名
验证与重启
无论使用哪种方法,修改完成后,建议

