我无法更新我的系统,因为它在安装第三方更新(zramswap-enabler)时冻结了!
有时我在更新管理器中收到以下消息:
无法初始化包信息初始化包信息时发生无法解决的问题。
请报告针对“update-manager”包的这个错误并包含以下错误消息:
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)
其实我真的想重新安装这个包,但系统无法做到这一点!如果我删除这个第三方 PPA,系统就会警告我一个非常非常严重的问题。
那么为什么我无法安装/重新安装/删除/更新这个软件包,以及为什么如果我尝试更新的话更新程序会冻结?
答案1
确保您的 PPA 已设置。
通过以下命令删除损坏的包:
sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
再次安装该包:
sudo apt-get install zramswap-enabler
重新启动后(没有必要),您就可以正确安装更新!
实际上,您可以使用此解决方案修复任何“包处于非常糟糕的不一致状态”问题!
答案2
在搜索了整个 AskUbuntu 和 Ubuntu 论坛之后,这个方法对我很有用!(来源)我正在运行 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
答案3
我遇到过比这更糟糕的情况。我不得不通过强制依赖来删除半安装的软件包。
sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>
然后我不得不重新安装它们
sudo apt-get -f install
这应该可以解决任何问题。但是,请确保您在尝试执行此操作时具有网络连接。否则,您将不得不经历更多麻烦。
答案4
我会尝试清理我的安装状态,然后再卸载造成问题的任何内容:
apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f
在大多数情况下,这是一个更好的方法来解决这个问题,至少有一次在其他方法行不通的时候帮助了我(因为巨大的要删除的软件包的依赖项)