如何在没有 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
本地文件也可以。)