使用 apt 递归清除的正确方法是什么?

使用 apt 递归清除的正确方法是什么?

我刚刚意识到我不确定如何使用 Apt 执行清除,这也会清除所有依赖项。我到处阅读,但仍然不确定是否有这些候选人:

apt purge --auto-remove <packagename>

并且(首先清除一些包之后):

apt autoremove --purge

它们正确吗?相等的?有没有更好的办法?

答案1

它们都是正确的,但并不完全等同。

apt purge --auto-remove <packagename>

清除packagename和任何因删除而变得不必要的包,以及任何其他不需要的包。

apt autoremove --purge

清除所有不需要的包(标记为“自动安装”并且没有依赖包)。

第一种形式是您在操作单个包时使用的形式;后者是对所有包的清理操作。

您还可以APT::Get::AutomaticRemoveapt配置中启用apt始终自动删除(或使用aptitude默认情况下的行为)。

答案2

OP的建议命令和现有答案是正确的,特别是根据手册页,但事实证明apt的行为比文档建议的稍微灵活一些。

为了在删除包及其自动安装的依赖项时使命令行更加简洁,您向 autoremove 命令提供包名称,如 中apt autoremove <pkg>,在这种情况下它的行为与 一样apt remove --autoremove <pkg>。因此,apt autoremove --purge <pkg>两者apt purge --autoremove <pkg>都会产生相同的结果。

更进一步,apt autopurge <pkg>其行为方式与规范形式相同apt remove --purge --autoremove <pkg>,并且似乎是实现递归清除的最简洁的方法。

是否记录这种行为显然已经曾引起争议开发商之中。

相关内容