未安装的软件包显示文件冲突

未安装的软件包显示文件冲突

我在安装尚未安装的 RPM 时遇到冲突问题。我尝试了“yum clean all”,但它没有改变任何东西。该问题是否与软件包有关,而不是操作系统。

RHEL 7.7 x86_64

 [root@server dumps]# rpm -ivh pdksh-5.2.14-30.x86_64.rpm
warning: pdksh-5.2.14-30.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 4f2a6fd2: NOKEY
Preparing...                          ################################# [100%]
        file /usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-30.x86_64 and pdksh-5.2.14-30.x86_64
[root@server dumps]#
[root@server dumps]# ll /usr/bin/ksh
ls: cannot access /usr/bin/ksh: No such file or directory
[root@server dumps]#
[root@server dumps]# rpm -qa | grep -i ksh
[root@server dumps]#

答案1

你没有说包来自哪里,但如果是相同的版本来自 Fedora Linux Core 3然后我就明白问题出在哪里了。

问题是该pdksh-5.2.14-30.x86_64.rpm包与其自身冲突。这就是该名称在错误中列出两次的原因。

如果您查看rpm -qlp pdksh-5.2.14-30.x86_64.rpm,您会看到许多条目,但冲突的是/bin/ksh/usr/bin/ksh。它们曾经位于 Fedora 中的不同位置,并且在包中提供了两个不同的文件。在 RHEL 7 系统中,位置/bin/usr/bin是同一位置,并且 RPM 无法将两个不同的文件安装到同一位置。

RedHat 似乎不再打包pdksh,而是提供mkshksh。如果您无法使用其中之一,我建议重建源码包无需安装文件/bin或仅从源代码编译软件。

相关内容