Ubuntu 14.04 不会更新/删除或安装任何软件包

Ubuntu 14.04 不会更新/删除或安装任何软件包

我第一次注意到这个问题是当我的更新管理器不断无法安装更新 sudo apt-get update 运行时没有返回任何错误时,当我运行:

sudo apt-get install upgrade

我收到以下错误:

dpkg: malloc.c:2372: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *(sizeof(size_t))) - 1)) & ~((2 *(sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long) old_end & pagemask) == 0)' failed.

E: Sub-process /usr/bin/dpkg exited unexpectedly

可能与这个问题无关,当我第一次启动我的电脑时(与上述错误相同的笔记本电脑)“T”和“Y”键以及其他几个键不起作用,最初以为是键盘本身的问题,但几分钟后所有键都开始正常工作,我猜是软件问题?

我尝试搜索,但找不到任何解决方案,希望有人能帮忙

答案1

尝试将机器置于恢复模式(基本上是两次断电),然后选择高级选项、恢复模式,并尝试 dpkg 选项。值得一试。

答案2

正确的命令是

sudo apt-get upgrade

您应该删除安装然后它就会起作用。

答案3

我遇到了同样的错误并设法找到了解决方案。

您可能从错误消息中推断出,这是 dpkg 的问题。事实证明,就我而言,有一个损坏的文件导致/var/lib/dpkg/infodpkg 以如此戏剧性的方式结束。最简单、最不危险的解决方案是重新安装系统,但如果这太麻烦,您可以尝试通过重建信息来删除损坏的文件。

首先创建一个备份。

cd /var/lib/dpkg
mv info info.bak

现在,您可以通过重新安装系统中的每个包来重新生成信息。(警告:这将需要一段时间!)

for i in $(dpkg -l|awk '/^ii/ {print $2}')
do
    apt-get --reinstall -y install $i
done

希望您已经一切就绪!

(最后一步来自https://serverfault.com/questions/484933/debian-removed-var-lib-dpkg-info-is-there-a-way-to-save-the-system

相关内容