之前的文章里提到了这个Yum模块,作为承诺,这次拿它当第一了。
Yum模块介绍
此处引用百度搜索的答案:
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器
既然是包管理器,平时我们如何使用它?拿centos为例:
yum install git
排除proxy权限问题,你的机器该自动的安装好git。非常方便。
那么在ansible里,如何使用它?
还是使用shell/command或者其他模块直接运行命令?这也行,但是不是最方便的。
模块常用参数
我们先看看它的常用参数:
参数名 | 是否必须 | 默认值 | 选项值 | 参数说明 |
---|---|---|---|---|
conf_file | 不 | 设定远程yum执行时所依赖的yum配置文件 | ||
disable_gpg_check | 不 | No | Yes/No | 在安装包前检查包,只会影响state参数为present或者latest的时候 |
list | No | 只能由ansible调用,不支持playbook,这个干啥的大家都懂 | ||
name | Yes | 你需要安装的包的名字,也能如此使用name=python=2.7安装python2.7 | ||
state | no | present | present/latest/absent | 用于描述安装包最终状态,present/latest用于安装包,absent用于remove安装包 |
update_cache | no | no | yes/no | 用于安装包前执行更新list,只会影响state参数为present/latest的时候 |
案例
案例都来源与官网。
- name: 安装最新版本的apache
yum: name=httpd state=latest
- name: 移除apache
yum: name=httpd state=absent
- name: 安装一个特殊版本的apache
yum: name=httpd-2.2.29-1.4.amzn1 state=present
- name: 升级所有的软件包
yum: name=* state=latest
- name: 从一个远程yum仓库安装nginx
yum: name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present
- name: 从本地仓库安装nginx
yum: name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present
- name: 安装整个Development tools相关的软件包
yum: name="@Development tools" state=present
如何?很方便吧?
除了centos的yum,还有ubuntu的apt,suse的zypper用法都差不多。当然也得下回分解了。
时间: 2024-12-28 01:34:53