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

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

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

cat setup.sql | mysql -u root -p

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

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

答案1

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

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

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

相关内容