【问题标题】:Yum does not resolve new package dependencies on local upgradeYum 不解决本地升级的新包依赖关系
【发布时间】:2018-03-18 02:24:36
【问题描述】:

我有一个 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?也许新的 openssl 已经存在?也尝试看看 openssl 提供了什么:rpm -q openssl --provides
  • 啊对;在尚未安装 openssl 的新机器上;如果可以,yum 将始终采用最新版本的软件包。
  • 安装的openssl是1.0.1,--provides的输出是openssl = 1:1.0.1e-60.el7openssl(x86-64) = 1:1.0.1e-60.el7
  • 这是一个完全干净的 CentOS 7.4 安装,只安装了我的原始包及其依赖项。

标签: centos7 yum rpmbuild


【解决方案1】:

问题与 epoch 编号有关。您的版本需要openssl >= 1.0.2。然而,openssl 包提供了1:1.0.1epoch 数字是最重要的数字。事实上 rpm 读取您的要求 openssl >= 1.0.2openssl >= 0:1.0.2

你的问题会解决,如果你说:

Requires: openssl >= 1:1.0.2

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

供进一步阅读;看here

【讨论】:

  • 太棒了,这对我来说非常有用,谢谢!我想我现在唯一的困惑是为什么这可以在全新安装上工作(openssl 1.0.1e 默认安装在我拥有的 CentOS 发行版上)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-17
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多