WSL2 上的 apt-get 更新失败

Posted

技术标签:

【中文标题】WSL2 上的 apt-get 更新失败【英文标题】:apt-get update failed on WSL2 【发布时间】:2020-07-01 19:30:36 【问题描述】:

我安装了 WSL2 ubuntu 18.04 并尝试运行 apt-get update 命令。然后出现如下日志。

seokmin@DESKTOP-XXXXXX:~$ sudo apt-get update
[sudo] password for seokmin:
Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease
  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable) Could not connect to archive.ubuntu.com:80 (91.189.88.142), connection timed out Could not connect to archive.ubuntu.com:80 (91.189.88.152), connection timed out
Err:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable)
Err:3 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable)
Err:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::18). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::15). - connect (101: Network is unreachable) Could not connect to security.ubuntu.com:80 (91.189.91.39), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.142), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.38), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.152), connection timed out
Reading package lists... Done
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable) Could not connect to archive.ubuntu.com:80 (91.189.88.142), connection timed out Could not connect to archive.ubuntu.com:80 (91.189.88.152), connection timed out
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable)
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable)
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::18). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::15). - connect (101: Network is unreachable) Could not connect to security.ubuntu.com:80 (91.189.91.39), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.142), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.38), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.152), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.

我把CDN改成本地的http://mirror.kakao.com,出现如下错误。

seokmin@DESKTOP-XXXXXX:~$ sudo sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
seokmin@DESKTOP-XXXXXX:~$ sudo apt-get update
Err:1 http://mirror.kakao.com/ubuntu bionic InRelease
  Could not connect to mirror.kakao.com:80 (113.29.189.165), connection timed out Could not connect to mirror.kakao.com:80 (113.61.106.5), connection timed out Could not connect to mirror.kakao.com:80 (113.61.107.5), connection timed out
Err:2 http://mirror.kakao.com/ubuntu bionic-updates InRelease
  Unable to connect to mirror.kakao.com:http:
Err:3 http://mirror.kakao.com/ubuntu bionic-backports InRelease
  Unable to connect to mirror.kakao.com:http:
Err:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::18). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::15). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable) Could not connect to security.ubuntu.com:80 (91.189.91.39), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.152), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.38), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.142), connection timed out
Reading package lists... Done
W: Failed to fetch http://mirror.kakao.com/ubuntu/dists/bionic/InRelease  Could not connect to mirror.kakao.com:80 (113.29.189.165), connection timed out Could not connect to mirror.kakao.com:80 (113.61.106.5), connection timed out Could not connect to mirror.kakao.com:80 (113.61.107.5), connection timed out
W: Failed to fetch http://mirror.kakao.com/ubuntu/dists/bionic-updates/InRelease  Unable to connect to mirror.kakao.com:http:
W: Failed to fetch http://mirror.kakao.com/ubuntu/dists/bionic-backports/InRelease  Unable to connect to mirror.kakao.com:http:
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease  Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::18). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1562::15). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::24). - connect (101: Network is unreachable) Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8001::23). - connect (101: Network is unreachable) Could not connect to security.ubuntu.com:80 (91.189.91.39), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.152), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.38), connection timed out Could not connect to security.ubuntu.com:80 (91.189.88.142), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.

我该如何解决?

【问题讨论】:

您检查过您的互联网连接吗?一个简单的 ping 就足够了。 @JacobS.P.是的,尝试 ping 8.8.8.8 并且可以正常工作。 我也有这个问题,但是我没有安装 Avast。禁用 Windows 防火墙也没有任何区别。 【参考方案1】:

我找到了。这是因为 Avast 防火墙。当我禁用它时它工作得很好。

【讨论】:

防火墙的存在是有原因的【参考方案2】:

作为@Seokmin Hong said

我找到了。这是因为 Avast 防火墙。当我禁用它时它工作得很好。

当当前连接设置为“公共网络”时,它特别不起作用。 当它更改为“私人网络”时,它会自动工作。 无需禁用防火墙,只需将其设置为私有即可。

【讨论】:

我尝试更改为专用网络,但对我不起作用。 Ping 到 8.8.8.8 有效,但 apt 更新失败。 @Raj 完全禁用防火墙会发生什么?【参考方案3】:

这是从 WSL2 使用 Ubuntu 时的解决方案

【讨论】:

【参考方案4】:

使用WSL2 时,您需要修复防火墙。这在使用 docker 时最需要。

对于其他任务,例如使用 python pip install,没有问题。

您可以切换回wsl1(降级),它可以完美运行。

【讨论】:

【参考方案5】:

我已经通过将开发者模式设置为开启解决了这个问题

【讨论】:

【参考方案6】:

我在 WSL2 上遇到了与 ubuntu 20 类似的问题。我尝试将图像切换到 wsl1,但有趣的是它不起作用。在我的情况下,它原来是一个代理问题。原来 apt-get 不使用环境变量中的代理,必须在 /etc/apt/apt.conf.d/proxy.conf 中专门设置

【讨论】:

【参考方案7】:

我也有同样的问题,也是 Avast。在防火墙中将我的网络从公共网络更改为私人网络已为我解决了问题。

【讨论】:

以上是关于WSL2 上的 apt-get 更新失败的主要内容,如果未能解决你的问题,请参考以下文章

由于 openSUSE 的 repo,apt-get 更新不起作用

Ubuntu 17.04 apt-get 获取失败

linux常用的软件更新命令

wsl2上的docker非常慢

一般都是源的问题ubuntu使用apt-get update更新失败

连接到VM虚拟机的NVIDIA Linux服务器apt-get更新源失败