如何清除包及其已安装的依赖项?

如何清除包及其已安装的依赖项?

如果此后安装的任何包都不再需要这些依赖项,我只想删除它们。

例如,当我安装 subversion 时,它还会安装一些库:

libapr1:amd64 libaprutil1:amd64 libneon27-gnutls:amd64 libsvn1:amd64

如果这不会破坏我的系统的话,我还想将它们与颠覆一起清除。

我正在寻找一种隐式的方式,例如 aptitude purge subversion 和一些开关来告诉 aptitude 我想要什么。

我最喜欢的包管理器是 pure aptitude。

如何在 Debian Wheezy 上执行此操作?

答案1

您可以使用该deborphan包来查找不再满足任何依赖关系的库。它将生成所有这些包的简单列表。

也可以直接使用这个aptitude列表

sudo aptitude purge $(deborphan)

aptitude正如我们所料,它将把所有这些假定未使用的包作为参数发送给。aptitude然后将向您显示将采取的确切操作及其后果,如果您同意,这些包将被清除。

deborphan也可以将包名称作为参数,以对单个包的依赖项而不是系统范围的依赖项进行操作。与往常一样,请参阅手册页。

答案2

删除“subversion”后,您无论如何都会得到一些提示。大多数情况下,“apt-get autoremove --purge”将清除所有多余的包。我不使用“aptitude”——可能有一些与 autoremove 等效的东西。

答案3

您还可以将软件包标记为自动安装,这样当没有任何依赖项时,aptitude 会建议删除它们。按 标记软件包M

相关内容