我一直在 CentOS 7 上使用 Ansible (2.0.0.2)。我试图从已安装的 rpm/yum 软件包中获取版本,但在运行脚本时遇到了警告消息。
Ansible 脚本:
---
- name: Get version of RPM
shell: yum list installed custom-rpm | grep custom-rpm | awk '{print $2}' | cut -d'-' -f1
register: version
changed_when: False
- name: Update some file with version
lineinfile:
dest: /opt/version.xml
regexp: "<version>"
line: " <version>{{ version.stdout }}</version>"
运行它可以正常工作并完成它应该做的事情,但它在执行后返回一个警告:ok: [default] => {"changed": false, "cmd": "yum list installed custom-rpm | grep custom-rpm | awk '{print $2}' | cut -d'-' -f1", "delta": "0:00:00.255406", "end": "2016-05-17 23:11:54.998838", "rc": 0, "start": "2016-05-17 23:11:54.743432", "stderr": "", "stdout": "3.10.2", "stdout_lines": ["3.10.2"], "warnings": ["Consider using yum module rather than running yum"]}
[WARNING]: Consider using yum module rather than running yum
我在 Ansible site 上查找了 yum 模块的信息。 ,但我真的不想安装/更新/删除任何东西。
我可以简单地忽略它或压制它,但我很好奇是否有更好的方法?
最佳答案
我只想更新这个旧的讨论,指出现在有一个包模块可以让这更简单
- name: get the rpm or apt package facts
package_facts:
manager: "auto"
- name: show apache2 version
debug: var=ansible_facts.packages.apache2[0].version
关于ansible - 在 Ansible 中检查已安装的 yum 包/rpm 版本并使用它的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37287882/