云网牛站
所在位置:首页 > 初入Linux圈 > 在Ubuntu 20.04上用hostnamectl命令设置或更改主机名(Hostname)

在Ubuntu 20.04上用hostnamectl命令设置或更改主机名(Hostname)

2020-06-20 10:10:06作者:李哲稿源:云网牛站

本文介绍在Ubuntu 20.04系统上使用hostnamectl命令设置或更改主机名(Hostname),而无需重新启动系统的方法,内容有:了解主机名、显示当前主机名、更改系统主机名、验证更改。同时主机名是在操作系统的安装过程中设置的,或者在创建虚拟机时动态分配给虚拟机的,所以应提前掌握这方面的知识。

在Ubuntu 20.04上用hostnamectl命令设置或更改主机名(Hostname)

 

了解主机名

主机名是标识网络上设备的标签,在同一网络上,您不应有两台或两台以上具有相同主机名的计算机。

在Ubuntu 20.04中,您可以使用hostnamectl命令编辑系统主机名和相关设置,该工具可识别三种不同的主机名类别:

static-传统主机名,它存储在/etc/hostname文件中,可以由用户设置。

pretty-用于向用户展示的描述性自由格式UTF8主机名,例如,Ywnz's laptop。

transient-内核维护的动态主机名,DHCP或mDNS服务器可以在运行时更改临时主机名,默认情况下,它与static主机名相同。

对于static和transient名称,建议使用完全限定的域名(FQDN),例如host.example.com。

只有root或具有sudo特权的用户才能更改系统主机名。

 

显示当前主机名

要查看当前主机名,请调用不带任何参数的hostnamectl命令:

hostnamectl

在Ubuntu 20.04上用hostnamectl命令设置或更改主机名(Hostname)

在此示例中,当前主机名设置为ubuntu2004.localdomain。

 

更改系统主机名

更改系统主机名是一个简单的过程,语法如下:

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

例如,要将系统静态主机名更改为ywnz.com,可以使用以下命令:

sudo hostnamectl set-hostname ywnz.com

您也可以选择设置自定义的主机名:

sudo hostnamectl set-hostname "Ywnz's laptop" --pretty

hostnamectl不产生输出,成功时,返回0,否则返回非零失败代码。

静态主机名存储在/etc/hostname中,自定义主机名存储在/etc/machine-info文件中。

您不应在同一网络上的两台不同计算机上使用相同的主机名。

在大多数系统上,主机名映射到/etc/hosts中的127.0.0.1,打开文件,将旧的主机名更改为新的主机名,在/etc/hosts文件中:

127.0.0.1   localhost

127.0.0.1   ywnz.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 20.04并安装了cloud-init软件包,则还需要编辑/etc/cloud/cloud.cfg文件,通常,该软件包通常默认安装在云提供商提供的映像中,并且用于处理云实例的初始化。

如果系统上存在该文件,请打开它:

sudo nano /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: ywnz.com

Pretty hostname: Ywnz's desktop

Icon name: computer-vm

Chassis: vm

Machine ID: a04e3543f3da460294926b7c41e87a0d

Boot ID: aa31b274703440dfb622ef2bd84c52cb

Virtualization: oracle

Operating System: Ubuntu 20.04 LTS

Kernel: Linux 5.4.0-26-generic

Architecture: x86-64

 

结论

我们已向您展示了如何在Ubuntu 20.04系统上轻松更改主机名而不重启机器的方法。

有多种原因可能导致您需要更改主机名,最常见的是在创建实例后需设置主机名的情况。

 

相关主题

在Ubuntu/Debian/Arch Linux/Fedora/OpenSUSE下更改主机名的方法

子频道
精选文章
热门文章