community.general.pacman – Manage packages with pacman
Note
This plugin is part of the community.general collection (version 1.3.2).
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.pacman.
Synopsis
- Manage packages with the pacman package manager, which is used by Arch Linux and its variants.
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   extra_args    string    |    Additional option to pass to pacman when enforcing   state. |  |
|   force    boolean    |   
  |    When removing package, force remove package, without any checks. Same as `extra_args="--nodeps --nodeps"`. When update_cache, force redownload repo databases. Same as `update_cache_extra_args="--refresh --refresh"`.   |  
|   name    list / elements=string    |    Name or list of names of the package(s) or file(s) to install, upgrade, or remove. Can't be used in combination with   upgrade.aliases: package, pkg  |  |
|   state    string    |   
  |    Desired state of the package.   |  
|   update_cache    boolean    |   
  |    Whether or not to refresh the master package lists.  This can be run as part of a package installation or as a separate step.  aliases: update-cache  |  
|   update_cache_extra_args    string    |    Additional option to pass to pacman when enforcing   update_cache. |  |
|   upgrade    boolean    |   
  |    Whether or not to upgrade the whole system. Can't be used in combination with   name. |  
|   upgrade_extra_args    string    |    Additional option to pass to pacman when enforcing   upgrade. |  
Notes
Note
- When used with a 
loop:each package will be processed individually, it is much more efficient to pass the list directly to thenameoption. 
Examples
- name: Install package foo from repo
  community.general.pacman:
    name: foo
    state: present
- name: Install package bar from file
  community.general.pacman:
    name: ~/bar-1.0-1-any.pkg.tar.xz
    state: present
- name: Install package foo from repo and bar from file
  community.general.pacman:
    name:
      - foo
      - ~/bar-1.0-1-any.pkg.tar.xz
    state: present
- name: Upgrade package foo
  community.general.pacman:
    name: foo
    state: latest
    update_cache: yes
- name: Remove packages foo and bar
  community.general.pacman:
    name:
      - foo
      - bar
    state: absent
- name: Recursively remove package baz
  community.general.pacman:
    name: baz
    state: absent
    extra_args: --recursive
- name: Run the equivalent of "pacman -Sy" as a separate step
  community.general.pacman:
    update_cache: yes
- name: Run the equivalent of "pacman -Su" as a separate step
  community.general.pacman:
    upgrade: yes
- name: Run the equivalent of "pacman -Syu" as a separate step
  community.general.pacman:
    update_cache: yes
    upgrade: yes
- name: Run the equivalent of "pacman -Rdd", force remove package baz
  community.general.pacman:
    name: baz
    state: absent
    force: yes
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
|   packages    list / elements=string    |  when upgrade is set to yes |   a list of packages that have been changed  Sample:  ['package', 'other-package']   |  
Authors
- Indrajit Raychaudhuri (@indrajitr)
 - Aaron Bull Schaefer (@elasticdog) <aaron@elasticdog.com>
 - Maxime de Roucy (@tchernomax)
 
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/general/pacman_module.html