以前に依存していたパッケージをアップグレードした後に不要になった Debian パッケージを検出する方法は?

以前に依存していたパッケージをアップグレードした後に不要になった Debian パッケージを検出する方法は?

という名前のDebianパッケージがあり、Fooそのバージョンは1.1.1というパッケージに依存しますBar

Foo==1.1.2もはや依存しない最新バージョンがあると想像してくださいBar

アップグレード後、パッケージはBar自動的に削除されません。また、apt autoremoveこのパッケージは削除されません。

Barそのパッケージに依存するアップグレード中にこれらのパッケージを自動的に検出するにはどうすればよいですか?そのようなパッケージをどのように削除しますかBar

答え1

コマンド出力から検出された場合、パッケージは確認可能なBar状態ではなく次の状態で終了した可能性があります。manualauto

apt-mark showmanual

したがって、これ以上処理されませんapt-get autoremove

このツールを使用できますdeborphan包装からdeborphan特に、このタイプのパッケージを探してください。manual経験的なアクセスにはパッケージの状態を使用しません。

未使用のパッケージ(ライブラリなど)を見つけることができるプログラム

deborphanがシステムで「孤児」パッケージを見つけました。インストールに応じて、他のパッケージがないパッケージを決定し、そのパッケージのリストを表示します。ライブラリを見つけるのに最も便利ですが、パッケージのすべての部分に使用できます。

特に、プラグインライブラリ(依存関係の問題を引き起こすことなく削除できますが、ライブラリを削除すると、どこかで機能が削除されるライブラリ)の場合、誤検出が発生する可能性があります。

提供された結果をdeborphan使用してパッケージを直接削除するか、次autoのように再表示できます。

apt-mark auto package1 package2 ...

さらなる処理のためにapt-get autoremove

答え2

私は信じるapt removeDebian は Arch と同じです。pacman -Qdtq、依存関係として不要になったパッケージを照会します。それらを削除するには、次のようなものを実行する必要があるようです。

apt remove $(apt autoremove)

(アーチの場合は同様のものを実行する必要がありますpacman -R $(pacman -Qdtq))。

これらのパッケージを自動的に削除する場合、これが変更する必要がある設定かどうかはわかりませんが、apt上記の行を.bashrc

免責事項:私はDebianではこれを行いませんでしたが、Archを使用して必要なことをしました。

関連情報