私はアプリケーションと初期SQLiteデータベースをインストールするデフォルトのDebianパッケージを維持しています。アプリケーションがデータベースを編集できるようにしたいです。
アップグレードによってデータベースが交換されるのを防ぐ方法は?
私の考えではconffiles
解決策でしょうがDebian の管理者ガイドによると:
プログラムが構成ファイルを使用するが、それ自体を書き換える場合、dpkg は常にユーザーに変更を確認するように求めるので、構成ファイルを作成しないことをお勧めします。
最良の選択は何ですか?
答え1
データベースの構成ファイルにアクセスするのではなく、実際にデータベースを渡すことについて話している場合、答えは問題の説明にあります。データベースは構成ファイルではありません。
私の考えに最適なオプションは、データベースをパッケージのインストールファイルとして直接インストールするよりも、管理者スクリプトにインストールすることです。これにより、管理者スクリプトは、次のようなさまざまな状況を処理できます。
- 初期インストールにはデータベースはありません。
- 既存のデータベースを使用したアップグレードはそのままにしてください。
- 移行する必要がある既存のデータベースを使用してアップグレードします。
データベースをパッケージの一時的な場所(下のどこかに)に送信し、/usr/share/yourpackage
必要な場合にのみ物理的な場所に移動できます。に送信しないで、/tmp
ファイルを「登録解除」しようとしないでください。また、見ることができます.debパッケージをインストールするときに一時ファイルはどこにありますか?
追加ボーナスポイントを確認するには、以下を確認してください。dbconfig-common
。