我们有多台服务器,分别安装了 Debian、Ubuntu 和 CentOS。我们决定,我们需要能够使用 rpm 将我们自己的非二进制和 Java 包安装到这些服务器中的任何一台上,因为 CentOS 是我们的主要发行版。但是在各种 Debian 文档中都可以找到很多关于使用 rpm 的警告,而且这些文档都没有深入介绍什么是坏处。
如果我们创建自己的 rpm 包,只包含。罐/.js 文件、预安装/后安装/启动脚本,并且没有任何依赖项?
答案1
这些就是我能想到的为什么不应该使用为其他发行版构建的软件包的所有原因:
- 可以针对当前发行版中不存在或错误版本中存在的库来构建二进制文件。
- 不同发行版的文件系统布局可能有所不同。
- 打包程序对安装软件包的系统做出的其他假设可能不适用于当前发行版。
- 不同发行版的软件包名称可能有所不同,因此依赖关系可能无法正确解析。
- 诸如钩子等特殊的包管理功能在不同的包管理器中有所不同。
如果您非常清楚这一点并且知道自己在做什么,那么在 Debian 和 Ubuntu 上使用 RPM 就不是问题。
如果 JS 和 Java 没有额外的依赖项,这应该不是问题。
答案2
没有任何依赖项,它可能会工作,但我认为你根本没有任何 rpm 包。只需将脚本复制到你想要的位置即可。
您也可以使用转换器用于简单的数据包管理。
我认为在一个操作系统上安装多个包管理系统不是一个好主意。
答案3
Converter(又名 alien)不稳定且有缺陷。
为了将你的软件打包到不同的包管理器中,我强烈建议你使用如下工具从源代码构建平均流量。
不要为生产服务器转换二进制文件。永远不要。相反,花 1 个小时进行适当的打包,避免漫长而无聊的调试。