在Ansible的文档中, http://docs.ansible.com/ansible/yum_module.html#options
有关于“州”参数的评论:
是否安装(存在或安装,最新)或删除(缺席或删除)包。
我的问题是:
3个选项(现有,已安装,最新)之间是否有任何差异?我在下面运行这些命令时应该使用哪一个?
yum clean all && yum makecache
yum upgrade
答案 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)
present
(installed
相同,但已弃用)确保程序包在系统中。如果它在那里,模块退出不变;如果不是,则安装软件包,模块以更改状态退出。
latest
确保最新的可用软件包版本在系统中。如果已安装最新版本,模块退出不变;如果未安装或版本不是最新版本,则模块将安装最新版本并以更改状态退出。
文档示例:
- name: upgrade all packages
yum:
name: '*'
state: latest
答案 2 :(得分:1)
没有办法清理yum模块。您只需使用命令模块:
function main() {
start();
}