che*_*rdt 6 centos yum gpg centos7
我在 Artifactory 中有一个自定义 RPM 存储库,最近启用了 GPG 签名密钥。
当我运行时sudo yum check-updates
,系统提示我添加密钥:
Retrieving key from https://artifactory.example.com/myrepo/repodata/repomd.xml.key
Importing GPG key 0x12345678:
Userid : "John Doe <jdoe@example.com>"
Fingerprint: 1234 5678 90ab cdef 1234 5678 90ab cdef 1234 5678
From : https://artifactory.example.com/myrepo/repodata/repomd.xml.key
Run Code Online (Sandbox Code Playgroud)
我添加了密钥,这是成功的。但是,我现在想删除密钥。我需要以编程方式(例如通过 Ansible)将密钥添加到众多服务器,因此我想重现与以前相同的行为(提示我添加密钥),以便我可以确认以编程方式添加密钥会改变这一点行为。
我尝试使用yum-config-manager
取消设置gpgkey
,但行为保持不变(yum 不提示我接受密钥):
sudo yum-config-manager --setopt=artifactory.gpgkey='' --save
Run Code Online (Sandbox Code Playgroud)
我还删除了 yum 缓存(sudo yum clean all
和sudo rm -rf /var/cache/yum
)。
如何从 yum 存储库配置中删除此密钥?
版本信息:
$ yum --version
3.4.3
Run Code Online (Sandbox Code Playgroud)
使用 rpm,您可以列出密钥并删除它们。
[root@apps2 ~]# rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
gpg-pubkey-f4a80eb5-53a7ff4b gpg(CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>)
gpg-pubkey-352c64e5-52ae6884 gpg(Fedora EPEL (7) <epel@fedoraproject.org>)
[root@apps2 ~]# rpm -e gpg-pubkey-352c64e5-52ae6884
[root@apps2 ~]# rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
gpg-pubkey-f4a80eb5-53a7ff4b gpg(CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>)
[root@apps2 ~]#
Run Code Online (Sandbox Code Playgroud)
Yum 有一个用于支持 GPG 元数据签名的存储库的 GPG 密钥环。在我的系统上,这个特定存储库的相关路径是:
/var/lib/yum/repos/x86_64/7/artifactory/gpgdir
/var/lib/yum/repos/x86_64/7/artifactory/gpgdir-ro
我能够从这些密钥环中删除 GPG 密钥:
sudo gpg --homedir /var/lib/yum/repos/x86_64/7/artifactory/gpgdir --delete-key 12345678
sudo gpg --homedir /var/lib/yum/repos/x86_64/7/artifactory/gpgdir-ro --delete-key 12345678
Run Code Online (Sandbox Code Playgroud)
sudo yum check-update
此时运行仍然没有提示我接受密钥。我跑了sudo yum clean metadata
,之后sudo yum check-update
确实重新提示我接受 GPG 密钥。
我发现 PackageCloud 关于YUM GPG 密钥的页面有助于实现此解决方案。
归档时间: |
|
查看次数: |
8248 次 |
最近记录: |