此处引用百度搜索的答案:
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用法都差不多。当然也得下回分解了。
一、ping
模块
测试主机是否是通的,用法很简单,不涉及参数:[root@3
6
1way ~]#
ansible
10.212.52.252 -m ping
10.212.52.252 | success >> {
"changed": false,
"ping": "pong"
}二、setup
模块
setup
模块
,主要用于获取主机信息,在playbooks里经常会用到的一个参数gath
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参数:必须参数,用于指定要操作的唯一的仓库ID,也就是”.repo”配置文件中每个仓库对应的”中括号”内的仓库ID。
baseurl参数:此参数用于设置
yum
仓库的 baseurl。
description参数:此参数用于设置仓库的注释信息,也就是”.repo”配置文件...
[root@
ansible
~]#
ansible
web -m
yum
-a "name=httpd state=installed"
name //指定要安装软件包的名称,如果有多个用","隔开
state //指定使用
yum
的方法
installed|present //安装软件包
removed|absent //移除软件包
latest //安装最新软件包
案例1:安装已存在的软件包
[root@
ansible
~]#
ansible
we
yum
模块
用于软件安装,升级,卸载 如下:
conf_file 设定远程
yum
执行时所依赖的配置文件
disable_gpg_check 安装之前是否检查gpg_key
name 软件名称,支持软件组安装
update_cache 更新缓存
enablerepo 指定repo源
skip_bro...
cache: [k2e喜]: 注意它的发音: 不是: keik
the attribute could not be removed from the cache. 不能从缓存删除属性.
YUM
对服务器而言最重要的是稳定+安全, 不一定要最新的软件...
yum
创建本地缓存(repodata的缓存), 这样就不用每次安装包时要从远程服务器上去查询了:
yum
makecache.
1.环境准备操作系统:Centos7Python版本: Python 2.
6
或 Python 2.7
2.设置EPEL仓库通过
Yum
安装RPMs适用于 EPEL
6
, 7。
Ansible
仓库默认不在
yum
仓库中,因此我们需要使用下面的命令启用epel仓库
rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x8
6
_
6
4/e/epel-release-...