web-dev-qa-db-ja.com

以前に依存していたパッケージのアップグレード後に不要になったDebianパッケージを検出するにはどうすればよいですか?

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

Barに依存しなくなった新しいバージョンのFoo==1.1.2があると想像してみてください。

アップグレード後、パッケージBarは自動的にアンインストールされません。さらに、apt autoremoveもこのパッケージをアンインストールしません。

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

1
Henry Barker

パッケージBarは、コマンドの出力で確認できるように、manualではなくautoの状態で終了している可能性があります。

apt-mark showmanual

したがって、apt-get autoremoveによって処理されなくなります。

パッケージから deborphan ツールを使用できます deborphan そのようなパッケージを見つけるのに特化しています。ヒューリスティックにパッケージのmanualステータスを使用しません。

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

deborphanは、システム上で「孤立した」パッケージを検出します。インストールに応じて、他のパッケージがないパッケージを判別し、これらのパッケージのリストを表示します。ライブラリを見つけるときに最も役立ちますが、すべてのセクションのパッケージで使用できます。

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

deborphanで指定された結果を使用して、パッケージを自分で削除するか、autoとしてマークバックすることができます。

apt-mark auto package1 package2 ...

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

2
A.B