安装pkg-a
不会Requires: pkg-common >= 1.1.0
更新pkg-common
与版本相同的现有已安装包1.0.0
。
pkg-a 规格
Name: pkg-a
Version: 2.3.4
Requires: pkg-common >= 1.1.0
pkg-common 规范
Name: pkg-common
Version: 1.1.0
更新 pkg-a
> yum update pkg-a
=============================================================================================================================================================================================
Package Arch Version Repository Size
=============================================================================================================================================================================================
Updating:
pkg-a noarch 2.3.4-1612802969 my-repo 22 k
Transaction Summary
=============================================================================================================================================================================================
Update 1 Package
请注意,没有列出“更新依赖项” pkg-common
。
检查依赖项pkg-a
:
> yum deplist pkg-a | grep common
dependency: pkg-common >= 1.1.0
provider: pkg-common.x86_64 1.1.0-1612802885.el7
检查可用的版本pkg-common
,以确保:
> yum list --show-duplicates pkg-common
pkg-common.x86_64 1.0.0-1611685722.el7 my-repo
...
pkg-common.x86_64 1.0.0-1611985057.el7 my-repo
pkg-common.x86_64 1.1.0-1612802885.el7 my-repo
> yum list installed pkg-common
pkg-common.x86_64 1.0.0-1611985057.el7 my-repo
关于以下项的附加(时代)信息pkg-common
:
# for old version 1.0.0
> rpm -qp --qf "%{epoch}:%{version}-%{release}" ./plk-common-1.0.0-1611985057.el7.x86_64.rpm
(none):1.0.0-1611985057.el7
# for new version 1.1.0
> rpm -q --qf "%{epoch}:%{version}-%{release}" pkg-common
(none):1.1.0-1612802885.el7
注意是pkg-common-1.1.0
已知的。为什么在更新依赖包时没有安装它?
答案1
使用 Epoch时可能会发生这种情况pkg-common
。这通常几乎是不可见的。请参阅:
$ rpm -q perl
perl-5.32.0-465.fc33.x86_64
$ rpm -q --qf "%{epoch}:%{version}-%{release}" perl
4:5.32.0-465.fc33
perl
在我的机器上,Epoch 设置为4
。并且 Epoch 总是胜过 version。请参阅:
$ rpmdev-vercmp 4:5.32.0 9.0.0
4:5.32.0 > 9.0.0
检查你的是否pkg-common
已经设置了一些纪元,然后:
Requires: pkg-common >= X:1.1.0
X
的纪元数是多少pkg-common
?