问题描述
我无法更新我的系统,因为它在安装third-party更新(zramswap-enabler)时冻结了!
有时我在Update Manager中收到以下消息:
Could not initialize the package information An unresolvable problem occurred while initializing the package information.
Please report this bug against the ‘update-manager’ package and include the following error message:
E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.
我试图删除zramswap-enabler,但这是不可能的,因为我得到以下消息:
dpkg: error processing zramswap-enabler (--remove):
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
Errors were encountered while processing:
zramswap-enabler
E: Sub-process /usr/bin/dpkg returned an error code (1)
其实我真的会重新安装那个包,但它无法做到!如果我删除了这个third-party PPA,那么系统会警告我一个非常严重的问题。
那么为什么我不能安装/重新安装/删除/更新此软件包以及为什么在我尝试更新时冻结更新程序?
最佳解决思路
Edited out of the question and added as an answer.
-
确保您的PPA已设置完毕。
-
通过以下命令删除损坏的包:
sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
-
再次安装包:
sudo apt-get install zramswap-enabler
-
重启后(不必要),您可以正确安装更新!
实际上你可以解决这个解决方案中的任何“包处于非常糟糕的不一致状态”的问题!
次佳解决思路
在对整个AskUbuntu和Ubuntu论坛进行了大量搜索之后,这对我有用! (Source)。我正在运行Lubuntu 14.04
sudo mv /var/lib/dpkg/info/<packagename>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <packagename>
sudo apt-get remove <packagename>
sudo apt-get autoremove && sudo apt-get autoclean
第三种解决思路
我的情况比这更糟糕。我不得不通过强制依赖来删除half-installed包。
sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>
然后我不得不重新安装它们
sudo apt-get -f install
这应该解决任何问题。但是,当您尝试执行此操作时,请确保您具有网络连接。否则,你将不得不经历更多麻烦。
第四种思路
其他答案是正确的,提到一个包删除,然后apt-get install -f
重新安装损坏的包(并完全安装其他half-installed包)。但是,这可以一步完成:
sudo apt-get install -f --reinstall zramswap-enabler