RPM 打包多个版本以便同时安装

Nic*_*son 7 package-management rpm

是否有一些指导方针,或者有人对我应该如何打包我需要能够同时安装多个版本的东西有任何建议?

bjl*_*aub 5

我不确定这是否符合您要完成的任务,但是在我参与的一个项目中,我们通过首先指定目录结构来做到这一点,例如:

/usr/local/[project_name]/[version]

project_name项目的“基本名称”在哪里,version是一个特定的标记版本。然后,我们为 RPM 版本使用了一个任意数字(单调递增),这样同一标签或分支中的版本就可以进行 RPM 升级,而不会与其他标签/分支发生冲突。这意味着您需要在 RPM 名称标头中的某处编码一个版本号,而不是版本,例如

Name: foobar-1.0
Version: 1234
Release: 1
# ...etc...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,RPM 可能会安装到路径下/usr/local/foobar/1.0,后续版本将被命名为“foobar-2.0”并以类似方式安装。

“foobar-1.0”这个名字意味着你需要一些其他的系统,而不是RPM 系统来跟踪版本号——我们使用了一个 shell 脚本,它根据需要为标记的发布生成规范文件。这可能有点麻烦,但它为您提供了能够以通用方式安装多个版本的软件包的灵活性,并且能够同时使用多个版本。

这只是一个建议,显然是 YMMV。


Jam*_*mes 0

只需为软件包指定不同的名称,并确保它们将文件安装到不同的位置即可。

或者将所有版本捆绑到一个包中。