簡體   English   中英

通過Python API為Yum回購安裝PGP密鑰

[英]Installing PGP Key for Yum Repos Through Python API

我已經看過類似的問題,但是沒有人提到我應該如何處理。 我想編寫一個快速而骯臟的腳本,該腳本可以幫助我在新的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密鑰必須正確簽名。 有人做過嗎?

請加

yb.conf.assumeyes = True

在適當情況下。 Egyou代碼應如下所示:

#!/usr/bin/python
import yum

yb = yum.YumBase()
yb.conf.installroot = "/ipportvm/gittest/rootfs_testrootfs"
yb.conf.assumeyes = True
yb.conf.yumvar['releasever'] = '6'
for i in ("openssh-server", "plymouth", "rsyslog", "acpid", "ntp", "epel-release"):
    yb.install(name=i)
yb.resolveDeps()
yb.buildTransaction()
yb.processTransaction()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM