我刚刚意识到我不确定如何使用 Apt 执行清除,这也会清除所有依赖项。我到处阅读,但仍然不确定是否有这些候选人:
apt purge --auto-remove <packagename>
并且(首先清除一些包之后):
apt autoremove --purge
它们正确吗?相等的?有没有更好的办法?
答案1
它们都是正确的,但并不完全等同。
apt purge --auto-remove <packagename>
清除packagename
和任何因删除而变得不必要的包,以及任何其他不需要的包。
apt autoremove --purge
清除所有不需要的包(标记为“自动安装”并且没有依赖包)。
第一种形式是您在操作单个包时使用的形式;后者是对所有包的清理操作。
您还可以APT::Get::AutomaticRemove
在apt
配置中启用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>
,并且似乎是实现递归清除的最简洁的方法。
是否记录这种行为显然已经曾引起争议开发商之中。