zypper - Manage packages on SUSE and openSUSE¶
Synopsis¶
- Manage packages on SUSE and openSUSE using the zypper and rpm tools.
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 | Choices/Defaults | Comments |
---|---|---|
disable_gpg_check
bool |
|
Whether to disable to GPG signature checking of the package signature being installed. Has an effect only if state is present or latest.
|
disable_recommends
bool (added in 1.8) |
|
Corresponds to the
--no-recommends option for zypper. Default behavior (yes ) modifies zypper's default behavior; no does install recommended packages. |
extra_args
(added in 2.4) |
Add additional options to
zypper command.Options should be supplied in a single line as if given in the command line.
|
|
extra_args_precommand
(added in 2.6) |
Add additional global target options to
zypper .Options should be supplied in a single line as if given in the command line.
|
|
force
bool (added in 2.2) |
|
Adds
--force option to zypper. Allows to downgrade packages and change vendor or architecture. |
name
required |
Package name
name or package specifier or a list of either.Can include a version like
name=1.0 , name>3.4 or name<=2.7 . If a version is given, oldpackage is implied and zypper is allowed to update the package within the version range given.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.
aliases: pkg |
|
oldpackage
bool (added in 2.2) |
|
Adds
--oldpackage option to zypper. Allows to downgrade packages with less side-effects than force. This is implied as soon as a version is specified as part of the package name. |
state |
|
present will make sure the package is installed. latest will make sure the latest version of the package is installed. absent will make sure the specified package is not installed. dist-upgrade will make sure the latest version of all installed packages from all enabled repositories is installed.When using
dist-upgrade , name should be '*' . |
type
(added in 2.0) |
|
The type of package to be operated on.
|
update_cache
bool (added in 2.2) |
|
Run the equivalent of
zypper refresh before the operation. Disabled in check mode.aliases: refresh |
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¶
# Install "nmap"
- zypper:
name: nmap
state: present
# Install apache2 with recommended packages
- zypper:
name: apache2
state: present
disable_recommends: no
# Apply a given patch
- zypper:
name: openSUSE-2016-128
state: present
type: patch
# Remove the "nmap" package
- zypper:
name: nmap
state: absent
# Install the nginx rpm from a remote repo
- zypper:
name: 'http://nginx.org/packages/sles/12/x86_64/RPMS/nginx-1.8.0-1.sles12.ngx.x86_64.rpm'
state: present
# Install local rpm file
- zypper:
name: /tmp/fancy-software.rpm
state: present
# Update all packages
- zypper:
name: '*'
state: latest
# Apply all available patches
- zypper:
name: '*'
state: latest
type: patch
# Perform a dist-upgrade with additional arguments
- zypper:
name: '*'
state: dist-upgrade
extra_args: '--no-allow-vendor-change --allow-arch-change'
# Refresh repositories and update package "openssl"
- zypper:
name: openssl
state: present
update_cache: yes
# Install specific version (possible comparisons: <, >, <=, >=, =)
- zypper:
name: 'docker>=1.10'
state: present
# Wait 20 seconds to acquire the lock before failing
- zypper:
name: mosh
state: present
environment:
ZYPP_LOCK_TIMEOUT: 20
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Patrick Callahan (@dirtyharrycallahan)
- Alexander Gubin (@alxgu)
- Thomas O’Donnell (@andytom)
- Robin Roth (@robinro)
- Andrii Radyk (@AnderEnder)
Hint
If you notice any issues in this documentation you can edit this document to improve it.