【问题标题】:Ansible: yum module's "state" parameterAnsible:yum 模块的“状态”参数
【发布时间】:2017-01-30 19:55:18
【问题描述】:

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

关于“state”参数有注释:

是否安装(现有或已安装,最新)或删除(不存在或已删除)包。

我的问题是:

这 3 个选项(现有、已安装、最新)之间有什么区别吗?当我在下面运行这些命令时应该使用哪一个?

yum clean all && yum makecache 
yum upgrade

【问题讨论】:

    标签: ansible


    【解决方案1】:

    yum cleanyum 模块中不可用,所以最好使用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
    

    【讨论】:

      【解决方案2】:

      presentinstalled 相同,但已弃用)确保包在系统中。如果存在,则模块原样退出;如果不是,则安装包并退出模块并更改状态。

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

      文档中的示例:

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

      【讨论】:

      • 当我想运行“yum clean all && yum makecache”时,怎么做?
      【解决方案3】:

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

      - name: Clean all packages
        command: yum clean all && yum makecache 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多