谁能支持一下清理和删除的同等任务?
yum clean expire-cache
yum -y remove packageX-S
yum -y install packageX-S
我已经安装了...
- name: deploy
yum:
name: llc-html-clients-S
state: latest
这里是你的同等任务。
- name: clean
command: yum clean expire-cache
- name: remove
yum:
name: pkg-to-remove
state: absent
- name: install
yum:
name: pkg-to-install
state: present
安装和删除是用相同的模块完成 yum
.
安装时将测试 installed
或 present
态,除去是为了测试 removed
或 absent
状态:
安装。
- name: install
yum:
name: pkg-to-install
state: present
小心点 yum install
还有... state: latest
是不一样的,当 yum
命令会在没有安装软件包的情况下进行安装,而在软件包已经存在的情况下不做任何操作。state: latest
如果没有安装包,将进行安装,但是 还 a yum update pkg-to-install
如果软件包不是最新版本。真正的等价物是 state: present
.
present
和installed
将简单地确保所需的软件包被安装。latest
将更新指定的软件包,如果它不是最新的可用版本。
来源:/docs.comansible.comansiblelatestmodulesyum_module https:/docs.ansible.comansiblelatestmodulesyum_module.html#参数-状态。
移除。
- name: remove
yum:
name: pkg-to-remove
state: absent
那么对于 clean
,可惜的是,有选择不实施,因为这不是可以用幂等的方式来实现的。
请看这个关于 yum
模块页
- yum模块不支持用幂等方式清除yum缓存,所以决定不实现,唯一的方法是使用command,直接调用yum命令,即 "command:yum clean all" https:/github.comansibleansiblepull31450#issuecomment-352889579。
来源:/docs.comansible.comansiblelatestmodulesyum_module.html#notes: https:/docs.ansible.comansiblelatestmodulesyum_module.html#notes。
所以,正如注释中指出的,你其实可以通过简单的 command
.
- name: clean
command: yum clean expire-cache
所以这些都是等价的。
yum clean expire-cache
yum -y remove pkg-to-remove
yum -y install pkg-to-install
- name: clean
command: yum clean expire-cache
- name: remove
yum:
name: pkg-to-remove
state: absent
- name: install
yum:
name: pkg-to-install
state: present