我目前正在使用 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"]'
你们有什么建议吗?或者已经处理过这个问题了吗?非常感谢。