查询rpm数据库时的Linux Duplicate软件包

时间:2020-01-09 10:41:30  来源:igfitidea点击:

问题描述:为什么在使用rpm -qa命令查询rpm数据库时看到重复的软件包名称?例如,当我执行以下命令时,我会看到一些重复的软件包:
rpm -qa | grep 包名称

我如何解决这个问题?

解决方法:这不是什么大问题/错误,通常有多个rpm软件包名称。

不同的体系结构存在不同的RPM文件。
例如,用于32位系统的i386和x86_64 64位系统。
在某些情况下,您可以在64位系统上安装32位软件包,以实现向后兼容。

使用以下命令代替rpm -qa | grep包:

# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{ARCH} \n" | grep openssl | sort

输出:

openssl-0.9.7a-43.14.i686
openssl-0.9.7a-43.14.x86_64
openssl-devel-0.9.7a-43.14.x86_64
openssl-perl-0.9.7a-43.14.x86_64
openssl096b-0.9.6b-22.46.i386
openssl096b-0.9.6b-22.46.x86_64
xmlsec1-openssl-1.2.6-3.i386
xmlsec1-openssl-1.2.6-3.x86_64
xmlsec1-openssl-devel-1.2.6-3.x86_64

现在,您将能够看到体系结构以及程序包名称。
在添加或删除rpm文件时使用体系结构名称。
例如,如果您只想添加xmlsec1-openssl i386体系结构rpm:

# rpm -ivh xmlsec1-openssl-1.2.6-3.i386

或删除相同的文件(如果已安装):

# rpm -e xmlsec1-openssl-1.2.6-3.i386