Ansible Module yum

From NovaOrdis Knowledge Base
Revision as of 04:34, 13 April 2021 by Ovidiu (talk | contribs) (→‎Install a List of Packages)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

External

Internal

Overview

Examples

Install a Single Package

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

Install a List of Packages

For that, declare a variable containing the list of packages, and use the variable name in the "name:" configuration element. ⚠️ 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.

- name: Install a list of packages
  vars:
    packages:
    - httpd
    - httpd-tools
  become: true
  become_method: sudo
  yum:
    name: "{{ packages }}"

Alternative:

- name: Install a list of packages
  become: true
  become_method: sudo
  yum:
    name:
      - nginx
      - postgresql
      - postgresql-server
    state: present

Other Examples

- 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: Download the nginx package but do not install it
  yum:
    name:
      - nginx
    state: latest
    download_only: true