Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
去年关门了。
我正在尝试为在Linux系统上运行的程序创建一个安装脚本我选择Bash作为安装脚本,我想知道是否有任何有效的方法可以独立于系统的包管理器安装包。我知道Debian使用aptitude,Redhat使用yellow dog updater等。鉴于包管理器的多样性,似乎需要很多if语句,其中检查分发并将其与默认包管理器匹配。
除了检查发行版之外,我唯一能想到的是让脚本手动下载包源并构建它们。我不知道这些项目有多受欢迎,但我有兴趣知道。
Make并不是唯一的选择,还有其他的构建系统,它们在本质上是一样的。
仍然有很多开源项目,在这些项目中,本地编译然后将文件移动/复制到正确的位置是首选的安装方法(有时仅限于开发版本)
示例:
阿里亚2:https://github.com/aria2/aria2/
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
去年关门了。
我正在尝试为在Linux系统上运行的程序创建一个安装脚本我选择Bash作为安装脚本,我想知道是否有任何有效的方法可以独立于系统的包管理器安装包。我知道Debian使用aptitude,Redhat使用yellow dog updater等。鉴于包管理器的多样性,似乎需要很多if语句,其中检查分发并将其与默认包管理器匹配。
除了检查发行版之外,我唯一能想到的是让脚本手动下载包源并构建它们。我不知道这些项目有多受欢迎,但我有兴趣知道。
最佳答案
你不是第一个遇到这个问题的人。基本上,有两种不同的解决方案。
使用包管理器
示例:
码头工人:https://get.docker.com/
https://github.com/firehol/netdata
Docker检测到你的操作系统并将它自己的存储库添加到本地包管理器中。这可能是您的一个选项,取决于您的项目大小。
标准编译和安装方法
您可能听说过以下三行:
./configure
make
make install
Make并不是唯一的选择,还有其他的构建系统,它们在本质上是一样的。
仍然有很多开源项目,在这些项目中,本地编译然后将文件移动/复制到正确的位置是首选的安装方法(有时仅限于开发版本)
示例:
阿里亚2:https://github.com/aria2/aria2/
09-08 01:22