[已解决] sudo: 无法解析 Ubuntu Linux 中的主机错误[已解决] sudo: 无法解析 Ubuntu Linux 中的主机错误[已解决] sudo: 无法解析 Ubuntu Linux 中的主机错误[已解决] sudo: 无法解析 Ubuntu Linux 中的主机错误
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

[已解决] sudo: 无法解析 Ubuntu Linux 中的主机错误

本快速教程将向您展示如何修复 Ubuntu 或任何其他 Linux 发行版中的“sudo:无法解析主机主机名”错误。

为了测试 Linux 手册上的教程,我在 UpCloud 上创建了一个新服务器,UpCloud 是我最喜欢的云服务器提供商,具有极快的 SSD。我的 Ubuntu 18.04 服务器在几分钟内就准备好了。

我忘记给它一个合理的名称,所以几天后,我不得不更改主机名并给它一个更好的名称。现在它被称为测试服务器,因为这就是它的用途。

我创建了一个 sudo 用户,因为我不喜欢一直是 root 用户,特别是当我修改系统时。

当我开始使用 sudo 命令时,我在命令的输出中看到一个奇怪的错误:

sudo:无法解析主机测试服务器

该命令使用 sudo 运行没有任何问题,但无论如何都会显示此错误消息。

修复 sudo:无法解析主机

错误的根本原因实际上与主机名更改有关。让我向您展示如何修复此无法解析主机名错误。

首先,使用 hostname 命令检查系统的主机名。就我而言,主机名是 test-server。

$hostname
test-server

主机名取自 /etc/hostname 文件。

cat /etc/hostname 
test-server

相同的主机名也应列在 /etc/hosts 文件中。但就我而言(我想您的情况也是如此),/etc/hosts 文件中缺少该主机名,如您在下面的输出中看到的:

127.0.0.1 localhost
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

由于这里缺少它,系统无法找出主机名,因此会抛出错误“sudo:无法解析主机”。

要解决此问题,请编辑此文件并添加新行并使用主机名设置环回地址。您可以使用 Vim 在命令行中编辑文件。

127.0.0.1 <hostname>

现在,我的 /etc/hosts 文件如下所示:

127.0.0.1 localhost
127.0.0.1 test-server
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

提示:如果旧主机名仍然存在于 /etc/hosts 文件中的任何位置,则应将其替换为新主机名。

添加上述行后,“sudo:无法解析主机”错误立即消失。我什至不需要重新启动我的 Ubuntu 服务器。

我希望这个快速的小技巧可以帮助您解决这个恼人的错误。请在评论部分告诉我它是否对您有用。

©2015-2025 艾丽卡 support@alaica.com