升级时卡在这里:

user@plato:~# sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  bind9-host coreutils cpio curl dnsutils libbind9-90 libc-bin libc-dev-bin
  libc6 libc6-dev libcgmanager0 libcurl3 libcurl3-gnutls libdns100
  libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libisc95 libisccc90
  libisccfg90 libjasper1 liblwres90 libplymouth2 libsepol1 libssl-dev
  libssl-doc libssl1.0.0 linux-libc-dev mime-support multiarch-support ntp
  ntpdate openssl plymouth plymouth-theme-ubuntu-text python3-distupgrade
  ubuntu-release-upgrader-core unzip
39 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.0 MB of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
0% [Connecting to us.archive.ubuntu.com (2001:67c:1562::15)] ░


升级时卡在这里:

user@plato:~# apt-get update
0% [Connecting to us.archive.ubuntu.com (2001:67c:1562::14)] [Connecting to sec░


/>我可以对us.archive.ubuntu.com进行ping操作:

user@plato:~# ping us.archive.ubuntu.com
PING us.archive.ubuntu.com (91.189.91.23) 56(84) bytes of data.
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=1 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=2 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=3 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=4 ttl=54 time=81.4 ms
^C
--- us.archive.ubuntu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 81.425/81.528/81.582/0.355 ms


我该怎么解决?


到目前为止,我已经尝试过。

我已经尝试过以下博客上的指示:http://nickescobedo.com/719/ubuntu-apt-get-hangs-at- 0

强制apt-get只使用IPv4


/etc/apt/apt.conf.d/99force-ipv4中创建文件

将此行添加到新创建的文件中Acquire::ForceIPv4 false;

Apt-get现在将专门使用IPv4


评论

没有一个答案对我有用:我的问题是我的Windows主机防火墙阻止了我在Virtualbox中运行的Ubuntu来宾。

这些答案都不对我有用。我重新启动了虚拟机,它现在可以正常工作。

#1 楼

我想出了如何使apt-get重新工作的方法。

编辑gai.conf

sudo vim /etc/gai.conf


更改〜54行以取消注释以下内容:

precedence ::ffff:0:0/96  100


写入并退出:

:wq



注意


找出看起来几乎相同的第50行:

precedence ::ffff:0:0/96  10


这是错误的行。向下走大约4行,您会发现正确的行以取消注释,因为它以100而不是10结尾

评论


感谢您发布解决方案。我遇到了同样的问题,并解决了此问题。

–布雷迪姆
2015年1月21日在7:00

您如何解决这个问题?我的其中一台服务器突然开始发生这种情况,并对此进行了修复。

–布赖恩·尼尔(Brian Neal)
15年1月25日在21:11

这里发生了什么?想详细说明为什么此修复程序有效吗?

–four43
15年6月16日在20:35

问题:ISP开始建立内部IPv6网络,以准备最终连接到IPv6 Internet。结果,在运行apt-get时,默认情况下,此网络中的服务器现在尝试通过其IPv6地址连接到* .ubuntu.com。解决方案:取消注释优先级:: ffff:0:0/96 100允许请求偏爱IPv4

–阿里安(Arian Faurtosh)
2015年6月16日在22:19



固定!这绝对是解决此问题的正确方法。但是对于遇到此修复程序的任何人,请确保您不要做我所做的事情。我取消了对优先级:: ffff:0:0/96 10的注释,我不得不回到文件中并再次注释该行,然后取消对作为优先级:: ffff:0:0/96 96的正确行进行注释。

–dtigue
15年8月6日在17:46

#2 楼

最好在更新和升级之前禁用IPV6。


打开终端

输入sudo -H gedit /etc/sysctl.conf并打开配置文件,并在末尾添加以下行

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



之后运行

cat /proc/sys/net/ipv6/conf/all/disable_ipv6 


如果报告'1'表示您已禁用IPV6。

如果报告为“ 0”,请执行步骤4和步骤5。


键入命令sudo sysctl -p。您将在终端中看到此内容。

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


在“步骤3”上方重复,现在将报告1。


评论


这有效。我不明白为什么。你能解释一下吗?

– AAI
19年8月7日,3:30

#3 楼

没有IPv6修复对我有用。可能我的症状相同,原因不同。我的解决方法是通过在source.list中进行搜索和替换来切换到其他存档,例如:

sudo vim /etc/apt/sources.list


然后:

:%s/us\.archive/de\.archive/g
:wq


这至少可以让我重新开始工作,直到我找出真正的问题。

#4 楼

对我有用的是将我的Ubuntu来宾的VirtualBox网络设置从“桥接适配器”切换为“ NAT”。

评论


是的,这势必有效。但是,为什么它不能在“桥接适配器”上工作。除了apt-get更新之外,我都能使用“桥接适配器”来做所有事情。

– soufrk
18年3月13日在11:47