我正在创建一个需要 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
反而;支持各种用例和数据库配置。这将涉及更多的前期工作,但会产生一个更加通用的包。