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