本文介绍如何在CentOS 8版本上设置或更改主机名(Hostname)而无需重新启动系统,有三种方法,内容包括主机名初步介绍、显示当前主机名、使用hostnamectl、nmtui(图解说明)、nmcli命令来更改主机名。通常,主机名是在操作系统安装期间设置的,或者在创建虚拟机时动态分配给虚拟机的,有多种原因可能导致你需要更改主机名,最常见的是在创建实例后自动设置主机名的情况。要先声明的是:在继续本文之前,请确保你以具有sudo特权的用户身份登录。
了解主机名-主机名初步介绍
主机名是用于标识网络上设备的标签,在同一网络上,你不应有两台或更多台具有相同主机名的计算机。
主机名分为三类:static、pretty和transient。
1、static-传统主机名,它存储在/etc/hostname文件中,可由用户设置。
2、pretty-用于向用户展示的自由格式UTF8主机名。
3、transient-内核维护的动态主机名,DHCP或mDNS服务器可以在运行时更改临时主机名,默认情况下,它与静态主机名相同。
对于静态和临时名称(static和transient),例如host.example.com,建议使用完全限定的域名(FQDN)。
显示当前主机名
要查看当前主机名,请执行以下命令:
$ hostnamectl
在此示例中,当前主机名设置为centos8.localdomain。
更改主机名的三种方法
方法1:使用hostnamectl命令
在CentOS 8和所有其他使用systemd的Linux发行版中,你可以使用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
设置pretty主机名到Linuxize的桌面,请输入:
$ sudo hostnamectl set-hostname "Linuxize's desktop" --pretty
hostnamectl命令不会产生输出,成功时,返回0,否则返回非零失败代码。
要验证主机名是否已成功更改,请使用hostnamectl命令。
参考:在CentOS 7/8、Fedora 30/29/28上更改主机名(hostname)。
方法2:使用nmtui命令
nmtui是用于与NetworkManager进行交互的基于curses的工具,它也可以用来设置或更改主机名。
通过在终端中键入其名称来启动该工具:
$ sudo nmtui
使用箭头键浏览选项,选择设置系统主机名,然后按Enter:
输入新的主机名:
按Enter确认新的主机名:
最后,重新启动systemd-hostnamed服务,以使更改生效:
$ sudo systemctl restart systemd-hostnamed
方法3:使用nmcli命令
nmcli是用于控制NetworkManager的命令行工具,也可用于更改系统的主机名。
要查看当前主机名,请输入:
$ sudo nmcli g hostname
要将主机名更改为host.linuxize.com,请使用以下命令:
$ sudo nmcli g hostname host.linuxize.com
为了使更改生效,请重新启动systemd-hostnamed服务:
$ sudo systemctl restart systemd-hostnamed
知识延伸,参考:Linux上使用ifconfig、ip、netstat、nmcli命令查找可用的网络接口。
结论
以上三种是最简单的方法,哪种都可以实现在CentOS 8版本上更改主机名(Hostname)。
要在CentOS 8系统上设置或更改主机名,请使用hostnamectl set-hostname命令,后跟新的主机名。
相关主题