Dpkg

安裝 .deb 包時臨時文件在哪裡?

  • November 17, 2017

我正在創建一個需要 MySQL 數據庫的 .deb 包。我正在使用dpkg-deb --build. 在安裝時,我希望我的安裝後腳本執行 SQL 腳本來設置數據庫,如下所示:

cat setup.sql | mysql -u root -p

我目前正在將 setup.sql 放入我的包的“DEBIAN”文件夾中。我需要在我的安裝後腳本中指定什麼路徑才能找到這個 SQL 腳本?

我知道我可以將 SQL 內容嵌入到我的安裝後腳本中,但出於程式碼維護的原因,我想將它們分開。

您無法輕鬆(如果有的話)訪問您DEBIAN在建構的包中添加dpkg-deb -b的文件 - 這些文件最終位於二進制包的控制資訊區域,它們不是這樣安裝的(事實上,我不是確保非標准文件甚至包含在包中;標准文件以/var/lib/dpkg/info) 結尾。

您應該將腳本安裝在/usr/share/yourpackage(替換yourpackage為您的包的名稱)。然後你postinst可以在那裡訪問它。

理想情況下,您會dbconfig-common改用;支持各種案例和數據庫配置。這將涉及更多的前期工作,但會產生一個更加通用的包。

引用自:https://unix.stackexchange.com/questions/404758