community.general.zypper module – Manage packages on SUSE and openSUSE
Note
This module is part of the community.general collection (version 9.4.0).
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