对于特定 PPA,“apt-get update”在“100% [工作]”时卡住了几个小时

Byt*_*der 6 updates package-management apt ppa repository

当我sudo apt-get update在 Ubuntu 15.04 上运行时,我得到以下(缩短的)输出:

$ LANG=C sudo apt-get update
[sudo] password for ipc-admin: 
Ign http://ftp.uni-stuttgart.de vivid InRelease
Ign http://ftp.uni-stuttgart.de vivid-updates InRelease
.
.
.
Hit http://ftp.uni-stuttgart.de vivid-proposed/universe Translation-en
Hit http://ftp.uni-stuttgart.de vivid-proposed/universe Translation-de
100% [Working]
Run Code Online (Sandbox Code Playgroud)

然后它会卡住并且不会继续,直到我用Ctrl+中断它C

当我这样做时sudo aptitude update,它也挂在同一位置。

删除缓存sudo rm -rf /var/lib/apt/listssudo apt-get update再次运行后,我仍然得到相同的结果。

但是,它似乎在运行后成功更新了包索引文件sudo apt-get update并在它卡住时中断它,因为我仍然可以运行apt-get upgrade并接收新的更新,或者apt-get install. 它只是没有完成apt-get update任务......

的重新安装aptsudo aptitude reinstall apt并重新启动后也不会改变我的任何情况。

这里可能有什么问题,我该如何解决?

PS:apt-get update记录的完整输出script也显示可以在pastebin上找到那些动态行。


更新

让它运行几个小时后,它实际上完成了!导致问题的存储库是各种https://repo.tox.im行。这是在每行之间等待很长时间后出现的内容:

Ign https://repo.tox.im nightly InRelease
Ign https://repo.tox.im nightly Release.gpg
Ign https://repo.tox.im nightly Release
Err https://repo.tox.im nightly/main i386 Packages
  Connection timed out after 120000 milliseconds
Ign https://repo.tox.im nightly/main Translation-en
Ign https://repo.tox.im nightly/main Translation-de
Fetched 69,8 kB in 36min 0s (32 B/s)
W: Failed to fetch https://repo.tox.im/dists/nightly/main/binary-i386/Packages  Connection timed out after 120000 milliseconds

E: Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)

在此之后,该过程将正确终止而无需中断它。那么该存储库可能存在什么问题,我该如何解决呢?

Byt*_*der 6

在等待命令完成数小时后,我看到它挂在所有 tox 存储库上。

我检查了他们的主页,发现包括存储库、维基和主站点在内的整个基础设施都移到了不同​​的域。这就是为什么旧的 URL 不再存在并且apt-get update超时的原因。

在他们的新 wiki 上,他们提供了以下(稍作修改的)脚本来安装已实现的存储库:

#!/bin/bash
sudo apt-key del 0C2E03A0
sudo sh -c 'echo "deb https://pkg.tox.chat/debian nightly main" > /etc/apt/sources.list.d/tox.list'
wget -qO - https://pkg.tox.chat/debian/pub.gpg.key | sudo apt-key add -
sudo apt-get install apt-transport-https
sudo apt-get update
echo "Tox Repository Installed. You can now install qtox"
Run Code Online (Sandbox Code Playgroud)

我执行了这些行,现在所有问题apt-get update都消失了!

不幸的是,新的存储库确实只包含 64 位构建的 qTox,所以我将不得不忍受那个包被搁置一段时间,直到他们也为 32 位机器编译它!


警告:如果您安装了 32 位 qTox,请不要安装新的存储库!它包含一个 32 位qtox软件包,其版本号高于上一个可用版本,因此apt-get upgrade一旦您运行更新,将安装它并用该软件包替换您当前的 qTox 安装。但它不是一个 32 位的包,它只是看起来像一个!它里面包含 64 位可执行文件!

有关更多信息和无需安装即可验证软件包真实架构的脚本,请在此处查看我的问答!

上次存储库更新修复了这个问题,现在 qTox 再次可用于这两种架构!:)