制作 deb 包的一些命令

制作 deb 包的一些命令

我想制作一个包来执行一些命令。

我考虑的第一个选择是创建一个postinst文件。

但似乎这样就会被执行该包已安装,因此如果该脚本失败,则包将被安装但处于损坏状态!

第二种选择是使用Makefile,但这似乎是在包的构建过程中执行的,而不是在安装期间执行的。

最后一个选项是使用install文件,但在这种情况下我似乎需要为几个命令创建一个单独的脚本文件,将它们复制到某个路径,然后让该脚本执行postinst

还有其他选择吗?

答案1

  • 是的,您可以用来postinst运行一次性(设置/配置)脚本。

    只是,不要使用set -e或直接禁用错误退出set +e

  • 还可以使用条件指令(如,,...)捕获和处理if错误||

  • 此后,您仍然可以使用其他运行时工具制作并向用户提供相同的安装脚本。如果安装失败并被跳过。最终用户可以随时重新运行它或尝试调试它。类似于locatedb(或updatedb在某些系统中)来自的东西locate,它由 APT 运行,也可供用户使用。

只需让脚本向用户报告错误消息,这样他们就知道发生了什么以及下一步该做什么。

相关内容