ansible.builtin.yum (v2.9.17) — module

Manages packages with the I(yum) package manager

| "added in version" historical of ansible.builtin"

Authors: Ansible Core Team, Seth Vidal (@skvidal), Eduard Snesarev (@verm666), Berend De Schouwer (@berenddeschouwer), Abhijeet Kasurde (@Akasurde), Adam Miller (@maxamillion)

stableinterface | supported by core

Install Ansible via pip

Install with pip install ansible==2.9.17

Description

Installs, upgrade, downgrades, removes, and lists packages and groups with the I(yum) package manager.

This module only works on Python 2. If you require Python 3 support see the M(dnf) module.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: install the latest version of Apache
  yum:
    name: httpd
    state: latest
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: ensure a list of packages installed
  yum:
    name: "{{ packages }}"
  vars:
    packages:
    - httpd
    - httpd-tools
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: remove the Apache package
  yum:
    name: httpd
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: install the latest version of Apache from the testing repo
  yum:
    name: httpd
    enablerepo: testing
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: install one specific version of Apache
  yum:
    name: httpd-2.2.29-1.4.amzn1
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: upgrade all packages
  yum:
    name: '*'
    state: latest
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: upgrade all packages, excluding kernel & foo related packages
  yum:
    name: '*'
    state: latest
    exclude: kernel*,foo*
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: install nginx rpm from a local file
  yum:
    name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: install the 'Development tools' package group
  yum:
    name: "@Development tools"
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: install the 'Gnome desktop' environment group
  yum:
    name: "@^gnome-desktop-environment"
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: List ansible packages and register result to print with debug later.
  yum:
    list: ansible
  register: result
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install package with multiple repos enabled
  yum:
    name: sos
    enablerepo: "epel,ol7_latest"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install package with multiple repos disabled
  yum:
    name: sos
    disablerepo: "epel,ol7_latest"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Install a list of packages
  yum:
    name:
      - nginx
      - postgresql
      - postgresql-server
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Download the nginx package but do not install it
  yum:
    name:
      - nginx
    state: latest
    download_only: true

Inputs

    
list:
    description:
    - 'Package name to run the equivalent of yum list --show-duplicates <package> against.
      In addition to listing packages, use can also list the following: C(installed),
      C(updates), C(available) and C(repos).'
    - This parameter is mutually exclusive with C(name).

name:
    aliases:
    - pkg
    description:
    - A package name or package specifier with version, like C(name-1.0).
    - If a previous version is specified, the task also needs to turn C(allow_downgrade)
      on. See the C(allow_downgrade) documentation for caveats with downgrading packages.
    - When using state=latest, this can be C('*') which means run C(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.
    elements: str
    type: list

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

bugfix:
    default: 'no'
    description:
    - If set to C(yes), and C(state=latest) then only installs updates that have been
      marked bugfix related.
    version_added: '2.6'
    version_added_collection: ansible.builtin

exclude:
    description:
    - Package name(s) to exclude when state=present, or latest
    version_added: '2.0'
    version_added_collection: ansible.builtin

security:
    default: 'no'
    description:
    - If set to C(yes), and C(state=latest) then only installs updates that have been
      marked security related.
    type: bool
    version_added: '2.4'
    version_added_collection: ansible.builtin

conf_file:
    description:
    - The remote yum configuration file to use for the transaction.
    version_added: '0.6'
    version_added_collection: ansible.builtin

autoremove:
    default: 'no'
    description:
    - If C(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 I(absent)
    - 'NOTE: This feature requires yum >= 3.4.3 (RHEL/CentOS 7+)'
    type: bool
    version_added: '2.7'
    version_added_collection: ansible.builtin

enablerepo:
    description:
    - I(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 C(",").
    - As of Ansible 2.7, this can alternatively be a list instead of C(",") separated
      string
    version_added: '0.9'
    version_added_collection: ansible.builtin

releasever:
    description:
    - Specifies an alternative release from which all packages will be installed.
    version_added: '2.7'
    version_added_collection: ansible.builtin

disablerepo:
    description:
    - I(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 C(",").
    - As of Ansible 2.7, this can alternatively be a list instead of C(",") separated
      string
    version_added: '0.9'
    version_added_collection: ansible.builtin

installroot:
    default: /
    description:
    - Specifies an alternative installroot, relative to which all packages will be installed.
    version_added: '2.3'
    version_added_collection: ansible.builtin

skip_broken:
    default: 'no'
    description:
    - Skip packages with broken dependencies(devsolve) and are causing problems.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

update_only:
    default: 'no'
    description:
    - When using latest, only update installed packages. Do not install packages.
    - Has an effect only if state is I(latest)
    type: bool
    version_added: '2.5'
    version_added_collection: ansible.builtin

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

download_dir:
    description:
    - Specifies an alternate directory to store packages.
    - Has an effect only if I(download_only) is specified.
    type: str
    version_added: '2.8'
    version_added_collection: ansible.builtin

lock_timeout:
    default: 30
    description:
    - Amount of time to wait for the yum lockfile to be freed.
    required: false
    type: int
    version_added: '2.8'
    version_added_collection: ansible.builtin

update_cache:
    aliases:
    - expire-cache
    default: 'no'
    description:
    - Force yum to check if cache is out of date and redownload if needed. Has an effect
      only if state is I(present) or I(latest).
    type: bool
    version_added: '1.9'
    version_added_collection: ansible.builtin

download_only:
    default: 'no'
    description:
    - Only download the packages, do not install them.
    type: bool
    version_added: '2.7'
    version_added_collection: ansible.builtin

enable_plugin:
    description:
    - I(Plugin) name to enable for the install/update operation. The enabled plugin will
      not persist beyond the transaction.
    version_added: '2.5'
    version_added_collection: ansible.builtin

disable_plugin:
    description:
    - I(Plugin) name to disable for the install/update operation. The disabled plugins
      will not persist beyond the transaction.
    version_added: '2.5'
    version_added_collection: ansible.builtin

validate_certs:
    default: 'yes'
    description:
    - This only applies if using a https url as the source of the rpm. e.g. for localinstall.
      If set to C(no), the SSL certificates will not be validated.
    - This should only set to C(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 C(yes).
    type: bool
    version_added: '2.1'
    version_added_collection: ansible.builtin

allow_downgrade:
    default: 'no'
    description:
    - 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).
    type: bool
    version_added: '2.4'
    version_added_collection: ansible.builtin

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

disable_gpg_check:
    default: 'no'
    description:
    - Whether to disable the GPG checking of signatures of packages being installed. Has
      an effect only if state is I(present) or I(latest).
    type: bool
    version_added: '1.2'
    version_added_collection: ansible.builtin

install_weak_deps:
    default: 'yes'
    description:
    - Will also install all packages linked by a weak dependency relation.
    - 'NOTE: This feature requires yum >= 4 (RHEL/CentOS 8+)'
    type: bool
    version_added: '2.8'
    version_added_collection: ansible.builtin