问题描述
当我升级时,它会卡在这里:
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░
我可以ping us.archive.ubuntu.com就好了:
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
最佳解决方案
我想出了如何让apt-get再次工作。
编辑gai.conf
:
sudo vim /etc/gai.conf
换行〜54取消注释如下:
precedence ::ffff:0:0/96 100
写入和退出:
:wq
CAUTION
注意看起来几乎相同的第50行:
precedence ::ffff:0:0/96 10
这是错误的路线。 Go〜4行下降,你会找到正确的行来取消注释,因为它以100
而不是10
结尾
次佳解决方案
更新和升级之前最好禁用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。
第三种解决方案
没有任何IPv6修补程序适用于我。可能我有不同原因的相同症状。我的解决方法是通过执行搜索并在sources.list中替换来切换到另一个存档,例如:
sudo vim /etc/apt/sources.list
接着:
:%s/us\.archive/de\.archive/g
:wq
这至少可以让我重新开始工作,直到我找出真正的问题。