Debian

如何檢測升級其先前依賴包後不再需要的 Debian 包?

  • March 3, 2020

假設有一個名為 的 Debian 軟體包Foo,其版本1.1.1依賴於名為 的軟體包Bar

想像一下,有一個更新版本的Foo==1.1.2,它不再依賴Bar

升級後,軟體包Bar不會自動解除安裝。此外,apt autoremove也不解除安裝此軟體包。

如何Bar在升級依賴它們的軟體包期間自動檢測此類軟體包?以及如何擺脫這樣的包Bar

如果在命令的輸出中找到,您的包Bar可能已經結束,manual而不是auto可以確認的狀態:

apt-mark showmanual

因此不再由 處理apt-get autoremove

您可以使用專門deborphan從包中查找此類包的工具。deborphan它不使用包的manual狀態作為其啟發式方法。

可以找到未使用的包的程序,例如庫

deborphan 在您的系統上查找“孤立”包。它根據安裝情況確定哪些包沒有其他包,並向您顯示這些包的列表。它在查找庫時最有用,但它可以用於所有部分的包。

請注意,它也可能會產生誤報,尤其是對於外掛庫(可以刪除而不會導致依賴問題的庫,但它們的刪除會刪除某處的功能)。

您可以使用 給出的結果自行deborphan刪除包,或將它們標記auto

apt-mark auto package1 package2 ...

供進一步處理apt-get autoremove

引用自:https://unix.stackexchange.com/questions/570874