如何在 CentOS 7 上更改主机名
本教程将指导您完成在 CentOS 7 系统上更改主机名的过程。
主机名是在安装 CentOS 操作系统时设置的,或者如果您正在启动虚拟机,则主机名会在启动时动态分配给实例。
本教程中描述的方法无需重新启动系统即可工作。
先决条件
在继续本教程之前,请确保您以具有 sudo 权限的用户身份登录 。
了解主机名
主机名是标识网络上计算机的标签。您不应该在同一网络上的两台不同计算机上使用相同的主机名。
hostname
分为三类:static
、pretty
和transient
。
static
- 传统主机名,可由用户设置,存储在/etc/hostname
文件中。pretty
- 用于呈现给用户的自由格式 UTF8 主机名。例如Linuxize's desktop
。transient
- 由内核维护的动态主机名,可以在运行时由 DHCP 或 mDNS 服务器更改。默认情况下,它与static
主机名相同。
建议使用完全合格的域名(FQDN
) 对于static
和transient
名称,例如host.example.com
。
显示当前主机名
要查看当前主机名,请输入以下命令:
hostnamectl
从上图中可以看到,当前主机名设置为localhost.localdomain
。
更改主机名
方法一:使用hostnamectl
命令
在CentOS 7中我们可以使用命令hostnamectl
来更改系统主机名和相关设置,语法如下:
sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient
例如我们要将系统静态主机名更改为host.linuxize.com
,我们可以使用以下命令:
sudo hostnamectl set-hostname host.linuxize.com
要将主机名设置为Linuxize's desktop
,请输入:
sudo hostnamectl set-hostname "Linuxize's desktop" --pretty
hostnamectl
命令不产生输出。成功时,返回 0,否则返回非零失败代码。
方法二:使用nmtui
命令
nmtui
是 NetworkManager 的文本用户界面,也可用于更改主机名。
要启动 nmtui
实用程序,请运行以下命令:
sudo nmtui
使用箭头键浏览选项,选择Set system hostname
并按Enter
:
设置您的新主机名:
按 Enter 键确认主机名更改:
最后,重新启动systemd-hostnamed
服务以使更改生效:
sudo systemctl restart systemd-hostnamed
方法三:使用nmcli
命令
nmcli
是一个用于控制 NetworkManager 的命令行工具,也可用于更改主机名。
查看当前主机名类型:
sudo nmcli general hostname
要将主机名更改为host.linuxize.com
,请使用以下命令:
sudo nmcli general hostname host.linuxize.com
最后,重新启动systemd-hostnamed
服务以使更改生效:
sudo systemctl restart systemd-hostnamed
验证更改
要验证主机名是否已成功更改,请使用hostnamectl
命令:
hostnamectl
您的新主机名将打印在控制台上:
输出
Static hostname: host.linuxize.com
Pretty hostname: Linuxize's desktop
Icon name: computer-vm
Chassis: vm
Machine ID: 52d6807a6ae34327871ae568f7a1387e
Boot ID: 4f747d0280d3402abed870d18b6e9a7a
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.11.6.el7.x86_64
Architecture: x86-64
结论
在本教程中,我们向您展示了 3 种不同的方法来更改 CentOS 7 服务器的主机名,而无需重新启动计算机。
如果您有任何疑问,请随时发表评论。