尝试更新我的 Web 服务器,apt-get update
在达到 99% 之后读取最后的软件包列表时出现此无用的错误:
...
Ign http://mirror.rackspace.com trusty/universe Translation-en_US
Reading package lists... Error!
如果我尝试安装任何软件或运行apt-get upgrade
它,它只会打印... 0%
并静默失败。
在 dmesg 中,我看到每次尝试更新或升级时都会出现这条令人担忧的行:
[481989.865258] apt-get[17869]: segfault at ffffffffffffffff ip 00007f56e468fccb sp 00007fff4c83df10 error 5 in libapt-pkg.so.4.12.0[7f56e4639000+145000]
我不知道接下来该去哪里!
编辑:这似乎是此服务器上的资源/内存问题(512 MB 虚拟实例实际上应该更大)。停止 IPython 笔记本服务器并重复 apt 命令成功。
答案1
我遇到了同样的问题并解决了sudo dpkg-reconfigure libapt-pkg4.12
来源:http://www.schakko.de/2013/08/11/fixing-segmentation-fault-in-libapt-pkg/
答案2
看来你的 apt 缓存文件已损坏。
打开终端并运行以下命令。
首先删除缓存文件。
sudo rm /var/cache/apt/*.bin
现在使用重新创建它
sudo apt-get update sudo apt-get upgrade
答案3
我猜 apt-get 软件包可能存在磁盘损坏!您可以尝试运行sudo apt-get install aptitude
并查看它会产生什么影响吗?如果您可以安装 aptitude,它可以作为 apt-get 的替代品,您也可以运行sudo aptitude reinstall apt-get
并查看它是否能够修复 apt-get!:)
答案4
我们遇到了类似的问题,这是因为虚拟机的内存太少。将 RAM 增加到 1G 解决了这个问题。