.debパッケージをインストールするときに一時ファイルはどこにありますか?

.debパッケージをインストールするときに一時ファイルはどこにありますか?

MySQLデータベースが必要な.debパッケージを作成しています。私はビルドパックを使用していますdpkg-deb --build。インストール時に、インストール後のスクリプトで次のようにSQLスクリプトを実行してデータベースを設定したいと思います。

cat setup.sql | mysql -u root -p

私は現在私のパッケージの「DEBIAN」フォルダにsetup.sqlを入れました。このSQLスクリプトを見つけるには、インストール後にスクリプトにどのパスを指定する必要がありますか?

インストール後にスクリプトにSQLエントリを含めることができることを知っていますが、コードのメンテナンス上の理由で別々に維持したいと思います。

答え1

DEBIANビルドされたパッケージに追加したファイルに(まったく)簡単にアクセスできませんdpkg-deb -b。このファイルは最終的にバイナリパッケージの制御情報領域にあり、そのようにインストールされません(実際にはそうではありません)。非標準ファイルがパッケージに含まれていることを確認してください。標準ファイルは/var/lib/dpkg/info)で終わります。

/usr/share/yourpackageyourpackageパッケージ名に置き換えます)にスクリプトをインストールする必要があります。その後、postinstそこにアクセスできます。

理想的には、あなたは使用しますdbconfig-common代わりに、さまざまなユースケースとデータベース構成がサポートされています。これにはより多くの初期作業が必要ですが、より多くのパッケージが作成されます。

関連情報