Linux 指定的提供了rpm规范文件中的版本

Linux 指定的提供了rpm规范文件中的版本,linux,rpm,specifications,Linux,Rpm,Specifications,发生了什么: 由于rpm不再支持在机器上同时安装32位和64位同名软件包,我现在正在处理linux并行安装问题。因此,我需要将32位包的名称从xxx.i386.rpm更改为xxx-32bit.i386.rpm。为了支持这个包的升级,我应该在spec文件中提供旧包名:xxx 问题: 我查看了rpm.org的页面,查看是否可以指定规范文件中提供的版本,如: 提供:xxx=16.0 我做了一些测试,它似乎有效。但我找不到任何官方解释。 如果我在provides中指定了provides包的版本,其他

发生了什么:

由于rpm不再支持在机器上同时安装32位和64位同名软件包,我现在正在处理linux并行安装问题。因此,我需要将32位包的名称从xxx.i386.rpm更改为xxx-32bit.i386.rpm。为了支持这个包的升级,我应该在spec文件中提供旧包名:xxx

问题:
我查看了rpm.org的页面,查看是否可以指定规范文件中提供的版本,如:

提供:xxx=16.0

我做了一些测试,它似乎有效。但我找不到任何官方解释。

如果我在provides中指定了provides包的版本,其他人知道正确的行为吗?

我把RPM仍然支持multilib放在一边(我很奇怪你为什么这么做)。但当我关注规范问题时

你说得几乎正确。省略那个百分号就行了。正确答案是:

Provides: xxx = 16.0
请注意,“16.0”应该只是一个版本。虽然从技术上讲,它可以是版本发布,但这会在以后的某个时候给您带来麻烦


如果你想提供真正干净的升级路径,你也应该把它放在那里。请参阅

“rpm不再支持在计算机上同时安装32位和64位同名软件包”您在哪里读到这篇文章?@IgnacioVazquez Abrams您可以在OpenSUSE 13.1上进行测试,也可以在我使用的发行版上进行测试,“多库在哪里工作很好。@IgnacioVazquez Abrams请忽略这一点,因为我的主要问题不是这个。我仍然很好奇你为什么这么说。谢谢你的回答,msuchy。你的链接很有帮助,也很棒。顺便说一句,我遇到的问题将发生在RHEL 7、OpenSUSE或CentOS可能使用的新rpm版本中。您无法再安装同一软件包的两个比特的不同版本。