所以我正在构建一个.deb
,并且我需要执行一些安装后命令(链接库路径和一些其他内容)。
有没有办法,当你执行 时sudo dpkg -i <pacakage-name>.deb
,脚本就会运行?
答案1
您可以在安装后使用位于源中的 debian 文件夹中的 postinst shell 脚本执行命令。
这是一个普通的 shell 脚本,其中包含安装软件包后要执行的所有命令(按顺序)。dpkg 将自动运行此脚本。因此,您需要做的就是在将源包打包成二进制包之前创建一个 shell 脚本,将其命名为“postinst”并将其放在 debian 目录中。
欲了解更多信息,请访问Ubuntu 打包指南。
答案2
有一个名为的文件:
<package directory>/DEBIAN/postinst
该脚本是一个普通的 bash shell 脚本,应该包含适当的 bash 命令,例如:
#!/bin/bash
echo "Post install script is running now"
#systemctl status <your systemd service>
确保在构建 debian 包时记得将此安装后脚本复制到包中。
我使我的可执行文件:
chmod 755 postinst
在 apt 包管理器安装适当的文件后,将执行此 postinst 脚本。
就这么简单。