删除 Python 软件包时 dpkg 被终止

删除 Python 软件包时 dpkg 被终止

我正在尝试修复我的一个软件包的 dpkg 错误。dpgk python-zope.hookable-l 命令如下所示:

 pFR python-zope.hookable                          4.0.4-4build2               amd64                       Hookable object support

然而,当我运行时sudo dpkg -P --force-all python-zope.hookable,我神秘地得到了这个输出:

dpkg: python-zope.hookable: dependency problems, but removing anyway as you requested:
 python-zope.component depends on python-zope.hookable; however:
  Package python-zope.hookable is to be removed.

dpkg: warning: overriding problem because --force enabled:
dpkg: warning: package is in a very bad inconsistent state; you should
 reinstall it before attempting a removal
(Reading database ... 871356 files and directories currently installed.)
Removing python-zope.hookable (4.0.4-4build2) ...
Killed
E: namespace:121: cannot remove /usr/lib/python2.7/dist-packages/zope/__init__.py

在 处创建一个空文件/usr/lib/python2.7/dist-packages/zope/__init__.py只会给出相同的错误,但没有最后一行。我怀疑这是我的机器上用 dpkg 安装的所有 python 包的问题,​​尽管我不敢测试它。

这个问题阻止我运行apt-get installapt-get remove,并且dpkg --configure -a似乎没有改变任何事情。

我真的已经束手无策了,我愿意接受激烈的解决方案。

答案1

通常,该Killed消息表示该进程已被其他用户或系统终止。这要么是由于管理干预,要么是由于自动干预,通常是由于 CPU 使用率过高或 RAM 过大,系统试图释放资源以供系统运行。

完全有可能,系统试图删除它,但占用了太多内存,因此系统发出了“KILL”命令来停止该进程。我请您检查/var/log/syslog是否有“进程被杀死”或“oom-killer”之类的痕迹。您在回答我的问题时的评论表明,系统正在使用内存不足杀手或类似进程,因为您过度使用 RAM,而系统正试图避免耗尽资源。

因此,核心问题是您没有足够的内存来运行系统上的所有内容。

我建议评估所有正在运行的程序,并确定您在 VPS 中获得的 RAM 和规格是否真的合适;有些情况下它们不合适,您需要一个更大的 VPS,就像您在这里所想的那样。

答案2

因为你写道:“我真的束手无策了,我愿意接受激进的解决方案。”

我建议从 /var/lib/dpkg/status 中删除相应包的块

这应该可以解决问题

相关内容