Ben*_*ler 115 package-management
我无法更新我的系统,因为它在安装第三方更新 (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)
Run Code Online (Sandbox Code Playgroud)
其实我真的会重新安装那个包,但它无法做到!如果我删除这个第三方 PPA,那么系统会警告我一个非常非常严重的问题。
那么为什么我不能安装/重新安装/删除/更新这个包,如果我尝试更新,为什么会冻结更新程序?
nan*_*rad 140
确保您的 PPA 已设置。
通过以下命令删除损坏的包:
sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
Run Code Online (Sandbox Code Playgroud)再次安装软件包:
sudo apt-get install zramswap-enabler
Run Code Online (Sandbox Code Playgroud)重新启动(非必要)后,您就可以正确安装更新了!
实际上,您可以使用此解决方案修复任何“包处于非常糟糕的不一致状态”问题!
Ham*_*uel 88
在几乎搜索了整个 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
Run Code Online (Sandbox Code Playgroud)
小智 22
我遇到了比这更糟糕的情况。我不得不通过强制依赖来删除半安装的包。
sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>
Run Code Online (Sandbox Code Playgroud)
然后我不得不重新安装它们
sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
这应该可以解决任何问题。但是,当您尝试执行此操作时,请确保您具有网络连接。否则,您将不得不经历更多的麻烦。
其他答案是正确的,提到删除软件包,然后apt-get install -f
重新安装损坏的软件包(并完全安装其他半安装的软件包)。但是,这可以一步完成:
sudo apt-get install -f --reinstall zramswap-enabler
Run Code Online (Sandbox Code Playgroud)