web-dev-qa-db-ja.com

debianパッケージ内のいくつかのファイルを設定する方法は?

いくつかのデフォルトの設定ファイルを含む、独自のDebianパッケージを作りたいです。 dpkg -iで更新した後、このファイルを書き換えたくないです。

私の問題を解決する方法は何ですか?

5
abyss.7

debian/conffilesというファイルを作成し、その中のファイルをリストできます。これにより、dpkgは上書きする前にファイルの変更をチェックします。 Debianポリシーから

各ファイルについて、パッケージに含まれるファイルのバージョンが、パッケージの最後のバージョンに含まれていたバージョン(アップグレード元のバージョン)と同じかどうかを確認します。また、システムに現在インストールされているバージョンと最後のバージョンで出荷されたバージョンを比較します。

ユーザーもパッケージメンテナーもファイルを変更していない場合は、そのまま残されます。どちらか一方がバージョンを変更した場合、変更されたバージョンが優先されます。つまり、ユーザーがファイルを編集しても、パッケージメンテナーが別のバージョンを出荷しない場合、ユーザーの変更は黙って残りますが、メンテナーが新しいバージョンを出荷し、ユーザーがそれを編集していない場合、新しいバージョンがインストールされます(情報メッセージが表示されます)。両方のバージョンが変更されている場合、ユーザーは問題についてプロンプトが表示され、違いを自分で解決する必要があります。

dpkgにファイルを再度触れさせたくない場合は、最初のインストール時にpostinstスクリプトでファイルを作成し、アップグレードでは何もしないという方法もあります。パージ時にファイルを削除する対応するpostrmスクリプトも作成することを忘れないでください。

3
andrewsomething