salt.modules.pacman¶
A module to wrap pacman calls, since Arch is the best (https://wiki.archlinux.org/index.php/Arch_is_the_best)
-
salt.modules.pacman.
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 package database (not generally recommended).
CLI Examples:
salt '*' pkg.file_list httpd salt '*' pkg.file_list httpd postfix salt '*' pkg.file_list
-
salt.modules.pacman.
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 package database (not generally recommended).
CLI Examples:
salt '*' pkg.file_list httpd salt '*' pkg.file_list httpd postfix salt '*' pkg.file_list
-
salt.modules.pacman.
install
(name=None, refresh=True, pkgs=None, sources=None, **kwargs)¶ Install the passed package, add refresh=True to install with an -Sy.
- 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 refresh the package database before installing.
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. As with the
version
parameter above, comparison operators can be used to target a specific version of a package.CLI Examples:
salt '*' pkg.install pkgs='["foo", "bar"]' salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4"}]' salt '*' pkg.install pkgs='["foo", {"bar": "<1.2.3-4"}]'
- sources
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.pkg.tar.xz"},{"bar": "salt://bar.pkg.tar.xz"}]'
Returns a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>', 'new': '<new-version>'}}
-
salt.modules.pacman.
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.
CLI Example:
salt '*' pkg.latest_version <package name> salt '*' pkg.latest_version <package1> <package2> <package3> ...
-
salt.modules.pacman.
list_pkgs
(versions_as_list=False, **kwargs)¶ List the packages currently installed as a dict:
{'<package_name>': '<version>'}
CLI Example:
salt '*' pkg.list_pkgs
-
salt.modules.pacman.
list_upgrades
()¶ List all available package upgrades on this system
CLI Example:
salt '*' pkg.list_upgrades
-
salt.modules.pacman.
purge
(name=None, pkgs=None, **kwargs)¶ Recursively remove a package and all dependencies which were installed with it, this will call a
pacman -Rsc
- 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.pacman.
refresh_db
()¶ Just run a
pacman -Sy
, return a dict:{'<database name>': Bool}
CLI Example:
salt '*' pkg.refresh_db
-
salt.modules.pacman.
remove
(name=None, pkgs=None, **kwargs)¶ Remove packages with
pacman -R
.- 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.pacman.
upgrade
()¶ Run a full system upgrade, a pacman -Syu
Return a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>', 'new': '<new-version>'}}
CLI Example:
salt '*' pkg.upgrade
-
salt.modules.pacman.
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.pacman.
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> ...