# salt.modules.yumpkg

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

Support for YUM

depends: | yum Python module rpmUtils Python module

This module uses the python interface to YUM. Note that with a default /etc/yum.conf, this will cause messages to be sent to sent to syslog on /dev/log, with a log facility of LOG_USER. This is in addition to whatever is logged to /var/log/yum.log. See the manpage for `yum.conf(5)` for information on how to use the `syslog_facility` and `syslog_device` config parameters to configure how syslog is handled, or take the above defaults into account when configuring your syslog daemon.

`salt.modules.yumpkg.` `check_db`(*names, **kwargs)

  New in version 0.17.0.

  Returns a dict containing the following information for each specified package:

  1. A key `found`, which will be a boolean value denoting if a match was found in the package database.
  2. If `found` is `False`, then a second key called `suggestions` will be present, which will contain a list of possible matches.

  The `fromrepo`, `enablerepo`, and `disablerepo` arguments are supported, as used in pkg states.

  CLI Examples:

      salt '*' pkg.check_db <package1> <package2> <package3>
      salt '*' pkg.check_db <package1> <package2> <package3> fromrepo=epel-testing

`salt.modules.yumpkg.` `clean_metadata`()

  Cleans local yum metadata.

  CLI Example:

      salt '*' pkg.clean_metadata

`salt.modules.yumpkg.` `del_repo`(repo, basedir='/etc/yum.repos.d', **kwargs)

  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.` `expand_repo_def`(repokwargs)

  Take a repository definition and expand it to the full pkg repository dict that can be used for comparison. This is a helper function to make certain repo managers sane for comparison in the pkgrepo states.

  There is no use to calling this function via the CLI.

`salt.modules.yumpkg.` `file_dict`(*packages)

  List the files that belong to a package, grouped by package. Not specifying any packages will return a list of _every_ file on the system's rpm database (not generally recommended).

  CLI Examples:

      salt '*' pkg.file_list httpd
      salt '*' pkg.file_list httpd postfix
      salt '*' pkg.file_list

`salt.modules.yumpkg.` `file_list`(*packages)

  List the files that belong to a package. Not specifying any packages will return a list of _every_ file on the system's rpm database (not generally recommended).

  CLI Examples:

      salt '*' pkg.file_list httpd
      salt '*' pkg.file_list httpd postfix
      salt '*' pkg.file_list

`salt.modules.yumpkg.` `get_repo`(repo, basedir='/etc/yum.repos.d', **kwargs)

  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.` `group_diff`(groupname)

  Lists packages belonging to a certain group, and which are installed

  CLI Example:

      salt '*' pkg.group_diff 'Perl Support'

`salt.modules.yumpkg.` `group_info`(groupname)

  Lists packages belonging to a certain group

  CLI Example:

      salt '*' pkg.group_info 'Perl Support'

`salt.modules.yumpkg.` `group_install`(name=None, groups=None, skip=None, include=None, **kwargs)

  Install the passed package group(s). This is basically a wrapper around pkg.install, which performs package group resolution for the user. This function is currently considered "experimental", and should be expected to undergo changes before it becomes official.

  name
    The name of a single package group to install. Note that this option is ignored if "groups" is passed.
  groups

    The names of multiple packages which are to be installed.

    CLI Example:

        salt '*' pkg.group_install groups='["Group 1", "Group 2"]'

  skip

    The name(s), in a list, of any packages that would normally be installed by the package group ("default" packages), which should not be installed.

    CLI Examples:

        salt '*' pkg.group_install 'My Group' skip='["foo", "bar"]'

  include

    The name(s), in a list, of any packages which are included in a group, which would not normally be installed ("optional" packages). Note that this will nor enforce group membership; if you include packages which are not members of the specified groups, they will still be installed.

    CLI Examples:

        salt '*' pkg.group_install 'My Group' include='["foo", "bar"]'

  other arguments
    Because this is essentially a wrapper around pkg.install, any argument which can be passed to pkg.install may also be included here, and it will be passed along wholesale.

`salt.modules.yumpkg.` `group_list`()

  Lists all groups known by yum on this system

  CLI Example:

      salt '*' pkg.group_list

`salt.modules.yumpkg.` `install`(name=None, refresh=False, 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.

    32-bit packages can be installed on 64-bit systems by appending the architecture designation (`.i686`, `.i586`, etc.) to the end of the package name.

    CLI Example:

        salt '*' pkg.install <package name>

  refresh
    Whether or not to update 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.2.3-4.el6. 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. A specific version number can be specified by using a single-element dict representing the package and its version.

    CLI Examples:

        salt '*' pkg.install pkgs='["foo", "bar"]'
        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4.el6"}]'

  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.` `latest_version`(*names, **kwargs)

  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.

  A specific repo can be requested using the `fromrepo` keyword argument.

  CLI Example:

      salt '*' pkg.latest_version <package name>
      salt '*' pkg.latest_version <package name> fromrepo=epel-testing
      salt '*' pkg.latest_version <package1> <package2> <package3> ...

`salt.modules.yumpkg.` `list_pkgs`(versions_as_list=False, **kwargs)

  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
    the URL for yum to reference
  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`(name=None, pkgs=None, **kwargs)

  Package purges are not supported by yum, this function is identical to `pkg.remove`.

  name
    The name of the package to be deleted.

  Multiple Package Options:

  pkgs
    A list of packages to delete. Must be passed as a python list. The `name` parameter will be ignored if this option is passed.

  New in version 0.16.0.

  Returns a dict containing the changes.

  CLI Example:

      salt '*' pkg.purge <package name>
      salt '*' pkg.purge <package1>,<package2>,<package3>
      salt '*' pkg.purge pkgs='["foo", "bar"]'

`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`(name=None, pkgs=None, **kwargs)

  Removes packages using python API for yum.

  name
    The name of the package to be deleted.

  Multiple Package Options:

  pkgs
    A list of packages to delete. Must be passed as a python list. The `name` parameter will be ignored if this option is passed.

  New in version 0.16.0.

  Returns a dict containing the changes.

  CLI Example:

      salt '*' pkg.remove <package name>
      salt '*' pkg.remove <package1>,<package2>,<package3>
      salt '*' pkg.remove pkgs='["foo", "bar"]'

`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, **kwargs)

  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> ...

Current Salt release: 0.17.1

#### Previous topic

salt.modules.xapi

#### Next topic

salt.modules.yumpkg5

### Quick search

Enter search terms or a module, class or function name.

### Upcoming SaltStack Events

My conferences on Lanyrd