IPv6 sudo apt-get更新/升级问题


28

我目前正在使用Ubuntu 16.04 Beta 2,每次我尝试通过更新在家sudo apt-get update或通过升级槽时sudo apt-get upgrade,都不会收到任何反馈。即使安装任何东西也将得到相同的结果。它只会“挂断” 0% while fetching data

$ sudo apt-get update
[sudo] password for niclas: 
0% [Connecting to archive.ubuntu.com (2001:67c:1560:8001::11)] [Connecting to archive.canonical.com (2001:67c:1360:8c01::1b)]

我不知道如何解决这个问题。我已经尝试过ping6 archive.ubuntu.com100%丢包,而ping不会有任何丢失。

我也将DNS服务器(IPv4和IPv6)更改为Google的一种无解决方案。


您是否看过有关Unix和Linux的文章?在我看来,尽管我尚未测试,但它可以“强制” IPv4而非IPv6。
托马斯·沃德

可能有用,谢谢。您能解释一下在sudo apt-get update中我必须将AcquireIpv4放在哪里吗?:SI对Linux来说是相对较新的
Niclas,

Answers:


52

由于这个Unix和Linux后于mmoya在Unix和Linux的答案。

我们可以尝试强制apt使用IPv4。

根据上述链接中的信息,尝试以下命令集:

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

这应强制使用IPv4代替IPv6。


您可以apt-get通过执行以下操作(也可以在其他U&L帖子中)使此功能对所有用户持久化(这样就不必提供参数来完成此工作):

echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

这将为aptapt-get解析配置文件,然后将包括ForceIPv4 true所有apt-get运行的选项。


好吧,我只是尝试了您的最后一个建议。这是正常的吗?niclas @ ThinkPad:〜$ niclas的sapt apt-get update [sudo]密码:正在读取软件包列表...完成E:无法获得锁/ var / lib / apt / lists / lock-打开(11:资源暂时不可用) E:无法锁定目录/ var / lib / apt / lists /
Niclas

您是否打开了程序包管理器,或在后台运行了另一个更新过程(例如自动更新)?一些目前正在使用apt列表,所以它的eitiher dpkg或另一apt/ apt-get或包管理器(Ubuntu软件中心,例如)或自动更新
托马斯·沃德

其他答案提到了对的更改/etc/gai.conf,但没有解决。虽然这样做。不知道为什么gai.conf没有。
Gauthier

非常感谢,但这仍然不能解释为什么它不能在IPv6上运行。Canonical为什么不能只修复此服务器?
亚当·斯皮尔斯

4
@ThomasWard在我看来,绝对不是- 我的ISP是IPv6的全球领导者,其提供IPv6服务已有14年以上,在此期间,他们已在网络路径的每一跳上大力测试设备的合规性,在许多情况下,硬件和软件供应商修复故障。
亚当·斯皮尔斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.