我目前正在使用 centos5 主机,我必须使用 yum 安装一些软件包。不幸的是,据我所知,centos5 不支持 Ansible 的 yum 模块,所以我必须使用“命令”或“shell”模块并由我自己对所有内容进行“硬编码”。
我的问题是..我应该实现哪些条件才能使命令/shell 表现得像 Ansible 的 yum 模块并使其尽可能“无用”?
目前,这就是我想出的:
安装/更新包时
- name: INSTALL (C5) - Install package
ansible.builtin.command:
cmd: yum -y install <package>
register: output_install
changed_when: '"Installing:" in output_install["stdout"] or "Updating:" in output_install["stdout"]'
failed_when: output_install["stdout"] is regex("No package.*available")
删除包时
- name: UNINSTALL (C5) - Remove package
ansible.builtin.command:
cmd: yum -y remove <package>
register: output_remove
changed_when: '"Erasing" in output_remove["stdout"]
failed_when: "No Packages marked for removal" in output_remove["stdout"]'
你们有什么建议或者已经处理过这个问题了吗?非常感谢。