そのため、私はGhostファイルと呼ばれる機能を持つRPM(Redhat Package Manager)を使用しました。このタイプのファイルは、パッケージが所有しているがインストールプロセスで必ずしもインストールされていないファイルを指定します(プログラムの実行後に生成されたファイルに役立ちます)。 RPMのGhostディレクティブの詳細については、以下のリンクを参照してください。
http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-files-list-directives.html
これまで、.debパッケージでGhostの動作を大まかに把握した唯一の方法は、必要なファイルをタッチしてそれをdebian / conffilesファイルに設定ファイルとして指定することです。これはパッケージを所有しますが、新しいバージョンがインストールされるたびに更新されません。
主にUbuntuを見ているDebianパッケージマネージャには、この動作とより正式に同等のものがあるかどうか疑問に思います。debuild
パッケージの作成に使用しています。どんな助けやアドバイスにも感謝します。
追加情報:
私が達成する必要があるのは、プログラムが実行されたときにどのファイルを生成できるかをパッケージマネージャに通知することです。これらのファイルは、新しいバージョンをインストールするときに更新しないでください。パッケージが削除されたときに削除しないでください。これらのファイルはパッケージのクリーンアップ中にのみ削除する必要があります。
答え1
を使用するconffiles
ことは正しいアプローチではありません。主に、パッケージが更新されたときにユーザーに古い "config"ファイルを保持するか、新しいパッケージバージョンを受け入れるかどうかを尋ねるメッセージが表示されるためです。
私の心に浮かぶ代替は、これらのファイルを直接整理することです後期段階このスクリプトを使用すると、パッケージを完全に削除できますが、そのファイルをパッケージ所有としてマークすることはできません。preinst
パッケージがファイルを所有して設定したことを認識し(アップグレード中のアンインストール/インストールステップではなく)、最初のインストールと最後のアンインストール時にのみタスクを実行するようにスクリプトを使用して最初にファイルをインストールpreinst
できますpostrm
。