myfreax

如何在Ubuntu 20.04设置主机名

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

3 min read
By myfreax
如何在Ubuntu 20.04设置主机名
如何在Ubuntu 20.04设置主机名

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

您可能需要更改主机名的原因有很多。最常见的是在实例创建后自动设置主机名的情况。在继续本教程之前,请确保您以具有sudo权限的用户登录。

主机名是用于标识网络设备的标签。您不应该在同一网络上拥有相同主机名的计算机。主机名分别是以下三类。

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

pretty主机名用于向用户展示的主机名。 例如Myfreax's desktop

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

对于statictransient名称,例如host.example.com,建议使用完全限定的域名 FQDN。

查看当前主机名

要查看当前主机名,请运行hostnamectl命令。在此示例中,当前主机名设置为localhost.localdomain

hostnamectl
   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 53da4f34f214440f9df0129411a1080f
           Boot ID: af2eccec1b024400bde30b025fb9efc0
    Virtualization: oracle
  Operating System: Ubuntu 20.04
       CPE OS Name: cpe:/o:ubuntu
            Kernel: Linux 4.18.0-383.el8.x86_64
      Architecture: x86-64

hostnamectl更改主机名

在Ubuntu和其它使用systemd作为初始化的程序的Linux发行版中。例如CentOS和Fedora/RedHat的更高版本。

您可以使用hostnamectl命令更改系统主机名。这是hostnamectl命令的语法sudo hostnamectl set-hostname host.example.com

例如,要将系统静态主机名更改为host.myfreax.com,可以运行命令sudo hostnamectl set-hostname host.myfreax.com

要将pretty主机名设置为Myfeax's desktop,在运行hostnamectl命令时添加--pretty选项。

hostnamectl命令不产生任何输出。成功时返回0,否则返回非零失败代码。要验证主机名是否已成功更改,请再次运行hostnamectl命令。

sudo hostnamectl set-hostname host.myfreax.com
sudo hostnamectl set-hostname "Myfeax's desktop" --pretty
hostnamectl

nmtui配置主机名

nmtui是用于与NetworkManager进行交互的工具。它也可以用来设置或更改系统的主机名。请在终端运行nmtui命令来启动该工具。

此时终端将会显示一个菜单选项,使用箭头键浏览选项,选择Set system hostname,然后按Enter

在输入框中输入新的主机名。按Enter确认修改主机名,如果你想放弃修改主机名,可按ESC键取消更改。

最后,运行systemctl命令重新启动systemd-hostnamed服务,使更改生效。

sudo nmtui
sudo systemctl restart systemd-hostnamed

nmcli修改主机名

nmcli是用于控制NetworkManager的命令行工具,也可以用于更改系统的主机名。如你需要查看当前主机名,请运行sudo nmcli g hostname命令。

要将主机名更改为host.myfreax.com,请运行命令sudo nmcli g hostname host.myfreax.com

最后,使用systemctl命令重新启动systemd-hostnamed服务,以使更改生效:

sudo nmcli g hostname
sudo nmcli g hostname host.myfreax.com
sudo systemctl restart systemd-hostnamed

结论

要在Ubuntu系统设置或更改主机名,请使用hostnamectl set-hostname命令,后跟新的主机名。如有任何疑问,请随时发表评论。