安装后脚本始终失败时如何强制删除


37

我在Ubuntu 10.10上安装了一个自定义程序包,然后尝试删除它,我得到了:

$ sudo dpkg -r package
sub-process script post-installation installed returne an error state 127

(从命令返回的消息是从葡萄牙语(br)翻译过来的。

因此,我注意到在该软件包的安装脚本上,它所做的就是在启动时创建一个条目,在/ opt上创建一个文件夹并创建一个用户。

我删除了所有创建的内容。但是现在,我只想从dpkg列表中删除它,因为我想让我的linux像从未安装此软件包一样。

我怎样才能做到这一点?

Answers:


47

您可能需要使用以下方法手动删除软件包:

sudo dpkg --purge --force-all package

package软件包名称替换。

请注意:如果软件包不是您自己的软件包或您不知道脚本的功能,建议您报告错误。


1
@jcomeau_ictx当然...问题是关于撤除的问题,而不是关于撤除的问题。
Braiam

30

尝试删除xmail dpkg --purge --force-all xmail失败,因为尝试删除xmail守护程序的失败导致预删除脚本退出并失败。我在这里找到了解决方案:https : //serverfault.com/questions/179570/how-to-remove-a-package-which-post-installation-and-pre-removal-script-fails

具体来说,我编辑了/var/lib/dpkg/info/xmail.prerm并更改|| exit $!|| true


1
我不明白那票选票。另一种解决方案并不涵盖所有情况,这为其余部分提供了一些帮助。
jcomeau_ictx

1
如果我不得不猜测,您回答“由于删除前脚本而失败”,此问题与“安装后”脚本有关。您没有回答当前提出的问题。
Braiam '16

2
我的删除前脚本有问题,这对我有所帮助。
Bogdan Calmac '17

2
正如人们可以预料,如果编辑*.prerm文件过于繁琐,你可以将它们删除,以及-卸载过程中的作品与他们失踪
PauliusŠukys

谢谢,不知道!如果您愿意的话,值得单独回答。
jcomeau_ictx
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.