【运维】Ubuntu apt 更新失败?Temporary failure resolving ‘cn.archive.ubuntu.com‘ 问题

Ubuntu apt 更新失败?Temporary failure resolving ‘cn.archive.ubuntu.com’ 问题

在使用 Ubuntu 时,你是否遇到过这样一个烦人的错误:

Temporary failure resolving ‘cn.archive.ubuntu.com’

如果你也踩坑了,别慌!这篇文章手把手带你搞懂原因并彻底解决,避免反复踩坑。

💡 先说重点:这个错误不是因为源坏了,而是你的 DNS 解析失败了,系统无法正确将域名解析成 IP 地址,自然也就连不上了。


🔥 1. 问题原因总结

一般出现这个错误,主要有两个可能:

  • 临时性网络故障(比如 Wi-Fi 掉线、代理设置问题)
  • 系统 DNS 配置错误(最常见)

所以,修复思路也很简单:

先确认网络通不通,再排查 DNS 设置 ✅


🔥 2. 第一步:检查基础网络连通性

先测试一下,你的 Ubuntu 还能不能访问外网的 IP。

在终端输入:

ping 8.8.8.8
  • 如果 能 ping 通 8.8.8.8,但访问 cn.archive.ubuntu.com 失败,那么基本可以确定是 DNS 配置问题
  • 如果 连 8.8.8.8 都 ping 不通,那是网络本身出问题了,比如网线、Wi-Fi、代理/VPN 设置有问题,需要先排查网络。

小总结
能 ping 通 IP,却连不上域名 → DNS 问题。
IP 都 ping 不通 → 网络问题。


🔥 3. 第二步:临时修改 DNS 服务器

DNS 配置错了的话,我们可以临时指定稳定的 DNS,比如:

  • Google Public DNS:8.8.8.8
  • 阿里云 DNS:223.5.5.5

步骤如下:

  1. 编辑 /etc/resolv.conf 文件:
sudo nano /etc/resolv.conf
  1. 把里面的内容改成下面这样(如果之前有内容,建议先备份一下):
nameserver 8.8.8.8
nameserver 223.5.5.5
  1. 保存并退出(Nano 编辑器按 Ctrl+O 保存,Ctrl+X 退出)。

💬 注意
直接修改 /etc/resolv.conf临时生效的,有些系统重启后会被覆盖(后面教你怎么永久生效)。


🔥 4. 第三步:重新更新软件源

DNS 配好之后,再重新执行 apt 更新命令:

sudo apt update

然后你需要安装的软件,比如:

sudo apt install postgresql-client

通常此时就可以正常拉取和安装了!


🔥 5. (可选)让 DNS 配置永久生效

如果你的 /etc/resolv.conf 总是被重置,可以按以下方法做永久修改

方法一:配置 systemd-resolved

  1. 编辑 systemd-resolved 配置文件:
sudo nano /etc/systemd/resolved.conf
  1. 找到 [Resolve] 部分,取消注释并修改为:
[Resolve]
DNS=8.8.8.8 223.5.5.5
FallbackDNS=114.114.114.114
  1. 保存退出后,重启 systemd-resolved 服务:
sudo systemctl restart systemd-resolved

这样设置就能在每次开机时自动生效了!


🔥 附加:顺便提升 apt 下载速度?(换国内源)

如果你的系统默认用的是海外源(比如 cn.archive.ubuntu.com),速度很慢,甚至容易超时。

可以考虑换成阿里云、中科大、清华大学等国内镜像站,大大提升 apt update 的速度!

(如果你需要的话,留言告诉我,我可以单独出一篇教程来手把手教你怎么换源 ⚡)


✅ 总结一下

状态说明处理方式
ping 8.8.8.8 成功DNS 问题修改 /etc/resolv.conf
ping 8.8.8.8 失败网络故障检查网络设置,重连网络
DNS 临时生效但重启失效/etc/resolv.conf 被覆盖配置 systemd-resolved
### Ubuntu 系统中无法解析 `archive.ubuntu.com` 的解决方案 当遇到 `Temporary failure resolving 'archive.ubuntu.com'` 错误时,这通常意味着系统的 DNS 配置存在问题。以下是几种可能的解决方案: #### 修改 `/etc/resolv.conf` 一种常见的方法是手动设置 DNS 服务器地址。可以通过删除现有的 `/etc/resolv.conf` 文件并创建一个新的文件来实现这一点。 ```bash sudo rm /etc/resolv.conf sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf' ``` 为了防止该配置被 WSL 自动覆盖,在 WSL 中还需要修改 `/etc/wsl.conf` 文件以禁用自动生成的 DNS 配置。 ```bash sudo bash -c 'echo "[network]" > /etc/wsl.conf' sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf' ``` 最后一步是为了保护 `/etc/resolv.conf` 不再被更改,增加只读属性。 ```bash sudo chattr +i /etc/resolv.conf ``` 这些操作能够有效解决由于 DNS 设置不当引起的问题[^3]。 #### 启用 Systemd-resolved 服务 另一种方式是在 Ubuntu 上启用内置的 DNS 解析服务——Systemd-resolved。此服务可以帮助更好地管理网络连接中的 DNS 请求。 启动并启用 `systemd-resolved.service` 可以改善域名解析性能以及稳定性。 ```bash systemctl enable systemd-resolved.service --now ``` 执行上述命令之后,建议重启计算机使变更生效[^4]。 通过以上两种途径之一应该能成功修复 `Temporary failure resolving 'archive.ubuntu.com'` 这一错误提示信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值