Nick Anderson Asked: 2010-01-28 14:37:10 +0800 CST2010-01-28 14:37:10 +0800 CST 2010-01-28 14:37:10 +0800 CST RPM 打包多个版本以同时安装 772 是否有一些指导方针,或者是否有人对我应该如何打包我需要能够同时安装多个版本的东西有建议? package-management rpm 2 个回答 Voted bjlaub 2010-01-28T18:14:18+08:002010-01-28T18:14:18+08:00 我不确定这是否符合您要完成的任务,但是在我从事的一个项目中,我们首先通过指定目录结构来做到这一点,例如: /usr/local/[project_name]/[version] project_name项目的“基本名称”在哪里,并且version是一个特定的标记版本。然后,我们为 RPM 版本使用了任意数字(单调递增),以便同一标签或分支中的版本可以进行 RPM 升级,而不会与其他标签/分支冲突。这意味着您需要在 RPM 名称标头中的某处编码版本号,而不是版本,例如 Name: foobar-1.0 Version: 1234 Release: 1 # ...etc... 在这种情况下,RPM 可能会安装到该路径下/usr/local/foobar/1.0,后续版本将被命名为“foobar-2.0”并以类似方式安装。 名称“foobar-1.0”意味着您需要一些其他系统,而不是RPM 系统来跟踪版本号——我们使用了一个 shell 脚本,它只是根据需要为标记版本生成规范文件。这可能有点麻烦,但它为您提供了能够以通用方式安装多个版本的软件包的灵活性,并且能够同时使用多个版本。 这只是一个建议,显然是 YMMV。 James 2010-01-28T15:03:04+08:002010-01-28T15:03:04+08:00 只需给包不同的名称,并确保它们将文件安装到不同的位置。 或者将所有版本捆绑到一个包中。
我不确定这是否符合您要完成的任务,但是在我从事的一个项目中,我们首先通过指定目录结构来做到这一点,例如:
/usr/local/[project_name]/[version]
project_name
项目的“基本名称”在哪里,并且version
是一个特定的标记版本。然后,我们为 RPM 版本使用了任意数字(单调递增),以便同一标签或分支中的版本可以进行 RPM 升级,而不会与其他标签/分支冲突。这意味着您需要在 RPM 名称标头中的某处编码版本号,而不是版本,例如在这种情况下,RPM 可能会安装到该路径下
/usr/local/foobar/1.0
,后续版本将被命名为“foobar-2.0”并以类似方式安装。名称“foobar-1.0”意味着您需要一些其他系统,而不是RPM 系统来跟踪版本号——我们使用了一个 shell 脚本,它只是根据需要为标记版本生成规范文件。这可能有点麻烦,但它为您提供了能够以通用方式安装多个版本的软件包的灵活性,并且能够同时使用多个版本。
这只是一个建议,显然是 YMMV。
只需给包不同的名称,并确保它们将文件安装到不同的位置。
或者将所有版本捆绑到一个包中。