如何在Ubuntu 18.04上更改主机名
本教程将指导我们完成在Ubuntu 18.04系统上更改主机名的过程。
主机名是在安装Ubuntu操作系统时设置的,或者如果我们正在启动虚拟机,则会在启动时将其动态分配给实例。
本教程中描述的方法无需重新启动系统即可使用。
尽管本教程是针对Ubuntu 18.04编写的,但相同的说明适用于Ubuntu 16.04和任何基于Ubuntu的发行版,包括Linux Mint和Elementary OS。
准备工作
在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。
主机名是标识网络上计算机的标签。
我们不应该在同一网络中的两台不同计算机上使用相同的主机名。
显示当前主机名
要查看当前主机名,请输入以下命令:
hostnamectl
如上图所示,当前主机名设置为'ubuntu1804.localdomain'。
更改主机名
以下步骤概述了如何在Ubuntu 18.04中更改主机名。
1.使用“ hostnamectl”更改主机名。
在Ubuntu 18.04中,我们可以使用命令'hostnamectl'更改系统主机名和相关设置。
例如,要将系统静态主机名更改为'theitroad',可以使用以下命令:
sudo hostnamectl set-hostname theitroad
'hostnamectl'命令不会产生输出。
成功时,返回0,否则返回非零失败代码。
2.编辑“/etc/hosts”文件。
打开“/etc/hosts”文件,并将旧的主机名更改为新的主机名。
/etc/hosts
127.0.0.1 localhost 127.0.0.1 theitroad # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
3.编辑“ cloud.cfg”文件。
如果安装了“ cloud-init”软件包,则还需要编辑“ cloud.cfg”文件。
通常,默认情况下,此软件包通常安装在由云提供商(例如AWS)提供的镜像中,并用于处理云实例的初始化。
要检查软件包是否已安装,请运行以下“ ls”命令:
ls -l /etc/cloud/cloud.cfg
如果看到以下输出,则表示未安装该软件包,因此无需采取进一步的措施。
ls: cannot access '/etc/cloud/cloud.cfg': No such file or directory
如果安装了软件包,则输出将如下所示:
-rw-r--r-- 1 root root 3169 Apr 27 09:30 /etc/cloud/cloud.cfg
在这种情况下,我们需要打开“ /etc/cloud/cloud.cfg”文件:
sudo vim /etc/cloud/cloud.cfg
搜索“ preserve_hostname”,并将值从“ false”更改为“ true”:
/etc/cloud/cloud.cfg
# This will cause the set+update hostname module to not operate (if true) preserve_hostname: true
保存文件并关闭编辑器。
验证变更
要验证主机名是否已成功更改,请再次使用“ hostnamectl”命令:
hostnamectl
Static hostname: theitroad Icon name: computer-vm Chassis: vm Machine ID: 6f17445f53074505a008c9abd8ed64a5 Boot ID: 1c769ab73b924a188c5caeaf8c72e0f4 Virtualization: kvm Operating System: Ubuntu 18.04 LTS Kernel: Linux 4.15.0-22-generic Architecture: x86-64
我们应该在控制台上看到新的服务器名称。