在CentOS下用rpm安装软件时会报如下错误:

1、安装时提示:

[root@db software]# rpm -ivh ksh-20120801-254.el8.x86_64.rpm
warning: ksh-20120801-254.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
error: Failed dependencies:
    libm.so.6(GLIBC_2.23)(64bit) is needed by ksh-20120801-254.el8.x86_64

解决的方法就是在 rpm 语句后面加上 --force --nodeps
即原本为 rpm -ivh *.rpm 现在改成 rpm -ivh *.rpm --force --nodeps 就可以了。
nodeps的意思是忽视依赖关系,因为各个软件之间会有多多少少的联系,有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载。

[root@db software]# rpm -ivh ksh-20120801-254.el8.x86_64.rpm --force --nodeps
warning: ksh-20120801-254.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:ksh-20120801-254.el8             ################################# [100%]

2、尝试卸载:
造成这个问题的主要原因是套件被重复(强制) 安装了两次以上,
尝试了--nodeps, --force, --justdb 都不行,可以用如下办法解决:
通过 man rpm,发现 --allmatches 应该可以解决这个问题.
[root@db software]# rpm -e --allmatches --nodeps ksh*

01-17 06:31