1.5.12:yum 模块
Installs, upgrade, downgrades, removes, and lists packages and groups with the yum package manager.
yum模块可以对远程主机(RHEL/CentOS/Fedora)进行yum相关操作。
1.5.12.1:常用参数
参数 | 说明 |
---|---|
name | 指定程序包名(支持版本指定,如果指定的是一个早期版本,还需要将allow_downgrade参数设为yes); 当指定state=latest时,name=*意味着执行 yum -y update 。同样可以指定name为一个rpm包的URL下载路径,或者目标主机上的本地rpm包路径。 别名:pkg |
state | 可用选项: 安装:installed、present、latest(可用于升级到最新版本) 删除:absent、removed |
enablerepo | 指定需要启用的软件源(通过Repoid指定,多个软件源用"," 隔开) |
exclude | 当state=present或latest时,exclude用于指定除外的程序包名。 |
allow_downgrade | yes|no,默认为no;如果一个更高版本已经安装,是否允许降级到早期版本的程序包(非幂等)。 |
update_cache | yes|no,默认为no;检查软件仓库缓存是否过期,如果过期,是否重新加载缓存。(state=present|latest时有效)。 |
list | 查看指定程序包信息(相当于执行yum list --showduplicates <package> )。也可以指定list=installed/updates/available/repos。 |
1.5.12.2:示例
为centos组的主机安装httpd:
[root@ansible ~]# ansible centos -m yum -a "name=httpd state=present"
[root@node203 ~]# rpm -q httpd
httpd-2.4.6-97.el7.centos.x86_64
安装epel源:
[root@ansible ~]# ansible centos -m yum -a "name=epel-release state=present"
强制更新缓存:
[root@ansible ~]# ansible centos -m yum -a "update_cache=yes state=present"
安装nginx:
[root@ansible ~]# ansible centos -m yum -a "name=nginx state=present"
[root@node203 ~]# rpm -q nginx
nginx-1.16.1-3.el7.x86_64
查看repo列表:
[root@ansible ~]# ansible centos -m yum -a "list=repos"
192.168.1.203 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"results": [
{
"repoid": "base",
"state": "enabled"
},
{
"repoid": "epel",
"state": "enabled"
},
{
"repoid": "extras",
"state": "enabled"
},
{
"repoid": "updates",
"state": "enabled"
}
]
}