ansible之yum模块
> 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模块的更多相关文章
- Ansible常用模块-yum模块
yum模块 name 必选 指定安装包名 state 执行命令 present installed removed latest absent 其中installed and present等效 ...
- ansible通过yum/dnf模块给受控机安装软件(ansible2.9.5)
一,使用yum/dnf模块要注意的地方: 使用dnf软件安装/卸载时,需要有root权限, 所以要使用become参数 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnb ...
- ansible小结常用模块
根据官方的分类,将模块按功能分类为:云模块.命令模块.数据库模块.文件模块.资产模块.消息模块.监控模块.网络模块.通知模块.包管理模块.源码控制模块.系统模块.单元模块.web设施模块.window ...
- ansible命令及模块
ping 命令 #测试单个主机 [root@node1 opt]# ansible -m ping 10.0.0.22 #获取多个主机 [root@node1 opt]# ansible 10.0.0 ...
- ansible经常使用模块使用方法
ansible 默认提供了非常多模块来供我们使用. 在 Linux 中,我们能够通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s ...
- 【Ansible】 各种模块
[Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和第三方拓展模块(自定义的模块).这些模块其实才是作为真实的逻辑载体,在帮助ansible进行作业. ansibl ...
- Ansible Playbooks 常用模块
官网链接:https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html ansible python module ...
- 自动化运维Ansible之常用模块
目录 0.Ansible模块语法 1.Command模块 2.Shell模块 3.Scripts模块 4.Copy模块 5.File模块 6.Yum模块 7.Service模块 8.Cron模块 9. ...
- 二、Ansible基础之模块篇
目录 1. Ansible Ad-Hoc 命令 1.1 命令格式 1.2 模块类型 1.3 联机帮助 1.3.1 常用帮助参数 1.4 常用模块 1.4.1 command & shell 模 ...
随机推荐
- IIS 安装 .net core 绑定为 https 使用SSL证书
前提条件: 自己服务器(Windows Server 2016)运行 dotnet .\Web****.dll 服务是可以使用http访问的 但由于实际情况必须使用https 思想历程,但未用: 1. ...
- k8s安装dashboard
1.Kubernetes Dashboard 是 k8s集群的⼀个 WEB UI管理⼯具,代码托管在 github 上,地址: https://github.com/kubernetes/das ...
- kudu 介绍
kudu的好处: 快速的olap 列式存储,Hadoop parquet 的一种替代方案 对数据的顺序处理和随机处理都很高效 * High availability. Tablet Servers a ...
- Jenkins+Docker+Git+Registry
从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布 笔者:@拿着保温瓶的年轻人 目录: 一.前言 二.发布流程 三.环境准备 四.部署思路梳理 五.三台机器上操作 ...
- Maven 教程(19)— Maven的六类属性
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79776666 内置属性 主要有两个常用内置属性:${basedir}项目的根目录 ...
- zabbix 搭建 mysql 连接报错
如图所示: 查看 MySQL的配置文件 [root@zbxtest ~]# cat /etc/my.cnf [mysqld] datadir=/data/mysql socket=/data/mysq ...
- Prometheus部署各服务的Node监控
1.部署监控主机 部署主机监控,需要安装node_exporter 1.1 下载node exporter wget https://github.com/prometheus/node_export ...
- phpcms发布文章自定义字段
phpcms发布文章自定义字段1 进入后台 模型管理 新建模型 里面可以自定义字段了
- [转帖]油猴脚本管理器 Tampermonkey v4.8 离线CRX安装包(谷歌浏览器版)
https://www.52pojie.cn/thread-1010604-1-1.html 油猴脚本管理器 Tampermonkey v4.8 离线CRX安装包(谷歌浏览器版) 链接:https:/ ...
- php 求商数和余数 的函数
//返回两数相除之商和余数function get_div_and_mod($left_operand, $right_operand){ $div = intval($left_operand / ...