什么是 gpg-pubkey* 包?

Fra*_*iat 5 fedora rpm rhel centos gpg

我在 CentOS 6 和 7 上比较了 RPM 和 YUM 报告的软件包列表。我注意到列表略有不同(RHEL 的问题相同)。有关如何比较 RPM 和 YUM 列表的信息,请参阅列出 yum 和 rpm 不匹配的已安装软件包。不同之处仅在于名为 的包gpg-pubkey

$ rpm -qa gpg-pubkey*
gpg-pubkey-f4a80eb5-53a7ff4b
gpg-pubkey-352c64e5-52ae6884
Run Code Online (Sandbox Code Playgroud)

那些包是什么?他们来自哪里?我可以删除那些包吗?

Fra*_*iat 6

命名的包gpg-pubkey*是伪造的 RPM 包,用于存储和管理 rpm 密钥。手册页rpmkeys(8)提到了如何列出和删除这些键。还有一个 YUM 插件(包yum-plugin-keys):

$ yum keys
Key owner                                     Key email                Repo        Key ID
CentOS-7 Key (CentOS 7 Official Signing Key)  security@centos.org      installed   f4a80eb5-53a7ff4b
Fedora EPEL (7)                               epel@fedoraproject.org   installed   352c64e5-52ae6884
keys done
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用 RPM 在紧凑视图中列出键:

$ rpm -qa --scripts  gpg-pubkey* --qf '%{Version}-%{Release}  %{Packager}\n'
4a80eb5-53a7ff4b   CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
352c64e5-52ae6884  Fedora EPEL (7) <epel@fedoraproject.org>
Run Code Online (Sandbox Code Playgroud)

当系统管理员(使用rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7rpmkeysyum install)导入密钥时,会创建假包(阅读rpm 在哪里安装自定义 gpg 密钥?)。

删除这些密钥是一个好主意,如果您从该打包程序/提供程序/存储库中清除了所有软件包,因为它会阻止系统从该存储库安装或升级任何软件包。

如果您尚未清除该 packager/provider/repo 中的所有软件包,则删除这些密钥是一个坏主意,因为它会阻止系统从该 repo 安装或升级任何软件包。