rpm-4.11.3-35.el7.x86_64.rpm 没有 rpmlib(SetVersions)?

rpm-4.11.3-35.el7.x86_64.rpm 没有 rpmlib(SetVersions)?

如何在没有 rpmlib(SetVersions) 的情况下解决以下问题:

[root@cspt3db5 install]#
[root@cspt3db5 install]#  
[root@cspt3db5 install]# rpm -ivh libgpm-1.20.1-alt18.1.x86_64.rpm       
error: Failed dependencies:
        rpmlib(SetVersions) is needed by libgpm-1.20.1-alt18.1.x86_64
[root@cspt3db5 install]# 
[root@cspt3db5 install]# 
[root@cspt3db5 install]# 
[root@cspt3db5 install]# rpm -q rpm-4.11.3-25.el7.x86_64 --showrc|grep -i rpmlib|grep -i version
    rpmlib(TildeInVersions) = 4.10.0-1
    rpmlib(VersionedDependencies) = 3.0.3-1
[root@cspt3db5 install]# 
[root@cspt3db5 install]# 
[root@cspt3db5 install]# 
[root@cspt3db5 install]# rpm -qp rpm-4.11.3-35.el7.x86_64.rpm --showrc|grep -i rpmlib|grep -i version
    rpmlib(TildeInVersions) = 4.10.0-1
    rpmlib(VersionedDependencies) = 3.0.3-1
[root@cspt3db5 install]# 
[root@cspt3db5 install]# 

答案1

您正在尝试将适用于特定发行版的 RPM 软件包安装到不同的 Linux 发行版上。

从软件包的后缀rpm( .el7) 来看,您似乎正在使用 RHEL 7 或其派生发行版之一,例如 CentOS 7。libgpm您尝试安装的软件包有一个.alt*后缀,该后缀似乎是 ALT Linux 使用的。

适用于不同发行版的 RPM 包通常彼此不兼容,并且您可能会遇到依赖项之间的不兼容问题,甚至在包管理器本身的隐式依赖项上也是如此。

在 CentOS 7 上,您很可能想使用gpm-libs它,您可以在此处下载:gpm-libs-1.20.7-5.el7.x86_64.rpm。或者,更好的是,使用以下命令安装它yum

yum install gpm-libs

为了解决如何查找满足特定依赖关系的包这一更普遍的问题,您还可以进行查询yum

例如,要查找rpmlib(SetVersions)是否可用:

yum whatprovides 'rpmlib(SetVersions)'

假设存在这样的包,您还可以直接将该功能传递给yum install安装提供它的包:

yum install 'rpmlib(SetVersions)'

最后,您可以yum安装本地包,同时从数据库中解析其依赖项并安装必要的包来满足它们:

yum localinstall ./*.rpm

(使用yum install本地文件也可以。)

相关内容