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范例:
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范例:
salt '*' pkg.file_list httpd
salt '*' pkg.file_list httpd postfix
salt '*' pkg.file_list
salt.modules.pacman.
install
(name=None, refresh=False, sysupgrade=False, pkgs=None, sources=None, **kwargs)¶Install (pacman -S) the passed package, add refresh=True to install with -y, add sysupgrade=True to install with -u.
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 范例:
salt '*' pkg.install <package name>
Multiple Package Installation Options:
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范例:
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"}]'
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 范例:
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 范例:
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 范例:
salt '*' pkg.list_pkgs
salt.modules.pacman.
list_upgrades
(refresh=False, root=None)¶List all available package upgrades on this system
CLI 范例:
salt '*' pkg.list_upgrades
salt.modules.pacman.
owner
(*paths)¶2014.7.0 新版功能.
Return the name of the package that owns the file. Multiple file paths can
be passed. Like pkg.version <salt.modules.yumpkg.version
, if a
single path is passed, a string will be returned, and if multiple paths are
passed, a dictionary of file/package name pairs will be returned.
If the file is not owned by a package, or is not present on the minion, then an empty string will be returned for that path.
CLI 范例:
salt '*' pkg.owner /usr/bin/apachectl salt '*' pkg.owner /usr/bin/apachectl /usr/bin/zsh
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
Multiple Package Options:
name
parameter will be ignored if this option is passed.0.16.0 新版功能.
Returns a dict containing the changes.
CLI 范例:
salt '*' pkg.purge <package name>
salt '*' pkg.purge <package1>,<package2>,<package3>
salt '*' pkg.purge pkgs='["foo", "bar"]'
salt.modules.pacman.
refresh_db
(root=None)¶Just run a pacman -Sy
, return a dict:
{'<database name>': Bool}
CLI 范例:
salt '*' pkg.refresh_db
salt.modules.pacman.
remove
(name=None, pkgs=None, **kwargs)¶Remove packages with pacman -R
.
Multiple Package Options:
name
parameter will be ignored if this option is passed.0.16.0 新版功能.
Returns a dict containing the changes.
CLI 范例:
salt '*' pkg.remove <package name>
salt '*' pkg.remove <package1>,<package2>,<package3>
salt '*' pkg.remove pkgs='["foo", "bar"]'
salt.modules.pacman.
upgrade
(refresh=False, root=None, **kwargs)¶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 范例:
salt '*' pkg.upgrade
salt.modules.pacman.
upgrade_available
(name)¶Check whether or not an upgrade is available for a given package
CLI 范例:
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 范例:
salt '*' pkg.version <package name>
salt '*' pkg.version <package1> <package2> <package3> ...