WSL问题: Temporary failure resolving ‘archive.ubuntu.com‘

今天在WSL进行操作的时候,发现从网络上下载东西无法成功,包括wget 、apt-get 等命令都无法正常使用,比如执行sudo apt-get update 的时候会提示

Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
  Temporary failure resolving 'security.ubuntu.com'
Err:2 http://archive.ubuntu.com/ubuntu bionic InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease  Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.

经过查询和搜索(解决bug真的痛苦😫),发现通过一下几行命令可以解决

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

接下来下载东西就都没有问题了。

WSL问题: Temporary failure resolving ‘archive.ubuntu.com‘_Lucas-hao的博客-CSDN博客_temporary failure resolving

### 判断 `sudo apt update` 是否成功的依据 #### 方法一:通过返回值判断 命令执行完成后,可以通过 `$?` 变量来查看上一条命令的退出状态码。如果状态码为 `0`,则表示命令成功;如果不是 `0`,则说明存在某些问题。 ```bash echo $? ``` 当 `sudo apt update` 成功完成时,通常会显示以下消息: - **已下载字节数** - **正在读取软件包列表... 完成** - **正在分析软件包的依赖关系树... 完成** 这些信息表明本地软件包索引文件已经成功更新[^2]。 --- #### 方法二:检查日志输出 在正常情况下,`sudo apt update` 的输出应该类似于以下内容: - 获取到新的索引文件(如 `Get:1 http://mirror.example.com/ubuntu focal InRelease [X B]`) - 显示命中缓存中的资源(如 `Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease`) 最终总结部分可能会显示类似以下的内容: - 已下载 X 字节的数据。 - 耗费时间 Y 秒。 - 正在读取软件包列表... 完成。 如果没有出现错误提示(如 `Err:` 或者警告 `W:`),可以认为命令执行成功[^4]。 --- #### 方法三:手动验证 `/var/lib/apt/lists/` `apt update` 更新后的本地软件包索引存储在 `/var/lib/apt/lists/` 目录下。可以通过检查此目录下的文件是否有最近修改记录来确认是否成功更新。 ```bash ls -lt /var/lib/apt/lists/ ``` 如果有新生成或者更新过的文件,则证明索引已经被刷新[^2]。 --- #### 方法四:观察错误代码 常见的错误情况及其含义包括但不限于以下几个方面: 1. **DNS 解析失败** 如果遇到 `Temporary failure resolving 'domain.name'` 类似的报错,可能是 DNS 配置有问题。此时可尝试调整 WSL 的网络设置或更换镜像源地址[^3]。 2. **HTTP 404 错误** 当指定 URL 返回 404 Not Found 时,可能是因为所选镜像不支持当前系统的架构版本。建议切换至更稳定的官方或其他第三方镜像站点[^5]。 3. **GPG 密钥校验失败** 若发生 GPG key verification failed 提示,则需导入对应公钥才能继续操作。 --- #### 总结 综合以上几种方法,能够较为全面地评估 `sudo apt update` 命令的实际效果。无论是借助脚本自动化检测还是人工审查反馈信息,都可以有效保障系统环境处于健康可用的状态之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值