主机名是在操作系统的安装过程中设置的,或者在创建虚拟机时动态分配给虚拟机的。本指南说明了如何在Ubuntu 20.04上设置或更改主机名,而无需重新启动系统。
主机名(hostname)是在操作系统的安装过程中设置的,或者在创建虚拟机时动态分配给虚拟机的。
本操作介绍如何在Ubuntu 20.04上设置或更改主机名(hostname),而无需重新启动系统。
了解主机名(hostname)
主机名(hostname)是标识网络上设备的标签。同一网络上不应有两台或更多台具有相同主机名(hostname)的计算机。
在Ubuntu中,您可以使用以下hostnamectl
命令编辑系统主机名(hostname)和相关设置。该工具可识别三种不同的主机名(hostname)类别:
static
-传统主机名(hostname)。它存储在/etc/hostname
文件中,可以由用户设置。pretty
-用于向用户展示的描述性自由格式UTF8主机名(hostname)。例如,Linuxize's laptop
。transient
-由内核维护的动态主机名(hostname)。DHCP或mDNS服务器可以在运行时更改临时主机名(hostname)。默认情况下,它与static
主机名(hostname)相同。
建议使用完全合格的域名(FQDN
),如host.example.com
两个static
和transient
名称。
只有root或具有sudo特权的用户才能更改系统主机名(hostname)。
显示当前主机名(hostname)
要查看当前主机名(hostname),请在hostnamectl
不使用任何参数的情况下调用命令:
hostnamectl

在此示例中,当前主机名(hostname)设置为STP
。
更改系统主机名(hostname)
更改系统主机名(hostname)是一个简单的过程。语法如下:
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
例如,要将系统静态主机名(hostname)更改为kbssj.com
,可以使用以下命令:
sudo hostnamectl set-hostname kbssj.com
您也可以选择设置漂亮的主机名(hostname):
sudo hostnamectl set-hostname "kbssj" --pretty
hostnamectl
不产生输出。成功时,返回0,否则返回非零失败代码。
静态主机名(hostname)存储在中/etc/hostname
,漂亮主机名(hostname)存储在/etc/machine-info
file中。
您不应该在同一网络中的两台不同计算机上使用相同的主机名(hostname)。
在大多数系统上,主机名(hostname)映射到127.0.0.1
中/etc/hosts
。打开文件,将旧的主机名(hostname)更改为新的主机名(hostname)。
127.0.0.1 localhost
127.0.0.1 kbssj.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
如果在云实例上运行Ubuntu,并且cloud-init
已安装软件包,则还需要编辑该/etc/cloud/cloud.cfg
文件。通常,该软件包通常默认安装在云提供商提供的映像中,并且用于处理云实例的初始化。
如果系统上存在该文件,请打开它:
sudo nano /etc/cloud/cloud.cfg
搜索preserve_hostname
,并将值从更改false
为true
:
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
保存文件并关闭编辑器。
验证更改
要验证主机名(hostname)是否已完全更改,请输入以下hostnamectl
命令:
hostnamectl
您的新主机名(hostname)将显示在终端上:
[email protected]:/root# hostnamectl
Static hostname: STP
Icon name: computer-vm
Chassis: vm
Machine ID: 20200914172502291423539425701795
Boot ID: 096e66016ff34555aeb3d60db28e786f
Virtualization: kvm
Operating System: Ubuntu 20.04.1 LTS
Kernel: Linux 5.4.0-47-generic
Architecture: x86-64
[email protected]:/root#
结论
我们已向您展示了如何在Ubuntu 20.04安装上轻松更改主机名(hostname)而不重启机器。
有多种原因可能导致您需要更改主机名(hostname)。最常见的是在创建实例后自动设置主机名(hostname)的情况。
参考内容:
No Comments