rpm 需要范围

Ger*_*rdo 5 rpm rhel

我目前有两个问题:

1) 是否可以在 rpm 规范文件中指定软件包的范围?就像是

package >= 1.0.0 且 package < 1.0.50 意味着它将选取接近 1.0.50 的最新包版本

2) 有人知道 yum 是否会更新到更高版本的包,即使在规范文件中指定的版本较低?或者有什么可以避免升级到更高版本?为了更清楚起见,这是我的例子:

我的仓库中有两个包: package-1.0.5-1 package-2.0.10-1

如果我的包的规格文件!具有以下要求 要求:package > 1.0.5

当我执行 yum 安装 packageA 时,这意味着它将安装 1.0.5 版本的更高版本,或者它会假设 2.0.10 更高并会安装它?我想要实现的是告诉我的包只安装 1.0.5 版本的版本,而不是跳到 2.x 版本。

我希望我已经表达清楚了。感谢您给我的任何提示或回复

Aar*_*sco 1

我不明白为什么您不能指定范围,您可能需要在规范文件的两行中输入它。

但是,对于第二个问题,当要求升级时yum可能会尝试安装2.0.10,然后抱怨冲突/要求(您没有指定范围的用途)。所以这会惹恼用户。

如果您可以控制目标包,一种解决方案是命名版本 2,package2-2.0.10这种情况经常发生。就 rpm/yum 而言,这是一个完全不同的软件包,并且不会被视为过去的选项package-1.0.50

请参阅此 wiki 页面以获取更多信息。