
У меня есть собственный репозиторий RPM в Artifactory, и недавно были включены ключи подписи GPG.
При запуске sudo yum check-updates
мне было предложено добавить ключ:
Retrieving key from https://artifactory.example.com/myrepo/repodata/repomd.xml.key
Importing GPG key 0x12345678:
Userid : "John Doe <[email protected]>"
Fingerprint: 1234 5678 90ab cdef 1234 5678 90ab cdef 1234 5678
From : https://artifactory.example.com/myrepo/repodata/repomd.xml.key
Я добавил ключ, что было успешно. Однако, я хотел бы теперьудалятьключ. Мне нужно добавить ключ программным способом (например, через Ansible) на несколько серверов, поэтому я хотел бы воспроизвести то же поведение, что и раньше (когда мне предлагалось добавить ключ), чтобы я мог подтвердить, что добавление ключа программным способом изменяет это поведение.
Я пробовал использовать yum-config-manager
для сброса gpgkey
, но поведение осталось прежним (yum не предлагает мне принять ключ):
sudo yum-config-manager --setopt=artifactory.gpgkey='' --save
Я дополнительно удалил кэш yum ( sudo yum clean all
и sudo rm -rf /var/cache/yum
).
Как удалить этот ключ из конфигурации репозитория yum?
Информация о версии:
$ yum --version
3.4.3
решение1
Используя 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) <[email protected]>)
gpg-pubkey-352c64e5-52ae6884 gpg(Fedora EPEL (7) <[email protected]>)
[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) <[email protected]>)
[root@apps2 ~]#
решение2
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
Запуск sudo yum check-update
в этот момент все еще не предложил мне принять ключ. Я запустил sudo yum clean metadata
, и после этого sudo yum check-update
мне снова предложили принять ключ GPG.
Я нашел страницу PackageCloud наYUM GPG-ключипомогли прийти к этому решению.