通常,主机名是在操作系统安装期间设置的,或者在创建虚拟机时动态分配给虚拟机的。您可能需要更改主机名的原因有很多。 最常见的是在实例创建后自动设置主机名的情况。
本教程说明如何设置或更改CentOS 8主机名,且无需重新启动系统。包括说明什么是主机名,使用hostnamectl
命令查看/打印/更改当前主机名,使用nmtui
命令配置主机名,使用nmcli
命令修改主机名,使用systemctl
重启systemd-hostnamed服务以使配置生效。
先决条件
在继续本教程之前,请确保您以具有sudo权限的用户登录。
主机名
主机名是用于标识网络上设备的标签。 您不应该在同一网络上拥有相同主机名的计算机。主机名分别是以下三类。
static
主机名,即传统的主机名。 主机名存储在/etc/hostname
文件中,可以由用户设置。
pretty
主机名用于向用户展示的自由格式UTF8字符编码的主机名。 例如Myfreax's desktop
。
transient
主机名由内核维护的动态主机名。 DHCP或mDNS服务器可以在运行时更改临时的主机名。 默认情况下,它与static
主机名相同。
对于static
和transient
名称,例如host.example.com
,建议使用完全限定的域名 FQDN
。
查看当前主机名
要查看当前主机名,请执行以下hostnamectl
命令:
hostnamectl
Static hostname: localhost.localdomain Icon name: computer-vm
Chassis: vm
Machine ID: 53da4f34f214440f9df0129411a1080f
Boot ID: af2eccec1b024400bde30b025fb9efc0
Virtualization: oracle
Operating System: CentOS Stream 8
CPE OS Name: cpe:/o:centos:centos:8
Kernel: Linux 4.18.0-383.el8.x86_64
Architecture: x86-64
在此示例中,当前主机名设置为localhost.localdomain
。
使用hostnamectl命令更改主机名
在CentOS 8和其它使用systemd
作为初始化的程序的Linux发行版中。例如Ubuntu 18.04和Debian 7的更高版本。
您可以使用hostnamectl
命令更改系统主机名。 hostnamectl
命令语法如下:
sudo hostnamectl set-hostname host.example.com
例如,要将系统static
主机名更改为host.myfreax.com
,可以使用以下hostnamectl
命令:
sudo hostnamectl set-hostname host.myfreax.com
要将pretty
主机名设置为Myfeax's desktop
,请输入:
sudo hostnamectl set-hostname "Myfeax's desktop" --pretty
hostnamectl
命令不产生任何输出。 成功时返回0,否则返回非零失败代码。要验证主机名是否已成功更改,请再次运行hostnamectl
命令。
使用nmtui命令配置主机名
nmtui
是用于与NetworkManager
进行交互的工具。 它也可以用来设置或更改系统的主机名。请在终端运行nmtui
命令来启动该工具:
sudo nmtui
此时终端将会显示一个菜单选项,使用箭头键浏览选项,选择Set system hostname
,然后按Enter
。
在输入框中输入新的主机名。按Enter
确认修改主机名,如果你想放弃修改主机名,可按ESC键取消更改。
最后,使用systemctl
命令重新启动systemd-hostnamed
服务,以使更改生效:
sudo systemctl restart systemd-hostnamed
使用nmcli命令修改主机名
nmcli
是用于控制NetworkManager
的命令行工具,也可以用于更改系统的主机名。如你需要查看当前主机名,请运行以下nmcli
命令:
sudo nmcli g hostname
要将主机名更改为host.myfreax.com
,请使用以下nmcli
命令:
sudo nmcli g hostname host.myfreax.com
最后,使用systemctl
命令重新启动systemd-hostnamed
服务,以使更改生效:
sudo systemctl restart systemd-hostnamed
结论
要在CentOS系统上设置或更改主机名,请使用hostnamectl set-hostname
命令,后跟新的主机名。如有任何疑问,请随时发表评论。
还没有评论,来说两句吧...