私は同様の質問を見てきましたが、これにどのようにアプローチすべきかについて誰も言及していません。私が試してみたいいくつかのことのために、新しい Fedora インストールで Puppet をブートストラップするのに役立つ、手早く汚いスクリプトを書きたかったのです。ここで質問を熟読することから。私のニーズに合わせていくつかのサンプルコードを修正しました。
[root@srv ~]# python puppet-bootstrap.py
[ 11/03/2012 02:16:47 PM ] begin bootstrap install for puppet client
[ 11/03/2012 02:16:47 PM ] package not found on system, installing
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 1aca3465: NOKEY
Public key for ruby-1.9.3.286-18.fc17.x86_64.rpm is not installed
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64
Importing GPG key 0x1ACA3465:
Userid : "Fedora (17) <fedora@fedoraproject.org>"
Fingerprint: cac4 3fb7 74a4 a673 d81c 5de7 50e9 4c99 1aca 3465
Package : fedora-release-17-1.noarch (@fedora)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64
Traceback (most recent call last):
File "puppet-bootstrap.py", line 17, in <module>
yb.processTransaction()
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6053, in processTransaction
self._checkSignatures(pkgs,callback)
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6096, in _checkSignatures
self.getKeyForPackage(po, self._askForGPGKeyImport)
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 5798, in getKeyForPackage
raise Errors.YumBaseError, _("Didn't install any keys")
yum.Errors.YumBaseError: Didn't install any keys
では、YUM Python API を介して PGP キーを受け入れるための簡単な小さなコードを作成するにはどうすればよいでしょうか? 問題のディストリビューションはほとんど変更されないため、このスクリプトの場合、PGP キーは適切にサインオフする必要があります。誰もこれを以前にやったことがありますか?