Ansible系列(6): Yum模块,ansibleyum


之前的文章里提到了这个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用法都差不多。当然也得下回分解了。

相关内容

    暂无相关文章