如果有的话,设计 RPM 以便可以通过 YUM/RPM 并排安装多个版本而不会相互踩踏的“正确”方式是什么?对于图书馆,正确的答案似乎与 sonames 相关,尽管我找不到任何关于 sonames、符号链接和 RPM 如何相互交互的好信息。我不知道应该如何命名/放置可执行文件和普通文件以便并排放置。就可执行文件而言,正确的行为似乎是将较新的版本放在 PATH 上,但如果卸载较新的 RPM,则将较旧的版本放在 PATH 上。
问问题
1751 次
1 回答
3
本质上,您需要确保版本不冲突:
- 要求/冲突部分不得有冲突的要求
- 每个文件名只能存在于一个版本中 - 除非它们相同
- Scriptlet (%post ect) 如果你有它们必须合作
请注意,您将无法使用 yum 安装多个版本,因为 yum 旨在一次安装一个版本 - 内核除外。如果您使用 yum 安装/更新软件包,所有旧版本都将被删除。因此,您需要为每个版本使用 rpm -i。
关于在路径中有更新的二进制文件,不可能正确地做到这一点。您要么需要执行类似 python 的操作,用户必须在命令行上指定 python 或 python3,要么必须在所需二进制文件的路径上创建符号链接。这必须在 scriptlet 中完成,并且管理它是一个相当大的挑战。这也意味着符号链接不属于任何包。
于 2011-05-21T10:45:05.140 回答