如何在 Ubuntu 16.04 中更改主机名

主机名是人类可读的字符串,它允许人们识别网络上的服务器或计算机。 它可能包括完全限定域名 (FQDN),但以唯一且绝对的方式标识计算设备。

域是网站的特定 Internet 地址。 完全限定的域名提供其在域名系统 (DNS) 记录层次结构中的精确位置。

为主机名指定了一些规则:

  • 主机名中只允许使用字母、数字、连字符和句点字符。
  • 主机名必须以字母或数字开头和结尾。
  • 主机名的长度必须介于 1 到 63 个字符之间。
  • 使用不会用作特定网站域名的主机名。
  • 检查该域是否已注册并且是否为社会所接受。

您可能需要在 Ubuntu 16.04 中更改设备的主机名的原因有很多。 本教程将提供几种方法来更改 Linux 设备中的主机名。

先决条件

  • 在 Ubuntu 16.04 上运行的服务器。
  • 文本编辑器,例如 Vim。
  • 根访问权限或具有 sudo 特权。

如何在 Ubuntu 16.04 中更改主机名

使用 VIM 在 Ubuntu 16.04 中更改主机名

第 1 步:检查当前主机名

要检查 Ubuntu 系统的当前主机名,有两个可用命令可以以 root 身份运行。

root:host.olddomain.com~# hostname host.olddomain.com

或者

[email protected]:~# cat /etc/hostname host.olddomain.com

步骤 2:编辑主机名配置文件

编辑主机名配置文件。 要打开主机名配置文件,请键入以下命令。

# vim /etc/hostname

1. 要进入插入模式,请按 一世 钥匙。

2. 用新主机名替换旧主机名。

[email protected]:~# vim /etc/hostname
host.olddomain.com ~                                                                                                                                                                  ~                                                                                                                                                                   ~                                                                                                                                                                  ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   	  ~                                                                                                                                                                  ~                                                                                                                                                                   ~ -- INSERT --
host.newdomain.com ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                                                                                                                                                                   ~                     	  -- INSERT -- 

3. 要退出插入模式,请按 ESC键 钥匙。

4. 要写入文件并退出编辑器,请使用 :wq! 命令。

5. 接下来,打开 /etc/hosts 配置文件,使用 vim /etc/hosts命令。

6. 用新主机名替换旧主机名。

127.0.0.1 localhost 127.0.0.1 host.newdomain.com  # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts ~                                                                                                                                                                   ~                                                                                                                                                                  ~                                                                                                                                                               ~                                       	                                                                                                                                                               	  -- INSERT --

7. 要退出插入模式,请按 ESC键 键并使用 :wq! 保存更改! 命令。

8. 完成文件编辑后,重新启动服务器以应用更改。

[email protected]:~# reboot

9. 现在,使用以下命令验证新主机名。

[email protected]:~# hostname host.newdomain.com 

在 Ubuntu 16.04 中使用 sed 命令更改主机名

另一种更改主机名的方法是使用 sed 命令。 在此示例中,host.olddomain.com 是服务器的旧主机名,host.newdomain.com 是新主机名。

您可以使用以下命令更改主机名。

# sed -i 's/host.olddomain.com/host.newdomain.com/g'/etc/hostname # sed -i 's/host.olddomain.com/host.newdomain.com/g' /etc/hosts

编辑这些文件后,您需要重新启动服务器。

# reboot

当服务器备份并运行时,运行以下命令来验证您的更改。

[email protected]:~# hostname host.newdomain.com

使用 SSH 在 Ubuntu 16.04 中更改主机名

我们需要连接到您的服务器才能在 Ubuntu 16.04 中更改服务器的主机名。 对于此示例,我们使用安全外壳 (SSH) 连接到服务器并发出命令。 SSH 是一个强大的工具,可让您与服务器建立安全连接、诊断问题并发出远程命令。

首先,您需要使用 SSH 连接到您的服务器。
使用 hostnamectl 命令,您可以轻松修改主机名。 使用标志 set-hostname 和此命令来更改主机名,如下例所示。

# hostnamectl set-hostname host.newdomain.com

此命令将自动更改和设置 /etc/hostname 文件。 剩下要做的就是用新的主机名更新 /etc/hosts 文件。 使用此方法无需重新启动。
您可以使用 hostnamectl 命令验证主机名更改。

# hostnamectl

更改主机名后的常见问题

更改主机名后可能遇到的常见错误是 failed to start hostname.service unit hostname.service is masked 错误。 当 /etc/hostname 文件和 /etc/hosts 文件中的主机名不匹配时,会发生这种情况,导致系统无法查找主机名。

修复此错误的最简单方法是确保两个文件中的主机名相同。 为此,您需要检查每个文件的内容。 使用 hostnamectl 命令。

# hostnamectl set-hostname host.newdomain.com

在您仔细检查了各自文件中的主机名是否相同后,请尝试再次重新启动 hostname.service。

# systemctl restart hostname

包起来

在 Ubuntu 16.04 中更改主机名的过程非常简单易行。 使用本教程指导您完成整个过程,确保您的主机名对于您的业务目的保持最新。

Liquid Web 协助现有客户完成此过程。 如果您还没有设置您的 VPS 主机, Cloud 专用服务器或我们的专用服务器,请联系我们的销售团队寻求帮助。