在我的ansible行动手册中,我有以下任务:
- name: Install EPEL repo.
yum:
name: "{{ epel_repo_url }}"
state: present
register: result
until: '"failed" not in result'
retries: 5
delay: 10
我可以传递给state的另一个值是“installed”。这两者之间有什么区别?这里提供了一些文档:http://docs.ansible.com/ansible/yum_module.html
3条答案
按热度按时间wecizke31#
状态'Present'和'Installed'可互换使用。它们的作用相同,即确保安装了您的案例'yum'中所需的软件包。
状态为“最新”表示除安装之外,如果不是最新的可用版本,则将继续进行更新。
无论您何时构建堆栈/应用或进行生产,建议始终使用“Present”或“Installed”状态。这是因为软件更新(无论是应用的部署还是依赖项版本升级)与服务器配置无关,并且可能会真正中断您的生产。
你可以在这里阅读和了解更多。
tnkciper2#
它们的作用是一样的,即它们是彼此的别名,请参见yum模块源代码中的注解:
# removed==absent, installed==present, these are accepted as aliases
以及它们在代码中的使用方式:
https://github.com/ansible/ansible-modules-core/blob/devel/packaging/os/yum.py
pqwbnv8z3#
在2.x中,
installed
和removed
被弃用,而支持present
和absent
,并且在Ansible 2.9之后不再可用