Ansible系列(6): Yum模块

之前的文章里提到了这个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

Ansible系列(6): Yum模块的相关文章

ansible系列第二篇(模块使用)

ansible系列第二篇(模块使用) 模块使用 设置ansible提权 在hosts文件加入sudo提权的密码: 18.18.23.102 ansible_become_pass='passwd' 执行: ansible test -S -R root -m shell -a "ls -l /" 查看ansible有那些模块: ansible-doc -l 获取各个模块详细帮助信息 ansible-doc -s ping ping模块: ansible test -m ping 从受控

自动化运维系列之Ansible命令应用基础(模块的应用)【持续更新中···】

自动化运维系列之Ansible命令应用基础(模块的应用) 模块简介 Ansible可以使用命令行方式进行自动化管理,基本语法如下: ansible <host-pattern> [-m module_name] [-a args] <host-pattern> 对哪些主机生效 [-m module_name] 需要使用的模块 [-a args] 模块特有的参数,这里在使用时需加单引号哦! Ansible的命令行管理工具都是由一系列模块.参数所支持的,可以在命令行后加上-h或--he

Ansible安装及部分模块初步使用

Ansible安装及初步使用 Ansible概述 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统的方式进行维护工作会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作. 一般会把自动化运维工具划分为两类:一类是使用代理工具,与就是基于专用的Agent程序完成管理功能,如:Puppet.Func.Zabbix等:另外一类是不需要配置代理工具的,可以基于SSH服务来完成管理功能,如:Ansible.Fabric等. Ansi

详解Ansible服务常用命令模块

ansible可以使用命令行方式进行自动化管理,基本语法如下: ansible 主机名 -m 模块名称 -a 模块特有参数 ansible的命令行管理工具都是由一系列模块.参数所支持的,可以在命令后面加上-h或--help获取帮助.如使用ansible-doc -h或者ansible-doc --help查看其帮助信息ansible-doc是用来查看模块帮助信息的工具,最主要的选项 -l用来列出可使用的模块, -s用来列出某个模块的描述信息和使用示例. 以下是我列出yum模块的描述信息和操作动作

ansible学习系列2-ansible常用模块使用

1. 查看支持的模块 [[email protected] ~]# ansible-doc -l 这里我们看下ansible的支持的模块个数 [[email protected] ~]# ansible-doc -l |wc -l #查看支持的模块个数 1039 [[email protected] ~]# ansible --version #查看我们的ansible版本号 ansible 2.3.1.0 config file = /etc/ansible/ansible.cfg confi

ansible之yum模块

其实这些东西,包括之前的都是很早以前的东东了,就是怕忘记了,记录一下.到时候可以翻翻看,因为第一次接触的时候感觉上手挺快的,都是封装好的.. 比如有一组机器需要安装vim,那么不能一个一个服务器上ssh然后执行yum install vim -y.少的话还阔以,多的话,呵呵.. yum模块用法 [[email protected] ~]# ansible-doc -s yum less 436 Copyright (C) 1984-2009 Mark Nudelman less comes wi

Ansible系列命令用法详解与使用

Ansible系列命令用法与使用 在上一个文章中已经完成了Ansible的安装,这片文章主要的用来记录Ansible一些命令的用法详解及其使用场景.好了非话不多说,'上菜吧'. Ansible命令行执行方式有Ad-hoc.Ansible-playbook两种方式.Web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于API开发类似的Web化产品.此篇文章主要针对于Ad-hoc.Ansible-playbook两种方式做详细介绍. 什么是Ad-hoc.Ansible-p

ansible常用命令及模块的使用方法

ansible是指令核心部分,其主要用于执行ad-hoc(点对点)命令,即单条命令.默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块. 2. 默认使用的模块是可以在ansible.cfg 中进行修改的. /etc/ansible/ansible.cfg ansible常用命令解析: 查看当前 ansible 都支持哪些模块: ansible-doc -l 查看某一模块可以使用的参数:ansible-doc -s copy (eg:copy模块) ansible用法: a

22Python标准库系列之Redis模块

Python标准库系列之Redis模块 What is redis? Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, b