Yum 不会在本地升级时解析新的软件包依赖关系



我有一个 RPM 软件包mypackge和最近的更改,我的软件要求我将 OpenSSL v1.0.2 添加为依赖项。

最初,RPM 规范包含以下要求行:

Requires: openssl policycoreutils-python python2-pip ...

我已将此行更新为:

Requires: openssl >= 1.0.2 policycoreutils-python python2-pip ...

这似乎非常适合新安装,新的依赖项按预期解析和安装。当我尝试更新现有安装时出现问题...

[root@vm]# yum install mypackage-1.2.1.4-1.x86_64.rpm
Loaded plugins: fastestmirror
Examining mypackage-1.2.1.4-1.x86_64.rpm: mypackage-1.2.1.4-1.x86_64
Marking mypackage-1.2.1.4-1.x86_64.rpm as an update to mypackage-1.2.1.3-1.x86_64
Resolving Dependencies
--> Running transaction check
---> Package mypackage-1.2.1.3-1 will be updated
---> Package mypackage-1.2.1.4-1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================
Package    Arch    Version    Repository                            Size
===========================================================================
Updating:
mypackage  x86_64  1.2.1.4-1  /mypackage-1.2.1.4-1.x86_64.rpm       5.0 M
Transaction Summary
===========================================================================
Upgrade  1 Package

由于某种原因,新的OpenSSL依赖项未解析或安装,这是预期行为吗,如果是,我应该如何向现有软件包添加其他依赖项?

提前感谢!

该问题与纪元编号有关。您的版本需要 openssl >= 1.0.2 .但是,openssl 软件包提供了1:1.0.1纪元数是最重要的数字。事实上,rpm 将您的要求openssl >= 1.0.2读取为openssl >= 0:1.0.2

如果您说以下情况,您的问题将得到解决:

Requires: openssl >= 1:1.0.2

注意:当您进行全新安装并且尚未安装openssl时; yum 默认采用最新版本; 这欺骗了您,让您认为您的要求有效。

如需进一步阅读;请看这里

最新更新