这个报错的意思很直接:你的 Ubuntu 系统现在“听不懂”域名这种语言了。

简单来说,当你输入 sudo apt update 时,系统需要去访问像 archive.ubuntu.com 这样的网址来下载软件列表。但系统无法将这个“网址”翻译成“IP地址”(比如 93.184.216.34),所以连接失败,报错“无法解析域名”。

这通常不是因为你没网,而是因为翻译官(DNS 配置)罢工了

结合你之前尝试修改驱动、移动文件的操作,可能的原因和解决方案如下:

1. 最常见的原因:DNS 配置丢失

可能是你在修改网络或文件时,不小心清空或覆盖了 DNS 配置文件。

  • 检查命令
    cat /etc/resolv.conf
    
  • 正常情况:应该看到 nameserver 8.8.8.8nameserver 114.114.114.114 这样的内容。
  • 异常情况:如果是空的,或者只有 127.0.0.1(且没有开启本地 DNS 服务),就会报这个错。
  • 临时修复
    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    
    再次运行 sudo apt update 看看是否恢复。

2. 代理设置残留(如果你之前设置过科学上网)

如果你之前为了下载驱动设置过代理(Proxy),可能环境变量里还留着旧的配置,导致系统试图通过一个不存在的代理去上网。

  • 检查命令
    env | grep -i proxy
    
  • 如果看到 http_proxyhttps_proxy 的输出,说明有代理残留。
  • 清除命令
    unset http_proxy
    unset https_proxy
    
    然后再试 sudo apt update

3. APT 的代理配置文件错误

有时候代理设置是写死在 APT 的配置文件里的。

  • 检查目录
    ls /etc/apt/apt.conf.d/
    
  • 查看是否有 proxy.conf 或类似的文件。如果有,查看内容:
    cat /etc/apt/apt.conf.d/proxy.conf
    
  • 如果内容里有 Acquire::http::Proxy 相关的设置,且指向了一个错误的地址(比如你之前设置的 IP),就会导致解析失败。
  • 解决方法:把这个文件重命名备份,或者删除里面的错误配置。
    sudo mv /etc/apt/apt.conf.d/proxy.conf /etc/apt/apt.conf.d/proxy.conf.bak
    

4. 网络管理服务没启动

如果你之前动过网络配置文件,可能 NetworkManager 服务挂了。

  • 尝试重启网络服务
    sudo systemctl restart NetworkManager
    
    或者(取决于你的系统版本):
    sudo service networking restart
    

建议的排查顺序:

  1. 先执行 ping 8.8.8.8
    • 如果能通:说明网是通的,问题出在 DNS。请执行第 1 点的修复。
    • 如果不通:说明网络接口没起来,请检查网线、Wi-Fi 或虚拟机网络设置。
  2. 执行 nslookup google.comdig ubuntu.com
    • 如果提示无法解析:确认 /etc/resolv.conf 配置。

一句话总结:大概率是 /etc/resolv.conf 里的 DNS 配置丢了,加上 nameserver 8.8.8.8 通常就能解决。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐