如何在 Ubuntu 20.04 上更改主机名Hostname
主机名是在操作系统安装期间设置的,或者是在创建虚拟机时动态分配给虚拟机的。
本指南介绍了如何在 Ubuntu 20.04 上设置或更改主机名,而无需重新启动系统。
了解主机名
主机名是标识网络上设备的标签。同一网络上不应有两台或更多台具有相同主机名的计算机。
在Ubuntu中,您可以使用hostnamectl
命令编辑系统主机名和相关设置。该工具可识别三种不同类别的主机名:
static
- 传统主机名。它存储在/etc/hostname
文件中,可由用户设置。pretty
- 用于呈现给用户的描述性自由格式 UTF8 主机名。例如,Linuxize's laptop
。transient
- 由内核维护的动态主机名。 DHCP 或 mDNS 服务器可以在运行时更改临时主机名。默认情况下,它与static
主机名相同。
建议使用完全合格的域名(FQDN
) 例如host.example.com
代表static
和transient
名称。
仅 root 或具有 sudo 权限的用户 可以更改系统主机名。
显示当前主机名
要查看当前主机名,请调用不带任何参数的hostnamectl
命令:
hostnamectl
![Ubuntu 20.04 hostnamectl](https://www.jdk5.com/download/image/ubuntu-hostnamectl-hu36fe82616ee7a30d7d83513c9c51ae31-37310-768x0-resize-q75-lanczos.jpg)
在此示例中,当前主机名设置为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
例如,要将系统静态主机名更改为neptune.linuxize.com
,您可以使用以下命令:
sudo hostnamectl set-hostname neptune.linuxize.com
您还可以选择设置漂亮的主机名:
sudo hostnamectl set-hostname "Linuxize's laptop" --pretty
hostnamectl
不产生输出。成功时,返回 0,否则返回非零失败代码。
静态主机名存储在/etc/hostname
文件中,漂亮主机名存储在/etc/machine-info
文件中。
您不应该在同一网络上的两台不同计算机上使用相同的主机名。
在大多数系统上,主机名映射到/etc/hosts
中的127.0.0.1
。打开该文件并将旧主机名更改为新主机名。
127.0.0.1 localhost
127.0.0.1 neptune.linuxize.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 vim /etc/cloud/cloud.cfg
搜索
对于preserve_hostname
,并将值从false
更改为true
:
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
保存文件并关闭编辑器。
验证更改
要验证主机名是否已完全更改,请输入 hostnamectl
命令:
hostnamectl
您的新主机名将打印在终端上:
输出
Static hostname: neptune.linuxize.com
Pretty hostname: Linuxize'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 安装中轻松更改主机名,而无需重新启动计算机。
您可能需要更改主机名的原因有很多。最常见的是在创建实例时自动设置主机名。
如果您有任何疑问,请随时发表评论。