问题描述
在使用ansible安装epel的过程中构建打包程序映像时:
- name: install EPEL yum repository
yum:
name: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
state: present
我收到此错误:
fatal: [default]: FAILED! => {"changed": false,"msg": "warning: /home/centos/~user/.ansible/tmp/ansible-tmp-1602677619.35-135127023136118/epel-release-latest-7.noarch4i6J_H.rpm: Header V3 RSA/SHA256 Signature,key ID 352c64e5: NOKEY\n\n\nPublic key for epel-release-latest-7.noarch4i6J_H.rpm is not installed\n","rc": 1,"results": ["Loaded plugins: fastestmirror\nExamining /home/centos/~user/.ansible/tmp/ansible-tmp-1602677619.35-135127023136118/epel-release-latest-7.noarch4i6J_H.rpm: epel-release-7-12.noarch\nMarking /home/centos/~user/.ansible/tmp/ansible-tmp-1602677619.35-135127023136118/epel-release-latest-7.noarch4i6J_H.rpm to be installed\nResolving Dependencies\n--> Running transaction check\n---> Package epel-release.noarch 0:7-12 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n epel-release noarch 7-12 /epel-release-latest-7.noarch4i6J_H 24 k\n\nTransaction Summary\n================================================================================\nInstall 1 Package\n\nTotal size: 24 k\nInstalled size: 24 k\nDownloading packages:\n"]}
to retry,use: --limit @/home/ansible/install.retry
PLAY RECAP *********************************************************************
default : ok=3 changed=2 unreachable=0 failed=1
有人遇到类似的问题吗?
解决方法
您在系统上缺少epel GPG密钥,您应该添加
disable_gpg_check: yes
执行任务以完全跳过gpg检查(不安全,不当操作),或使用rpm_key
模块添加实际的gpg密钥,即在运行任务之前
- name: Import a key from a url
rpm_key:
state: present
key: https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
您可以在epel根目录中找到合适的密钥。
但是,如果您有centos 7系统,最简单的添加epel的方法是安装epel-release软件包,而无需实际从fedora项目中获取rpm,即
- name: install EPEL yum repository
yum:
name: epel-release
state: present