sudo apt-get update
有时会卡住:
...
99% [Waiting for headers]
这似乎是一个常见问题,可能有几个原因。例如,在一台机器上,这是因为我使用了错误的代理服务器配置。
有没有办法系统地分析问题?我查看了man apt-get
但找不到任何可以提供更多信息来隔离问题的选项。除了apt-get
这些之外,还有什么工具可以用来获得更多见解吗?
答案1
更好的是,只需这样做:
apt-get -o Debug::Acquire::http=true update
答案2
我能够修复它。http://debian.sur5r.net/i3/
(量子、宇宙)没有响应。禁用它后,apt-get update
成功了。
对于遇到此问题的下一个人的提示:
- 启动
synaptic
并禁用源,直到Reload
不再挂起。特别是,第三方源似乎是候选者。 - 反复响应各个来源,直到找到导致问题的那个来源。
synaptic
非常适合诊断。当Reload
挂起并中止它时,它会打印出当前存储库。就我而言,它恰恰是坏的:
Failed to fetch http://debian.sur5r.net/i3/dists/quantal/InRelease
Some index files failed to download. They have been ignored, or old ones used instead.
答案3
我试过
apt-get -o Debug::Acquire::http=true update
但解释输出时存在问题。
然后我找到了这个解决方案https://serverfault.com/a/677533:
sudo -s
echo 'Acquire::http::Timeout "1";' >> /etc/apt/apt.conf.d/00timeout
apt update
这将打印类似
Ign:7 https://debian.qgis.org/debian jammy InRelease
一秒钟后,您就可以轻松发现导致超时的来源并将其删除或替换。
顺便一提:
apt-get -o Acquire::http::Timeout=1 update
似乎不起作用。