sudo: unable to resolve host xxxx: Name or service not known

前言

在 Linux 环境中,我使用 sudo 执行命令,发生报错:sudo: unable to resolve host xxxx: Name or service not known

解决

这个错误通常发生在更改主机名后,使用 sudo 命令时出现问题。sudo 命令会尝试解析主机名,但如果无法解析,就会出现"sudo: unable to resolve host"的错误。然而,如果您不使用 sudo 命令,就没有这个问题,这是因为 sudo 命令会尝试解析主机名,而普通命令不会。

以下是可能导致这个问题的原因和解决方法:

  1. /etc/hosts 文件中的主机名不匹配:检查 /etc/hosts 文件中的主机名是否与您的实际主机名匹配。如果不匹配,可以通过编辑 /etc/hosts 文件并将主机名更改为正确的值来解决这个问题。

  2. DNS解析问题:如果您的系统依赖DNS解析来解析主机名,那么可能存在DNS配置问题。您可以尝试检查您的DNS配置,并确保您的系统可以正确解析主机名。

  3. 网络连接问题:如果您的系统无法连接到网络,那么也可能导致无法解析主机名。确保您的网络连接正常,并尝试重新连接到网络。

实例:在 /etc/hosts 文件中,加上带有自己主机名的记录

vim /eth/host # 新增以下
127.0.0.1 niuben 
systemd-resolve --flush-caches # 刷新/etc/hosts文件

要刷新Ubuntu上的/etc/hosts文件,您可以尝试以下方法:

  1. 清除DNS缓存:在终端中运行以下命令来清除DNS缓存,以便刷新/etc/hosts文件的更改:

    • 使用命令sudo systemd-resolve --flush-caches来清除DNS缓存
  2. 重启网络服务:在Ubuntu上,可以尝试重启网络服务来刷新/etc/hosts文件的更改。使用以下命令来重启网络服务:

    • sudo systemctl restart systemd-resolved

请注意,刷新 /etc/hosts 文件可能需要管理员权限,因此在执行相关命令时可能需要使用sudo或管理员身份运行。

然后就可以正常使用 sudo 执行命令了

posted on   数据与人文  阅读(224)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-10-17 MySQL 5.7升级8.0过程(详解)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示