如何制作在安装 apt 包时运行的脚本

如何制作在安装 apt 包时运行的脚本

我创建了一个 bash 脚本,它将一些数据存储到 mysql 数据库中。然后我使用deb该脚本创建文件,并通过创建本地 apt 存储库使其可供安装。

现在,我可以在任何系统中安装该包(apt-get install packgename),但问题是,每次在每个系统上安装后,我必须手动为该脚本创建 mysql 数据库。

有什么方法可以在安装过程中运行创建 mysql 数据库的脚本(因为这是系统的一次性要求)。我听说过类似postpre脚本的东西,但在谷歌上搜索时没有任何想法。你们能提供一些好的教程吗?

答案1

假设您有.deb本地文件(如果没有,您可以通过下载它apt-get download package)。

解压你的 deb 文件:

ar x package.deb

当前文件夹中现在有几个文件。data.tar.gz是包含包内容的文件。但我们感兴趣的是control.tar.gz包含后脚本和前脚本的文件。因此,在另一个文件夹中解压控制文件:

tar xfs control.tar.gz

现在,您要搜索的是名为 的脚本postinst,该脚本在安装包后执行。如果该脚本不存在,只需创建它,并使用rwxr-xr-x权限 (755)。在该脚本中放置您的 db create 命令,并让脚本以 结尾,表示exit 0安装成功或exit 1失败。

完成所有操作后,tar文件将返回到控制文件。在文件夹中使用该命令创建control.tar.gz文件。

tar -czf control.tar.gz *

现在,使用这些新文件重新创建 deb 包,使用以下命令:

ar r package.deb debian-binary control.tar.gz data.tar.gz

就是这样!

相关内容