Debian
如何檢測升級其先前依賴包後不再需要的 Debian 包?
假設有一個名為 的 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
。