community.general.zypper module – Manage packages on SUSE and openSUSE
Note
This module is part of the community.general collection (version 10.1.0).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
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 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 |
|
Adds Choices:
|
|
Adds Choices:
|
|
When using Choices:
|
|
The type of package to be operated on. Choices:
|
|
Run the equivalent of Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: full |
Will return details on what has changed (or possibly needs changing in |
Notes
Note
When used with a
loop:
each package will be processed individually, it is much more efficient to pass the list directly to thename
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: false
- 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 installation 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: true
- 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