主机名是在 Ubuntu 操作系统安装过程中配置的,不管您使用的是 Ubuntu 18.04 DeskTop 还是 Ubuntu 18.04 Server,也无论使用的是物理机、虚拟机、VPS 或是其它云服务,主机名(Hostname ) 都将在系统启动时动态分配给该实例。下面系统极客就为大家介绍如何在不重启系统的情况下更改 Ubuntu 18.04 主机名。
虽然本文以 Ubuntu 18.04 Bionic Beaver 为例进行介绍,但操作步骤也同样适用于 Ubuntu 16.04 Xenial Xerus。
先决条件
- 请确保您具有 sudo 权限的用户身份。
- Hostname 主机名是用于标识、区分网络中计算机个体的标签,同一网络中不应出现两台(或以上)机器使用相同的主机名。
查看当前主机名
要查看当前主机名,请在「终端」中输入以下命令:
hostnamectl
从上图的输出中可以看到,当前主机名被设置为 bionic。
更改 Ubuntu 18.04 Hostname 主机名
在 Ubuntu 18.04 LTS 中,我们同样可以使用命令 hostnamectl 来更改系统主机名和相关设置。例如,要将系统静态主机名更改为 sysgeek-demo 可以在终端中执行以下命令:
sudo hostnamectl set-hostname sysgeek-demo
使用 hostnamectl 命令重置 Ubuntu 18.04 主机名时不会产生输出,成功时返回0,否则返回非 0 故障代码。
接下来,(使用 vim 或 nano 等编辑器)打开 /etc/hosts 文件并将旧的主机名更改为新的主机名。
如果您的 Ubuntu 18.04 系统安装了 Cloud-init 软件包,则还需要编辑 cloud.cfg 文件。 此软件包通常默认安装在 Microsoft Azure 或 AWS 等云服务提供的映像中,用于处理云实例的初始化。
要检查是否已安装 Cloud-init 软件包,请运行以下命令:
ls -l /etc/cloud/cloud.cfg
如果看到以下输出,则意味着该包未安装,不需要进一步操作。
ls: cannot access '/etc/cloud/cloud.cfg': No such file or directory
对于已安装 Cloud-init 软件包的系统,您需要打开 /etc/cloud/cloud.cfg 并将 preserve_hostname 值从 true 更改为 false