如何在Ubuntu 20.04上更改主机名

主机名是在操作系统安装期间设置的,或者在创建虚拟机时动态分配给虚拟机。

本指南说明了如何在Ubuntu 20.04上设置或更改主机名,而无需重新启动系统。

了解主机名

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

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

  • static -传统主机名。 它存储在 /etc/hostname 文件,可以由用户设置。
  • pretty -用于向用户展示的描述性自由格式UTF8主机名。 例如, Linuxize's laptop
  • transient -由内核维护的动态主机名。 DHCP或mDNS服务器可以在运行时更改临时主机名。 默认情况下,它与 static 主机名。

建议使用标准域名(FQDN ) 如 host.example.com 对彼此而言 statictransient 名称。

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

显示当前主机名

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

hostnamectl

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

更改系统主机名

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

sudo hostnamectl set-hostname host.example.comsudo hostnamectl set-hostname "Your Pretty HostName" --prettysudo hostnamectl set-hostname host.example.com --staticsudo 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 文件。

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

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

/ etc / hosts

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,然后更改 falsetrue

/etc/cloud/cloud.cfg

# 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安装中轻松更改主机名而不重启机器。

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

如有任何疑问,请随时发表评论。

ubuntu主机名

Sidebar