salt.modules.yumpkg

New in version 0.9.4: This module replaces the "yum" module in previous releases. It is backward compatibile and uses the native yum Python interface instead of the CLI interface.

Support for YUM

depends:
  • yum Python module
  • rpmUtils Python module
salt.modules.yumpkg.available_version(*names)

Return the latest version of the named package available for upgrade or installation. If more than one package name is specified, a dict of name/version pairs is returned.

If the latest version of a given package is already installed, an empty string will be returned for that package.

CLI Example:

salt '*' pkg.available_version <package name>
salt '*' pkg.available_version <package1> <package2> <package3> ...
salt.modules.yumpkg.clean_metadata()

Cleans local yum metadata.

CLI Example:

salt '*' pkg.clean_metadata
salt.modules.yumpkg.compare(version1='', version2='')

Compare two version strings. Return -1 if version1 < version2, 0 if version1 == version2, and 1 if version1 > version2. Return None if there was a problem making the comparison.

CLI Example:

salt '*' pkg.compare '0.2.4-0' '0.2.4.1-0'
salt.modules.yumpkg.del_repo(repo, basedir='/etc/yum.repos.d')

Delete a repo from <basedir> (default basedir: /etc/yum.repos.d).

If the .repo file that the repo exists in does not contain any other repo configuration, the file itself will be deleted.

CLI Examples:

salt '*' pkg.del_repo myrepo
salt '*' pkg.del_repo myrepo basedir=/path/to/dir
salt.modules.yumpkg.get_repo(repo, basedir='/etc/yum.repos.d')

Display a repo from <basedir> (default basedir: /etc/yum.repos.d).

CLI Examples:

salt '*' pkg.get_repo myrepo
salt '*' pkg.get_repo myrepo basedir=/path/to/dir
salt.modules.yumpkg.groupinfo(groupname)

Lists packages belonging to a certain group

CLI Example:

salt '*' pkg.groupinfo 'Perl Support'
salt.modules.yumpkg.grouplist()

Lists all groups known by yum on this system

CLI Example:

salt '*' pkg.grouplist
salt.modules.yumpkg.install(name=None, refresh=False, fromrepo=None, skip_verify=False, pkgs=None, sources=None, **kwargs)

Install the passed package(s), add refresh=True to clean the yum database before package is installed.

name

The name of the package to be installed. Note that this parameter is ignored if either "pkgs" or "sources" is passed. Additionally, please note that this option can only be used to install packages from a software repository. To install a package file manually, use the "sources" option.

CLI Example::
salt '*' pkg.install <package name>
refresh
Whether or not to clean the yum database before executing.
skip_verify
Skip the GPG verification check. (e.g., --nogpgcheck)
version
Install a specific version of the package, e.g. 1.0.9. Ignored if "pkgs" or "sources" is passed.

Repository Options:

fromrepo
Specify a package repository (or repositories) from which to install. (e.g., yum --disablerepo='*' --enablerepo='somerepo')
enablerepo
Specify a disabled package repository (or repositories) to enable. (e.g., yum --enablerepo='somerepo')
disablerepo
Specify an enabled package repository (or repositories) to disable. (e.g., yum --disablerepo='somerepo')

Multiple Package Installation Options:

pkgs

A list of packages to install from a software repository. Must be passed as a python list.

CLI Example::
salt '*' pkg.install pkgs='["foo","bar"]'
sources

A list of RPM packages to install. Must be passed as a list of dicts, with the keys being package names, and the values being the source URI or local path to the package.

CLI Example::
salt '*' pkg.install sources='[{"foo": "salt://foo.rpm"},{"bar": "salt://bar.rpm"}]'

Returns a dict containing the new package names and versions:

{'<package>': {'old': '<old-version>',
               'new': '<new-version>'}}
salt.modules.yumpkg.list_pkgs()

List the packages currently installed in a dict:

{'<package_name>': '<version>'}

CLI Example:

salt '*' pkg.list_pkgs
salt.modules.yumpkg.list_repos(basedir='/etc/yum.repos.d')

Lists all repos in <basedir> (default: /etc/yum.repos.d/).

CLI Example:

salt '*' pkg.list_repos
salt.modules.yumpkg.list_upgrades(refresh=True)

Check whether or not an upgrade is available for all packages

CLI Example:

salt '*' pkg.list_upgrades
salt.modules.yumpkg.mod_repo(repo, basedir=None, **kwargs)

Modify one or more values for a repo. If the repo does not exist, it will be created, so long as the following values are specified:

repo (name by which the yum refers to the repo)
name (a human-readable name for the repo)
baseurl or mirrorlist (the url for yum to reference)

Key/Value pairs may also be removed from a repo's configuration by setting a key to a blank value. Bear in mind that a name cannot be deleted, and a baseurl can only be deleted if a mirrorlist is specified (or vice versa).

CLI Examples:

salt '*' pkg.mod_repo reponame enabled=1 gpgcheck=1
salt '*' pkg.mod_repo reponame basedir=/path/to/dir enabled=1
salt '*' pkg.mod_repo reponame baseurl= mirrorlist=http://host.com/
salt.modules.yumpkg.purge(pkgs, **kwargs)

Yum does not have a purge, this function calls remove

Return a list containing the removed packages:

CLI Example:

salt '*' pkg.purge <package name>
salt.modules.yumpkg.refresh_db()

Since yum refreshes the database automatically, this runs a yum clean, so that the next yum operation will have a clean database

CLI Example:

salt '*' pkg.refresh_db
salt.modules.yumpkg.remove(pkgs, **kwargs)

Removes packages with yum remove

Return a list containing the removed packages:

CLI Example:

salt '*' pkg.remove <package,package,package>
salt.modules.yumpkg.upgrade(refresh=True)

Run a full system upgrade, a yum upgrade

Return a dict containing the new package names and versions:

{'<package>': {'old': '<old-version>',
               'new': '<new-version>'}}

CLI Example:

salt '*' pkg.upgrade
salt.modules.yumpkg.upgrade_available(name)

Check whether or not an upgrade is available for a given package

CLI Example:

salt '*' pkg.upgrade_available <package name>
salt.modules.yumpkg.verify(*package)

Runs an rpm -Va on a system, and returns the results in a dict

CLI Example:

salt '*' pkg.verify
salt.modules.yumpkg.version(*names)

Returns a string representing the package version or an empty string if not installed. If more than one package name is specified, a dict of name/version pairs is returned.

CLI Example:

salt '*' pkg.version <package name>
salt '*' pkg.version <package1> <package2> <package3> ...

Parent topic

Previous topic

salt.modules.yumpkg5

Next topic

salt.modules.zpool