Ansible:yum module的“state”参数

时间:2017-01-30 19:55:19

标签: ansible

在Ansible的文档中, http://docs.ansible.com/ansible/yum_module.html#options

有关于“州”参数的评论:

  

是否安装(存在或安装,最新)或删除(缺席或删除)包。

我的问题是:

3个选项(现有,已安装,最新)之间是否有任何差异?我在下面运行这些命令时应该使用哪一个?

yum clean all && yum makecache 
yum upgrade

3 个答案:

答案 0 :(得分:5)

clean模块中没有yum,因此最好使用command模块:

- name: Perform a yum clean
  command: /usr/bin/yum clean all

对于makecache,您可以使用yum模块:

- name: Ensure the yum package index is up to Date
  yum:
    update_cache: yes
    name: '*'
    state: latest

并使用yum模块upgrade

- name: upgrade all packages
  yum:
    name: '*'
    state: latest

答案 1 :(得分:1)

presentinstalled相同,但已弃用)确保程序包在系统中。如果它在那里,模块退出不变;如果不是,则安装软件包,模块以更改状态退出。

latest确保最新的可用软件包版本在系统中。如果已安装最新版本,模块退出不变;如果未安装或版本不是最新版本,则模块将安装最新版本并以更改状态退出。

文档示例:

- name: upgrade all packages
  yum:
    name: '*'
    state: latest

答案 2 :(得分:1)

没有办法清理yum模块。您只需使用命令模块:

function main() { 
    start(); 
}