安装 .deb 包时临时文件去哪里了?

Ala*_*irG 4 dpkg

我正在创建一个需要 MySQL 数据库的 .deb 包。我正在使用dpkg-deb --build. 在安装时,我希望我的安装后脚本执行 SQL 脚本来设置数据库,如下所示:

cat setup.sql | mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

我目前正在将 setup.sql 放入我的包的“DEBIAN”文件夹中。我需要在安装后脚本中指定什么路径才能找到此 SQL 脚本?

我知道我可以将 SQL 内容嵌入到我的安装后脚本中,但出于代码维护的原因,我想将它们分开。

Ste*_*itt 5

你不能轻易地(如果有的话)访问你DEBIAN在用它构建的包中添加的文件dpkg-deb -b——这些文件最终在二进制包的控制信息区域中,它们不是这样安装的(事实上,我不是确保包中甚至包含非标准文件;标准文件以/var/lib/dpkg/info)结尾。

您应该改为安装您的脚本/usr/share/yourpackage(替换yourpackage为您的包的名称)。然后你postinst可以在那里访问它。

理想情况下,你会使用dbconfig-common; 支持各种用例和数据库配置。这将涉及更多的前期工作,但会产生更多功能的包。