Package support for pkgin based systems, inspired from freebsdpkg module
Important
If you feel that Salt should be using this module to manage packages on a minion, and it is using a different module (or gives an error similar to 'pkg.install' is not available), see here.
This function is an alias of latest_version
.
Changed in version 2016.3.0.
Return the latest version of the named package available for upgrade or installation.
If the latest version of a given package is already installed, an empty string will be returned for that package.
CLI Example:
salt '*' pkg.latest_version <package name> salt '*' pkg.latest_version <package1> <package2> ...
Changed in version 2016.3.0.
List the files that belong to a package.
CLI Examples:
salt '*' pkg.file_dict nginx
salt '*' pkg.file_dict nginx varnish
List the files that belong to a package.
CLI Examples:
salt '*' pkg.file_list nginx
Install the passed package
The name of the package to be installed.
Whether or not to refresh the package database before installing.
Specify a package repository to install from.
Multiple Package Installation Options:
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"]'
A list of 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.deb"},{"bar": "salt://bar.deb"}]'
Return a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>',
'new': '<new-version>'}}
CLI Example:
salt '*' pkg.install <package name>
Changed in version 2016.3.0.
Return the latest version of the named package available for upgrade or installation.
If the latest version of a given package is already installed, an empty string will be returned for that package.
CLI Example:
salt '*' pkg.latest_version <package name>
salt '*' pkg.latest_version <package1> <package2> ...
Changed in version 2016.3.0.
List the packages currently installed as a dict:
{'<package_name>': '<version>'}
CLI Example:
salt '*' pkg.list_pkgs
List all available package upgrades.
New in version 2018.3.0.
Whether or not to refresh the package database before installing.
CLI Example:
salt '*' pkg.list_upgrades
Normalize package names
Note
Nothing special to do to normalize, just return the original. (We do need it to be compatible with the pkg_resource provider.)
Package purges are not supported, this function is identical to
remove()
.
The name of the package to be deleted.
Multiple Package Options:
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"]'
Use pkg update to get latest pkg_summary
Pass -f so that the cache is always refreshed.
New in version 2018.3.0.
CLI Example:
salt '*' pkg.refresh_db
The name of the package to be deleted.
Multiple Package Options:
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 list containing the removed packages.
CLI Example:
salt '*' pkg.remove <package name>
salt '*' pkg.remove <package1>,<package2>,<package3>
salt '*' pkg.remove pkgs='["foo", "bar"]'
Searches for an exact match using pkgin ^package$
CLI Example:
salt '*' pkg.search 'mysql-server'
Run pkg upgrade, if pkgin used. Otherwise do nothing
Whether or not to refresh the package database before installing.
Multiple Package Upgrade Options:
A list of packages to upgrade from a software repository. Must be passed as a python list.
CLI Example:
salt '*' pkg.upgrade pkgs='["foo","bar"]'
Returns a dictionary containing the changes:
{'<package>': {'old': '<old-version>',
'new': '<new-version>'}}
CLI Example:
salt '*' pkg.upgrade
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> ...