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: |
|
---|
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> ...
Cleans local yum metadata.
CLI Example:
salt '*' pkg.clean_metadata
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'
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
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
Lists packages belonging to a certain group
CLI Example:
salt '*' pkg.groupinfo 'Perl Support'
Lists all groups known by yum on this system
CLI Example:
salt '*' pkg.grouplist
Install the passed package(s), add refresh=True to clean the yum database before package is installed.
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.
Repository Options:
Multiple Package Installation Options:
A list of packages to install from a software repository. Must be passed as a python list.
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.
Returns a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>',
'new': '<new-version>'}}
List the packages currently installed in a dict:
{'<package_name>': '<version>'}
CLI Example:
salt '*' pkg.list_pkgs
Lists all repos in <basedir> (default: /etc/yum.repos.d/).
CLI Example:
salt '*' pkg.list_repos
Check whether or not an upgrade is available for all packages
CLI Example:
salt '*' pkg.list_upgrades
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/
Yum does not have a purge, this function calls remove
Return a list containing the removed packages:
CLI Example:
salt '*' pkg.purge <package name>
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
Removes packages with yum remove
Return a list containing the removed packages:
CLI Example:
salt '*' pkg.remove <package,package,package>
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
Check whether or not an upgrade is available for a given package
CLI Example:
salt '*' pkg.upgrade_available <package name>
Runs an rpm -Va on a system, and returns the results in a dict
CLI Example:
salt '*' pkg.verify
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> ...