构建 deb 包,在删除或清除时​​卸载另一个包

构建 deb 包,在删除或清除时​​卸载另一个包

我尝试构建一个包,如果我的包应该被卸载,它可以卸载另一个包。

我已经尝试了控制文件中的“依赖”和“预依赖”策略。但没有必要在安装我的包之前先安装第二个包。这就是我不想要这些策略的原因。

此外,我尝试卸载“postrm”文件中的其他软件包。但这种方法也行不通,因为 dpkg 上的锁定文件是由我的软件包的卸载程序设置的。

总结:一旦我的包被删除或清除,怎么才能清除另一个包?

理论上,我只需删除 postrm 文件中的一个包即可。

或者我可以将其他包标记为不再需要,但如果在删除我的包时 dpkg 能够卸载这两个包就更好了。

答案1

一旦我的包被删除或清除,如何才能清除另一个包。

但事实并非如此。假设您的软件包 ( A) 依赖于另一个软件包 ( B),而当您手动安装时,该软件包将自动从存储库安装A

当您删除时A,dpkg/apt 不会自动删除B

您必须手动运行sudo apt autoremove以删除B作为依赖项安装的其他不再需要的包。

如果你想一次性完成这两项操作,可以运行以下命令

sudo apt remove A && sudo apt autoremove

其中A是主包的名称。

相关内容