1. 问题:今天在客户提供的机器上部署服务,在使用自建的 yum(自建的源包非常全面,在客户机器成功安装上百次) 源安装 openssl-devel 的过程中,出现了依赖krb5-libs升级安装错误的问题:
bash
--> Finished Dependency Resolution
Error: Package: libkadm5-1.15.1-54.el7_9.x86_64 (local_repo)
Requires: krb5-libs(x86-64) = 1.15.1-54.el7_9
Installed: krb5-libs-1.15.1-50.el7.x86_64 (@anaconda/7.9)
krb5-libs(x86-64) = 1.15.1-50.el7
Error: Package: krb5-workstation-1.15.1-50.el7.x86_64 (@anaconda/7.9)
Requires: libkadm5(x86-64) = 1.15.1-50.el7
Removing: libkadm5-1.15.1-50.el7.x86_64 (@anaconda/7.9)
libkadm5(x86-64) = 1.15.1-50.el7
Updated By: libkadm5-1.15.1-54.el7_9.x86_64 (local_repo)
libkadm5(x86-64) = 1.15.1-54.el7_9
Error: Package: krb5-server-1.15.1-50.el7.x86_64 (@anaconda/7.9)
Requires: libkadm5(x86-64) = 1.15.1-50.el7
Removing: libkadm5-1.15.1-50.el7.x86_64 (@anaconda/7.9)
libkadm5(x86-64) = 1.15.1-50.el7
Updated By: libkadm5-1.15.1-54.el7_9.x86_64 (local_repo)
libkadm5(x86-64) = 1.15.1-54.el7_9
Error: Package: krb5-devel-1.15.1-54.el7_9.x86_64 (local_repo)
Requires: krb5-libs(x86-64) = 1.15.1-54.el7_9
Installed: krb5-libs-1.15.1-50.el7.x86_64 (@anaconda/7.9)
krb5-libs(x86-64) = 1.15.1-50.el7
下面是rpm单独安装新的krb5-libs 的报错:
bash
# rpm -Uvh krb5-libs-1.15.1-54.el7_9.x86_64.rpm
warning: krb5-libs-1.15.1-54.el7_9.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
krb5-libs(x86-64) = 1.15.1-50.el7 is needed by (installed) libkadm5-1.15.1-50.el7.x86_64
krb5-libs(x86-64) = 1.15.1-50.el7 is needed by (installed) krb5-workstation-1.15.1-50.el7.x86_64
krb5-libs(x86-64) = 1.15.1-50.el7 is needed by (installed) krb5-pkinit-1.15.1-50.el7.x86_64
krb5-libs(x86-64) = 1.15.1-50.el7 is needed by (installed) krb5-server-1.15.1-50.el7.x86_64
2. 经过仔细排查原因: 客户的机器上已经安装了 krb5-libs-1.15.1-50.el7.x86_64,我们reqiuire依赖是krb5-libs-1.15.1-54.el7.x86_64,如果想要升级新的包,需要将 50版本卸载掉,但是卸载过程中,有其他项目依赖老版本
3. 解决办法:卸载krb5-workstation-1.15.1-50.el7.x86_64,krb5-pkinit-1.15.1-50.el7.x86_64,krb5-server-1.15.1-50.el7.x86_64,然后再使用我们自建的 yum 源安装就行了
bash
yum remove krb5-workstation krb5-pkinit krb5-server
yum install openssl-devel