一、使用rpm命令提示如下
[root@localhost /]# rpm –qa | grep java
RPM 版本 4.11.3
版权所有 (C) 1998-2002 - 红帽公司。
该程序可以在 GNU GPL 条款下自由分发
用法: rpm [-aKfgpqVcdLilsiv?] [-a|--all] [-f|--file] [-g|--group] [-p|--package] [--pkgid] [--hdrid] [--triggeredby] [--whatrequires] [--whatprovides] [--nomanifest] [-c|--configfiles]
[-d|--docfiles] [-L|--licensefiles] [--dump] [-l|--list] [--queryformat=QUERYFORMAT] [-s|--state] [--nofiledigest] [--nofiles] [--nodeps] [--noscript] [--allfiles] [--allmatches]
[--badreloc] [-e|--erase <package>+] [--excludedocs] [--excludepath=<path>] [--force] [-F|--freshen <packagefile>+] [-h|--hash] [--ignorearch] [--ignoreos] [--ignoresize]
[-i|--install] [--justdb] [--nodeps] [--nofiledigest] [--nocontexts] [--noorder] [--noscripts] [--notriggers] [--nocollections] [--oldpackage] [--percent] [--prefix=<dir>]
[--relocate=<old>=<new>] [--replacefiles] [--replacepkgs] [--test] [-U|--upgrade <packagefile>+] [--reinstall=<packagefile>+] [-D|--define “MACRO EXPR”] [--undefine=MACRO]
[-E|--eval “EXPR”] [--macros=<FILE:…>] [--noplugins] [--nodigest] [--nosignature] [--rcfile=<FILE:…>] [-r|--root ROOT] [--dbpath=DIRECTORY] [--querytags] [--showrc] [--quiet]
[-v|--verbose] [--version] [-?|--help] [--usage] [--scripts] [--setperms] [--setugids] [--setcaps] [--restore] [--conflicts] [--obsoletes] [--provides] [--requires] [--info]
[--changelog] [--xml] [--triggers] [--last] [--dupes] [--filesbypkg] [--fileclass] [--filecolor] [--fscontext] [--fileprovide] [--filerequire] [--filecaps]
二、原因
输入有误
评论区有大佬指出可能是输入有误,比如“rpm –q”会报错,而“rpm -q”就可以运行,-和–的区别,可以先排查一下这个原因。
没有导入GPG公钥验证RH RPM的官方签名
GPG:在Linux上的应用主要是实现官方发布的包的签名机制,GPG分为公钥及私钥。
实现原理(以Red Hat签名为例):
1)RH在发布其官方的RPM包时(如本地RHEL光盘及FTP空间包),会提供一个GPG密钥文件,即所谓的公钥。
2)用户下载安装这个RPM包时,引入RH官方的这个RPM GPG公钥,用来验证RPM包是不是RH官方签名的。
三、解决方法
导入GPG-KEY
1、进入/etc/pki/rpm-gpg目录查看GPG密钥
[root@localhost /]# cd /etc/pki/rpm-gpg
[root@localhost rpm-gpg]# ll
总用量 12
-rw-r--r--. 1 root root 1690 11月 23 2018 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root 1004 11月 23 2018 RPM-GPG-KEY-CentOS-Debug-7
-rw-r--r--. 1 root root 1690 11月 23 2018 RPM-GPG-KEY-CentOS-Testing-7
2、导入GPG-KEY
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
如果导入RPM-GPG-KEY-CentOS-7还是有问题,导入另外两个RPM-GPG-KEY-CentOS-Debug-7、RPM-GPG-KEY-CentOS-Testing-7