community.general.zypper module – Manage packages on SUSE and openSUSE
Note
This module is part of the community.general collection (version 4.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.zypper
.
Synopsis
Manage packages on SUSE and openSUSE using the zypper and rpm tools.
Also supports transactional updates, by running zypper inside
/sbin/transactional-update --continue --drop-if-no-change --quiet run
.
Requirements
The below requirements are needed on the host that executes this module.
zypper >= 1.0 # included in openSUSE >= 11.1 or SUSE Linux Enterprise Server/Desktop >= 11.0
python-xml
rpm
Parameters
Parameter |
Comments |
---|---|
Adds Choices:
|
|
Adds Choices:
|
|
Whether to disable to GPG signature checking of the package signature being installed. Has an effect only if state is present or latest. Choices:
|
|
Corresponds to the Choices:
|
|
Add additional options to Options should be supplied in a single line as if given in the command line. |
|
Add additional global target options to Options should be supplied in a single line as if given in the command line. |
|
Adds Choices:
|
|
Adds Choices:
|
|
Package name Can include a version like You can also pass a url or a local path to a rpm file. When using state=latest, this can be ‘*’, which updates all installed packages. |
|
Adds Choices:
|
|
Adds Choices:
|
|
When using Choices:
|
|
The type of package to be operated on. Choices:
|
|
Run the equivalent of Choices:
|
Notes
Note
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.
Examples
- name: Install nmap
community.general.zypper:
name: nmap
state: present
- name: Install apache2 with recommended packages
community.general.zypper:
name: apache2
state: present
disable_recommends: no
- name: Apply a given patch
community.general.zypper:
name: openSUSE-2016-128
state: present
type: patch
- name: Remove the nmap package
community.general.zypper:
name: nmap
state: absent
- name: Install the nginx rpm from a remote repo
community.general.zypper:
name: 'http://nginx.org/packages/sles/12/x86_64/RPMS/nginx-1.8.0-1.sles12.ngx.x86_64.rpm'
state: present
- name: Install local rpm file
community.general.zypper:
name: /tmp/fancy-software.rpm
state: present
- name: Update all packages
community.general.zypper:
name: '*'
state: latest
- name: Apply all available patches
community.general.zypper:
name: '*'
state: latest
type: patch
- name: Perform a dist-upgrade with additional arguments
community.general.zypper:
name: '*'
state: dist-upgrade
allow_vendor_change: true
extra_args: '--allow-arch-change'
- name: Perform a installaion of nmap with the install option replacefiles
community.general.zypper:
name: 'nmap'
state: latest
replacefiles: true
- name: Refresh repositories and update package openssl
community.general.zypper:
name: openssl
state: present
update_cache: yes
- name: "Install specific version (possible comparisons: <, >, <=, >=, =)"
community.general.zypper:
name: 'docker>=1.10'
state: present
- name: Wait 20 seconds to acquire the lock before failing
community.general.zypper:
name: mosh
state: present
environment:
ZYPP_LOCK_TIMEOUT: 20
Authors
Patrick Callahan (@dirtyharrycallahan)
Alexander Gubin (@alxgu)
Thomas O’Donnell (@andytom)
Robin Roth (@robinro)
Andrii Radyk (@AnderEnder)
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication