今天,我按照惯例执行了“全部更新”操作,但软件包管理器 GUI 告诉我有很多东西需要更新。它运行得很顺利,需要一些确认。我重新启动了,因为其中一次升级删除了我的窗口上的所有 chrome,使它们看起来像老式的 X。重新启动后,系统托盘中出现一个红色三角形,告诉我软件包信息已过时。很奇怪,因为我刚刚运行了一次大更新。
现在,如果我转到命令提示符并运行,apt-get update
我会得到以下内容:
jal@jal:~$ sudo apt-get update
[sudo] password for jal:
0% [Working]/usr/lib/apt/methods/http: symbol lookup error: /usr/lib/apt/methods/http: undefined symbol: _Z14maybe_add_authR3URISs
E: Method http has died unexpectedly!
E: Sub-process http returned an error code (127)
我随便用了一点 Google Foo 就想到了这是 2009 年 12 月的错误报告在 Debian 列表中。看来该错误报告中建议的修复是降级到 apt-0.7.23.1,apt-get update,然后再次升级 apt。
我通常遇到这种情况时不会寻求帮助,但当涉及到包管理器时,我会稍微谨慎一点。我真的不想毁掉我的包或对我的系统造成一些不好的影响。
所以简而言之,我该如何降级 apt 而不会在这个过程中搞砸自己?
答案1
首先尝试一下:
sudo apt-get install --reinstall apt
我自己尝试过,对你的系统没有风险。
如果不起作用,你必须从http://packages.ubuntu.com/。
为你的发行版选择合适的版本。然后使用 dpkg 安装它:
sudo dpkg -i apt_#version#.deb
一切都应该正常工作,但我没有测试过这一点。