如果可能的话,有没有一种“正确”的方法可以设计RPM,以便通过YUM/RPM可以同时安装多个版本而不会互相干扰?对于库文件而言,正确的答案似乎与sonames有关,尽管我找不到任何关于sonames、符号链接和RPM如何交互的好信息。我完全不知道可执行文件和普通文件应该如何命名/放置,以便它们可以并排放置。就可执行文件而言,更好的做法似乎是将新版本添加到PATH中,但是如果卸载了新版本的RPM,则应将旧版本添加到PATH中。
基本上,您需要确保版本不冲突:
请注意,使用yum安装多个版本会遇到问题,因为yum设计为一次只安装一个版本 - 除了内核。如果您使用yum安装/更新软件包,则所有旧版本都将被删除。因此,您需要对每个版本使用rpm -i。
关于在路径中拥有更新的二进制文件,这是不可能做到的。您可以像Python一样在命令行上指定python或python3,或者在路径上创建符号链接以获取所需的二进制文件。这需要在脚本中完成,并且管理起来相当具有挑战性。这也意味着符号链接不属于任何软件包。