并排RPM版本

时间:2011-04-15 17:30:05

标签: rpm yum rpm-spec

设计RPM的“正确”方式是什么,以便可以通过YUM / RPM并排安装多个版本而不会相互踩踏?对于库,正确的答案似乎与sonames有关,虽然我找不到有关sonames,符号链接和RPM如何相互交互的任何好信息。我不知道应该如何命名/放置可执行文件和普通文件以便并排放置。就可执行文件而言,似乎正确的行为是在PATH上使用较新的版本,但如果卸载了较新的RPM,则将旧版本放在PATH上。

1 个答案:

答案 0 :(得分:3)

基本上,您需要确保版本不冲突:

  • 要求/冲突部分不得有冲突的要求
  • 每个文件名只能存在于一个版本中 - 除非它们相同
  • Scriptlets(%post等)如果你有,必须合作

请注意,使用yum安装多个版本时会遇到问题,因为yum旨在一次安装一个版本 - 内核除外。如果使用yum安装/更新软件包,则将删除所有旧版本。因此,您需要为每个版本使用rpm -i。

关于在路径中有更多最近的二进制文件,不可能正确地执行它。您需要执行类似python的操作,其中用户必须在命令行上指定python或python3,或者您必须在所需的二进制文件的路径上创建符号链接。这必须在scriptlet中完成,管理它是一个非常大的挑战。这也意味着符号链接不会被任何包拥有。