我剛剛意識到我不確定如何使用 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>
,並且似乎是實現遞歸清除的最簡潔的方法。
是否記錄這種行為顯然已經曾引起爭議開發商之中。