2011-04-15 41 views
3

什么是“正确”的方式来设计RPM,以便可以通过YUM/RPM并排安装多个版本而不会彼此跺脚?对于图书馆来说,正确的答案似乎与sonames有关,尽管我找不到关于sonames,符号链接和RPM如何相互交互的任何好消息。我不知道如何命名/放置可执行文件和普通文件以便并排放置。就可执行文件而言,似乎正确的行为是在PATH上安装新版本,但如果卸载较新的RPM,则应在PATH上安装旧版本。并排RPM版本

回答

3

从本质上讲,你需要确保该版本不冲突:

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

请注意,你将无法安装多个版本的yum,因为yum被设计为一次安装一个版本 - 内核除外。如果您使用yum安装/更新软件包,所有旧版本都将被删除。因此,您需要为每个版本使用rpm -i。

关于路径中有更多近期的二进制文件,无法正确执行。你或者需要做一些类似python的事情,用户必须在命令行上指定python或python3,或者你必须在所需的二进制文件路径上创建符号链接。这必须在脚本中完成,管理它是一项相当大的挑战。这也意味着符号链接不会被任何包所拥有。

+0

所以不幸的是,答案似乎不能以任何有用的方式完成。 :-( – tgoodhart 2011-05-24 14:34:11