apt-get update 卡住:正在连接到 security.ubuntu.com

apt-get update 卡住:正在连接到 security.ubuntu.com

当我apt-get update在我的机器上运行时它卡在:

100% [Connecting to security.ubuntu.com (2001:67c:1562::15)] [Connecting to archive.canonical.com (2001:67c:1360:8c01::16)]

我最近没有对系统进行任何更改并且使用以前运行良好的家庭网络。

我无法解释为什么它切换到使用 IPv6。我已将无线网络的
IPv6 设置为:ignore

在此处输入图片描述

输出ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: mlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 4c:0b:be:22:0a:b4 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.106/24 brd 192.168.2.255 scope global dynamic mlan0
   valid_lft 1814086sec preferred_lft 1814086sec
inet6 ::d5:b551:28db:2789:225/64 scope global temporary dynamic 
   valid_lft 604483sec preferred_lft 85483sec
inet6 ::d5:4e0b:beff:fe22:ab4/64 scope global mngtmpaddr dynamic 
   valid_lft 604779sec preferred_lft 86379sec
inet6 fe80::4e0b:beff:fe22:ab4/64 scope link 
   valid_lft forever preferred_lft forever

答案1

这对我来说很有用,感谢 Zach Adams(https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/):

事实证明,这是由于某些服务器通过 IPv6 连接时出现卡住的问题。修复方法非常简单。

打开/etc/gai.conf

底线之下

# For sites which prefer IPv4 connections change the last line to

通过删除来取消注释以下行#

# precedence ::ffff:0:0/96 100

这将允许您仍然使用 IPv6,但将 IPv4 设置为优先级,以便 apt-get 不会卡住。

答案2

网络的 IPv6 设置被忽略,但通过/etc/sysctl.conf以下方式禁用 IPv6 有效:

在底部添加以下几行/etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

运行sudo sysctl -p以重新加载/etc/sysctl.conf设置。

答案3

更好的方法是使用 apt-get 如下,而不是编辑 gai.conf 文件。

sudo apt-get -o Acquire::ForceIPv4=true update

如果您想使其持久,只需在您的 bash 文件中添加“apt-get”的别名。

答案4

在 WSL(Ubuntu)上,这可能是由一些与 wsl 相关的防病毒规则导致的,阻止了出站纯 http 访问。

相关内容