通常,主机名是在操作系统安装期间设置的,但是出于有很多原因,你需要去改变主机名。最常见的原因就是,当自动创建实例的时候,需要自动设置主机名。
这篇指南解释了CentOS 8如何在不重启系统的情况下,修改主机名(Hostname)。文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
相关推荐阅读:Linux(CentOS&Ubuntu)VPS 服务器设置/更改主机名文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
一、前提条件
在继续本文之前,请确保你是root账户,或者具有sudo特权的用户身份登录。而且这个方法对极少数的服务器无效,有些服务器需要到后台管理界面修改主机名。文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
二、理解主机名
一个主机名就是在网络上标记一个设备的标签名称。在同一个网络中,你不应该有两台或者更多机器拥有同样的主机名。文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
hostname
有三种类型:static, pretty, 和 transient文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
static
- 传统主机名。它存储在/etc/hostname
文件中,并且可以被用户设置pretty
- 一个自由形态的 UTF8 主机名,用来代表用户。例如:Linuxize's desktop
。transient
- 由 kernel 维护的动态主机名。 在运行过程中,DHCP 或者 mDNS 服务器可以改变 transient 主机名。默认情况下,它和 static 主机名一模一样。
我们强烈推荐使用完整域名(FQDN)来设置static
和transient
名称,例如host.example.com
。文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
三、显示当前主机名
执行下面的命令,显示当前主机名。文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
hostnamectl
在这个例子中,当前主机名被设置为centos8.localdomain
。文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
四、修改主机名
方法一、使用hostnamectl
命令
在 CentOS 8 和所有使用 systemd 的 Linux 发行版中,你可以使用hostnamectl
命令来修改系统主机名和相关的设置。语法如下:文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
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
例如,想将系统 static 主机名改成host.linuxize.com
,你将用到下面的命令:文章源自合一学院-https://unvmax.com/linux-vps%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%bf%ae%e6%94%b9%e4%b8%bb%e6%9c%ba%e5%90%8d%ef%bc%88hostname%ef%bc%89%e7%9a%84%e5%87%a0%e7%a7%8d%e6%96%b9%e6%b3%95.html
sudo hostnamectl set-hostname host.linuxize.com
想将 pretty 主机名修改成Linuxize's desktop
,输入:
sudo hostnamectl set-hostname "Linuxize's desktop" --pretty
hostnamectl
命令不会产生输出。如果成功,返回 0,否则,返回一个非零错误码。
想要验证主机名是否成功修改,使用hostnamectl
命令。
方法二、使用nmtui
命令
nmtui
是一个基于 curses 的工具,它与网络管理器交互。它也可以用来设置或者修改主机名。
启动这个工具,在终端输入它的名字:
sudo nmtui
使用方向按键移动,选择Set system hostname
,并且按’Enter'回车键:
输入新的主机名:
按Enter
回车键确认新的主机名:
最后,重启systemd-hostnamed
服务,使得修改生效:
sudo systemctl restart systemd-hostnamed
方法三、使用nmcli
命令
nmcli
是一个用来控制网络管理器的命令行工具,并且它也可以修改系统的主机名。
查看当前主机名,输入:
sudo nmcli g hostname
想要将主机名修改为host.linuxize.com
,使用下面的命令:
sudo nmcli g hostname host.linuxize.com
为了让修改生效,重启systemd-hostnamed
服务:
sudo systemctl restart systemd-hostnamed
五、结论
想要修改 CentOS 系统的主机名,使用hostnamectl set-hostname
命令加上新的主机名进行修改。