> YUM (/usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py)

Installs, upgrade, downgrades, removes, and lists packages and groups with the `yum' package manager. This module only works on Python 2.
If you require Python 3 support see the [dnf] module.

* This module is maintained by The Ansible Core Team
* note: This module has a corresponding action plugin.

OPTIONS (= is mandatory):

- allow_downgrade
Specify if the named package and version is allowed to downgrade a maybe already installed higher version of that package. Note that
setting allow_downgrade=True can make this module behave in a non-idempotent way. The task could end up with a set of packages that does
not match the complete list of specified packages to install (because dependencies between the downgraded package and others can cause
changes to the packages which were in the earlier transaction).
[Default: no]
type: bool
version_added: 2.4

- autoremove
If `yes', removes all "leaf" packages from the system that were originally installed as dependencies of user-installed packages but which
are no longer required by any such package. Should be used alone or when state is `absent'
NOTE: This feature requires yum >= 3.4.3 (RHEL/CentOS 7+)
[Default: no]
type: bool
version_added: 2.7

- bugfix
If set to `yes', and `state=latest' then only installs updates that have been marked bugfix related.
[Default: no]
version_added: 2.6

- conf_file
The remote yum configuration file to use for the transaction.
[Default: (null)]
version_added: 0.6

- disable_excludes
Disable the excludes defined in YUM config files.
If set to `all', disables all excludes.
If set to `main', disable excludes defined in [main] in yum.conf.
If set to `repoid', disable excludes defined for given repo id.
[Default: (null)]
version_added: 2.7

- disable_gpg_check
Whether to disable the GPG checking of signatures of packages being installed. Has an effect only if state is `present' or `latest'.
[Default: no]
type: bool
version_added: 1.2

- disable_plugin
`Plugin' name to disable for the install/update operation. The disabled plugins will not persist beyond the transaction.
[Default: (null)]
version_added: 2.5

- disablerepo
`Repoid' of repositories to disable for the install/update operation. These repos will not persist beyond the transaction. When
specifying multiple repos, separate them with a `","'.
As of Ansible 2.7, this can alternatively be a list instead of `","' separated string
[Default: (null)]
version_added: 0.9

- download_dir
Specifies an alternate directory to store packages.
Has an effect only if `download_only' is specified.
[Default: (null)]
type: str
version_added: 2.8

- download_only
Only download the packages, do not install them.
[Default: no]
type: bool
version_added: 2.7

- enable_plugin
`Plugin' name to enable for the install/update operation. The enabled plugin will not persist beyond the transaction.
[Default: (null)]
version_added: 2.5

- enablerepo
`Repoid' of repositories to enable for the install/update operation. These repos will not persist beyond the transaction. When specifying
multiple repos, separate them with a `","'.
As of Ansible 2.7, this can alternatively be a list instead of `","' separated string
[Default: (null)]
version_added: 0.9

- exclude
Package name(s) to exclude when state=present, or latest
[Default: (null)]
version_added: 2.0

- install_weak_deps
Will also install all packages linked by a weak dependency relation.
NOTE: This feature requires yum >= 4 (RHEL/CentOS 8+)
[Default: yes]
type: bool
version_added: 2.8

- installroot
Specifies an alternative installroot, relative to which all packages will be installed.
[Default: /]
version_added: 2.3

- list
Package name to run the equivalent of yum list <package> against. In addition to listing packages, use can also list the following:
`installed', `updates', `available' and `repos'.
[Default: (null)]

- lock_timeout
Amount of time to wait for the yum lockfile to be freed.
[Default: 0]
type: int
version_added: 2.8

- name
A package name or package specifier with version, like `name-1.0'.
If a previous version is specified, the task also needs to turn `allow_downgrade' on. See the `allow_downgrade' documentation for caveats
with downgrading packages.
When using state=latest, this can be `'*'' which means run `yum -y update'.
You can also pass a url or a local path to a rpm file (using state=present). To operate on several packages this can accept a comma
separated string of packages or (as of 2.0) a list of packages.
(Aliases: pkg)[Default: (null)]

- releasever
Specifies an alternative release from which all packages will be installed.
[Default: (null)]
version_added: 2.7

- security
If set to `yes', and `state=latest' then only installs updates that have been marked security related.
[Default: no]
type: bool
version_added: 2.4

- skip_broken
Skip packages with broken dependencies(devsolve) and are causing problems.
[Default: no]
type: bool
version_added: 2.3

- state
Whether to install (`present' or `installed', `latest'), or remove (`absent' or `removed') a package.
`present' and `installed' will simply ensure that a desired package is installed.
`latest' will update the specified package if it's not of the latest available version.
`absent' and `removed' will remove the specified package.
Default is `None', however in effect the default action is `present' unless the `autoremove' option is¬ enabled for this module, then
`absent' is inferred.
(Choices: absent, installed, latest, present, removed)[Default: (null)]

- update_cache
Force yum to check if cache is out of date and redownload if needed. Has an effect only if state is `present' or `latest'.
(Aliases: expire-cache)[Default: no]
type: bool
version_added: 1.9

- update_only
When using latest, only update installed packages. Do not install packages.
Has an effect only if state is `latest'
[Default: no]
type: bool
version_added: 2.5

- use_backend
This module supports `yum' (as it always has), this is known as `yum3'/`YUM3'/`yum-deprecated' by upstream yum developers. As of Ansible
2.7+, this module also supports `YUM4', which is the "new yum" and it has an `dnf' backend.
By default, this module will select the backend based on the `ansible_pkg_mgr' fact.
(Choices: auto, yum, yum4, dnf)[Default: auto]
version_added: 2.7

- validate_certs
This only applies if using a https url as the source of the rpm. e.g. for localinstall. If set to `no', the SSL certificates will not be
validated.
This should only set to `no' used on personally controlled sites using self-signed certificates as it avoids verifying the source site.
Prior to 2.1 the code worked as if this was set to `yes'.
[Default: yes]
type: bool
version_added: 2.1

NOTES:
* When used with a `loop:` each package will be processed individually, it is much more efficient to pass the list directly to the
`name` option.
* In versions prior to 1.9.2 this module installed and removed each package given to the yum module separately. This caused problems
when packages specified by filename or url had to be installed or removed together. In 1.9.2 this was fixed so that packages are
installed in one yum transaction. However, if one of the packages adds a new yum repository that the other packages come from (such
as epel-release) then that package needs to be installed in a separate task. This mimics yum's command line behaviour.
* Yum itself has two types of groups. "Package groups" are specified in the rpm itself while "environment groups" are specified in a
separate file (usually by the distribution). Unfortunately, this division becomes apparent to ansible users because ansible needs
to operate on the group of packages in a single transaction and yum requires groups to be specified in different ways when used in
that way. Package groups are specified as "@development-tools" and environment groups are "@^gnome-desktop-environment". Use the
"yum group list hidden ids" command to see which category of group the group you want to install falls into.
* The yum module does not support clearing yum cache in an idempotent way, so it was decided not to implement it, the only method is
to use shell and call the yum command directly, namely "shell: yum clean all"
https://github.com/ansible/ansible/pull/31450#issuecomment-352889579

REQUIREMENTS: yum

AUTHOR: Ansible Core Team, Seth Vidal (@skvidal), Eduard Snesarev (@verm666), Berend De Schouwer (@berenddeschouwer), Abhijeet Kasurde (@Akasurde), Adam Miller (@maxamillion)
METADATA:
status:
- stableinterface
supported_by: core

EXAMPLES:

- name: install the latest version of Apache
yum:
name: httpd
state: latest

- name: ensure a list of packages installed
yum:
name: "{{ packages }}"
vars:
packages:
- httpd
- httpd-tools

- name: remove the Apache package
yum:
name: httpd
state: absent

- name: install the latest version of Apache from the testing repo
yum:
name: httpd
enablerepo: testing
state: present

- name: install one specific version of Apache
yum:
name: httpd-2.2.29-1.4.amzn1
state: present

- name: upgrade all packages
yum:
name: '*'
state: latest

- name: upgrade all packages, excluding kernel & foo related packages
yum:
name: '*'
state: latest
exclude: kernel*,foo*

- name: install the nginx rpm from a remote repo
yum:
name: http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present

- name: install nginx rpm from a local file
yum:
name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present

- name: install the 'Development tools' package group
yum:
name: "@Development tools"
state: present

- name: install the 'Gnome desktop' environment group
yum:
name: "@^gnome-desktop-environment"
state: present

- name: List ansible packages and register result to print with debug later.
yum:
list: ansible
register: result

- name: Install package with multiple repos enabled
yum:
name: sos
enablerepo: "epel,ol7_latest"

- name: Install package with multiple repos disabled
yum:
name: sos
disablerepo: "epel,ol7_latest"

- name: Install a list of packages
yum:
name:
- nginx
- postgresql
- postgresql-server
state: present

- name: Download the nginx package but do not install it
yum:
name:
- nginx
state: latest
download_only: true

ansible之yum模块的更多相关文章

  1. Ansible常用模块-yum模块

    yum模块 name 必选 指定安装包名 state 执行命令  present  installed removed latest absent 其中installed and present等效 ...

  2. ansible通过yum/dnf模块给受控机安装软件(ansible2.9.5)

    一,使用yum/dnf模块要注意的地方: 使用dnf软件安装/卸载时,需要有root权限, 所以要使用become参数 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnb ...

  3. ansible小结常用模块

    根据官方的分类,将模块按功能分类为:云模块.命令模块.数据库模块.文件模块.资产模块.消息模块.监控模块.网络模块.通知模块.包管理模块.源码控制模块.系统模块.单元模块.web设施模块.window ...

  4. ansible命令及模块

    ping 命令 #测试单个主机 [root@node1 opt]# ansible -m ping 10.0.0.22 #获取多个主机 [root@node1 opt]# ansible 10.0.0 ...

  5. ansible经常使用模块使用方法

    ansible 默认提供了非常多模块来供我们使用. 在 Linux 中,我们能够通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc  -s ...

  6. 【Ansible】 各种模块

    [Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和第三方拓展模块(自定义的模块).这些模块其实才是作为真实的逻辑载体,在帮助ansible进行作业. ansibl ...

  7. Ansible Playbooks 常用模块

    官网链接:https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html ansible python module ...

  8. 自动化运维Ansible之常用模块

    目录 0.Ansible模块语法 1.Command模块 2.Shell模块 3.Scripts模块 4.Copy模块 5.File模块 6.Yum模块 7.Service模块 8.Cron模块 9. ...

  9. 二、Ansible基础之模块篇

    目录 1. Ansible Ad-Hoc 命令 1.1 命令格式 1.2 模块类型 1.3 联机帮助 1.3.1 常用帮助参数 1.4 常用模块 1.4.1 command & shell 模 ...

随机推荐

  1. 【Gamma】PhyLab 测试报告

    PhyLab Gamma测试报告 测试中发现的bug Gamma阶段新Bug Bug 可能原因 部分错误码设置与原先抛异常的逻辑冲突 原先代码中使用了一些特殊的办法处理异常 Beta未发现Bug Bu ...

  2. top命令输出解释以及load average 详解及排查思路

    原地址: https://blog.csdn.net/zhangchenglikecc/article/details/52103737 1.top输出以及load average 详解 昨天nagi ...

  3. leetcode 13. Integer to Roman

    使用eval,特别处理6个case var romanToInt = function (s) { const map = { 'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C ...

  4. Windows域的创建与加入教程

    一.说明 以前看书的时候时常看到“域”这个词,后来听一些渗透的演讲通常会说进入内网后首先要找域控.在认知中“域控”应该是域管理服务器一类的东西,但毕竟没有实现过所以还是不太懂长什么样. 前段时间朋友电 ...

  5. [转帖]spring、springMvc、springBoot和springCloud的联系与区别

    spring.springMvc.springBoot和springCloud的联系与区别 -- :: 尘光掠影 阅读数 文章标签: springspringmvcspringbootspringCl ...

  6. 避免maven package 打包时执行 mybatis-generator-maven-plugin 插件

    一.为什么打包时会执行该插件mybatis-generator-maven-plugin默认绑定了package的生命周期 二.如何解决如果在package和install 执行插件,修改pom中的配 ...

  7. Python 3 + Selenium 3 简单入门学习示例 126邮箱登录

    这是一个很多基础演示的书上的例子,但是一般按照这些书上的代码可能都不能成功登录.也许是网易修改了126的页面导致的吧,下面给出最新的能够work的版本 from selenium import web ...

  8. ImportBeanDefinitionRegistrar接口实现bean动态注入

    借助ImportBeanDefinitionRegistrar接口实现bean的动态注入https://www.jianshu.com/p/2b993ced6a4c ImportBeanDefinit ...

  9. 总结:WPF中MultiBinding多值绑定的方法

    原文:总结:WPF中MultiBinding多值绑定的方法 一.Xaml中绑定代码: <TextBlock  Grid.Row="5" Grid.Column="3 ...

  10. MySQL卸载与重装

    [卸载] 不推荐使用控制面板-->卸载程序,来卸载,容易出现报错. 使用电脑管家卸载很轻松. [删除注册列表] HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\S ...