.deb パッケージは他のパッケージを削除できますか?

.deb パッケージは他のパッケージを削除できますか?

Xubuntu をベースにした軽量 VM を作成しようとしています。まずは標準の Xubuntu インストールから始めて、不要なパッケージを削除したいと思います。

私のコンセプトは、不要なパッケージを削除する .deb パッケージを作成することです。削除したいパッケージと競合するパッケージを指定することで、かなりうまくいきました。例:

Conflicts: gnumeric, thunderbird, blueman, mousepad, xchat, etc...

これにより、パッケージがインストールされると、指定されたパッケージが削除されます。

問題は後で発生します。たとえば、Thunderbird を再インストールしたい場合、そうするとパッケージがアンインストールされてしまいます。

システムを自動的にクリーンアップする良い方法は何ですか? postinst スクリプトを使用してパッケージを削除できますか?

答え1

パッケージを 2 つに分割して、実際の機能を含む部分と、削除するパッケージと競合する部分に分けてみてはいかがでしょうか。最初のパッケージで 2 番目のパッケージを推奨して、デフォルトでインストールされるようにします。ただし、後でパッケージと競合するものをインストールしたい場合は、2 番目のパッケージを削除することを選択できます。クリーンアップはすでに実行されているため、問題にはなりません。

答え2

Debianコントロールファイルで、他のパッケージと置き換えて競合することを宣言します。https://www.debian.org/doc/debian-policy/ch-relationships.html#s7.6.2

関連情報