web-dev-qa-db-ja.com

パッケージの削除時に常にパージ

私は/etc/の下にインストールされるいくつかの設定ファイルを含むdebianパッケージを保守しています。ユーザーが通常の--purgeを実行するたびに常に自動的にapt-get remove mypackageするようにパッケージを作成する方法はありますか?

その理由は、/ etcにいくつかの設定ファイルがあり、バイナリを削除するときに実際に削除する必要があるためです。そうしないと、奇妙な動作につながる可能性があります。しかし、私はまだそれらをconfファイルとして扱いたい、つまり、パッケージのアップグレードごとにaptがそれらを消去しないことを確認してください。ただし、パッケージをアンインストールするときに削除する必要があります。

現在、postrmスクリプトの/ etc confファイルを手動で削除しています。ただし、これには不幸な副作用があることがわかりました。ユーザーがパッケージをアンインストールしてから再インストールした場合、aptファイルはまだ存在していると考えられるため、confファイルは再インストールされません。だから、aptがconfファイルがなくなったことを知るように、私のpostrmで完全な「パージ」を手動でトリガーする方法はありますか?

6
Jeroen

Debianポリシーは、他のパッケージやシステムの変更に属するファイルをいじることを禁止しています。 (または、少なくともそうだと思う)

ユーザーに教える

purgeの代わりにremoveを使用するようにユーザーに指示できます。

Sudo apt-get purge mypackage

自動上書き

設定ファイルを上書きする必要がある場合、debianはメンテナー設定ファイルをインストールするようユーザーに促すことがあります: http://www.debian.org/doc/manuals/maint-guide/dother.en.html#conffiles

ソフトウェアについて最も厄介なことの1つは、プログラムのカスタマイズに多大な時間と労力を費やし、変更をすべてアップグレードすることです。 Debianは、このような設定ファイルをconffilesとしてマークすることにより、この問題を解決します。 [55]パッケージをアップグレードするとき、古い構成ファイルを保持するかどうかを尋ねられます

デフォルトで新しい構成ファイルを強制する

アップグレード中に自動的にそれを行うことができます:

apt-get -o Dpkg::Options::="--force-confnew" dist-upgrade

ソース: http://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/ および https://askubuntu.com/ a/104912/5538

提供/競合/交換

これについてはわかりませんが、古いパッケージバージョンを完全に削除して新しいパッケージバージョンに置き換えることができると思います。

ここを読む: http://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces

5
Savvas Radevic

ターミナルを開き、このコマンドを入力します。

alias remove='apt-get remove --purge

Removeというエイリアスを作成し、remove --purgeを含めるように定義します。

1
Suhaib

たまにaptitude purge '~c'これは、以前にパージされていないすべてをパージします。人々にそうするように勧めてください。

1
tumbleweed