主机名是人类可读的字符串,它允许人们识别网络上的服务器或计算机。 它可能包括完全限定域名 (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 专用服务器或我们的专用服务器,请联系我们的销售团队寻求帮助。