我在安装尚未安装的 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
,而是提供mksh
和ksh
。如果您无法使用其中之一,我建议重建源码包无需安装文件/bin
或仅从源代码编译软件。