如何在 Ubuntu 20.04 上更改主机名Hostname

评论 0 浏览 0 2020-06-20

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

本指南介绍了如何在 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
Ubuntu 20.04 hostnamectl

在此示例中,当前主机名设置为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。打开该文件并将旧主机名更改为新主机名。

/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,并将值从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: 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 安装中轻松更改主机名,而无需重新启动计算机。

您可能需要更改主机名的原因有很多。最常见的是在创建实例时自动设置主机名。

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

最后更新2023-11-11
0 个评论
标签