我们有一个 Linux 服务器应用程序,它由许多开源工具以及我们自己编写的程序组成。理想情况下,我们希望能够在任何常见的 Linux 发行版上安装此应用程序。
过去,我们编写了 perl 脚本来自动安装此应用程序。不幸的是,由于不同 Linux 发行版的特性,这些安装脚本中的逻辑变得非常复杂,并且可能随着每个受支持发行版的新版本发布而改变。因此,维护安装程序成为项目中最耗时的部分之一!
我正在寻求帮助,无论是框架、文档还是代码示例,它们都可以减轻这个过程的痛苦。以下是我们的安装程序需要做的事情类型:
创建用户/群组帐户
创建具有特定所有权和权限的目录树
安装开源应用程序,可能会在安装过程中从源代码编译它们
将预编译的二进制文件、脚本、配置文件和文档插入特定目录
注册init类启动和关闭脚本
生成加密 key
验证与中央服务器的连接
最佳答案
除了安装程序方法,我认为比在安装时使用单个脚本更好的方法是拥有一个构建系统,该系统生成适合安装在您必须支持的每个系统上的 .deb 或 .rpm 文件。
穷人的方法可能是使用 checkinstall ,它从通过“make install”安装的文件创建包。因此,您将在每个系统上构建您的应用程序,并以发行版的 native 格式神奇地创建包。
关于linux - 为 Linux 应用程序编写通用安装程序的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254054/