Package support for openSUSE via the zypper package manager
depends: |
|
---|
salt.modules.zypper.
add_lock
(packages, **kwargs)¶Add a package lock. Specify packages to lock by exact name.
CLI 范例:
salt '*' pkg.add_lock <package name>
salt '*' pkg.add_lock <package1>,<package2>,<package3>
salt '*' pkg.add_lock pkgs='["foo", "bar"]'
salt.modules.zypper.
clean_locks
()¶Remove unused locks that do not currently (with regard to repositories used) lock any package.
CLI 范例:
salt '*' pkg.clean_locks
salt.modules.zypper.
del_repo
(repo)¶Delete a repo.
CLI范例:
salt '*' pkg.del_repo alias
salt.modules.zypper.
diff
(*paths)¶Return a formatted diff between current files and original in a package. NOTE: this function includes all files (configuration and not), but does not work on binary content.
参数: | path -- Full path to the installed file |
---|---|
返回: | Difference string or raises and exception if examined file is binary. |
CLI example:
salt '*' pkg.diff /etc/apache2/httpd.conf /etc/sudoers
salt.modules.zypper.
download
(*packages, **kwargs)¶Download packages to the local disk.
CLI example:
salt '*' pkg.download httpd
salt '*' pkg.download httpd postfix
salt.modules.zypper.
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范例:
salt '*' pkg.file_list httpd
salt '*' pkg.file_list httpd postfix
salt '*' pkg.file_list
salt.modules.zypper.
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范例:
salt '*' pkg.file_list httpd
salt '*' pkg.file_list httpd postfix
salt '*' pkg.file_list
salt.modules.zypper.
get_repo
(repo, **kwargs)¶Display a repo.
CLI 范例:
salt '*' pkg.get_repo alias
salt.modules.zypper.
info
(*names, **kwargs)¶Nitrogen 版后已移除: Use info_available()
instead.
Return the information of the named package available for the system.
CLI example:
salt '*' pkg.info <package1>
salt '*' pkg.info <package1> <package2> <package3> ...
salt.modules.zypper.
info_available
(*names, **kwargs)¶Return the information of the named package available for the system.
CLI example:
salt '*' pkg.info_available <package1>
salt '*' pkg.info_available <package1> <package2> <package3> ...
salt.modules.zypper.
info_installed
(*names, **kwargs)¶Return the information of the named package(s), installed on the system.
参数: |
|
---|
CLI example:
salt '*' pkg.info_installed <package1>
salt '*' pkg.info_installed <package1> <package2> <package3> ...
salt '*' pkg.info_installed <package1> attr=version,vendor
salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor
salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=true
salt.modules.zypper.
install
(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, downloadonly=None, skip_verify=False, version=None, **kwargs)¶Install the passed package(s), add refresh=True to force a 'zypper refresh' 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.
CLI 范例:
salt '*' pkg.install <package name>
--no-gpg-checks
)pkgs
or sources
is passed.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 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 范例:
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.zypper.
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 dict will be returned for that package.
CLI example:
salt '*' pkg.latest_version <package name>
salt '*' pkg.latest_version <package1> <package2> <package3> ...
salt.modules.zypper.
list_installed_patterns
()¶List installed patterns on the system.
CLI范例:
salt '*' pkg.list_installed_patterns
salt.modules.zypper.
list_locks
()¶List current package locks.
Return a dict containing the locked package with attributes:
{'<package>': {'case_sensitive': '<case_sensitive>',
'match_type': '<match_type>'
'type': '<type>'}}
CLI 范例:
salt '*' pkg.list_locks
salt.modules.zypper.
list_patterns
(refresh=False)¶List all known patterns from available repos.
CLI范例:
salt '*' pkg.list_patterns
salt.modules.zypper.
list_pkgs
(versions_as_list=False, **kwargs)¶List the packages currently installed as a dict with versions as a comma separated string:
{'<package_name>': '<version>[,<version>...]'}
If set to true, the versions are provided as a list
{'<package_name>': ['<version>', '<version>']}
CLI 范例:
salt '*' pkg.list_pkgs
salt.modules.zypper.
list_products
(all=False, refresh=False)¶List all available or installed SUSE products.
Includes handling for OEM products, which read the OEM productline file and overwrite the release value.
CLI范例:
salt '*' pkg.list_products
salt '*' pkg.list_products all=True
salt.modules.zypper.
list_repos
()¶Lists all repos.
CLI 范例:
salt '*' pkg.list_repos
salt.modules.zypper.
list_upgrades
(refresh=True)¶List all available package upgrades on this system
CLI 范例:
salt '*' pkg.list_upgrades
salt.modules.zypper.
mod_repo
(repo, **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:
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 url can only be deleted if a mirrorlist is specified (or vice versa).
CLI范例:
salt '*' pkg.mod_repo alias alias=new_alias
salt '*' pkg.mod_repo alias url= mirrorlist=http://host.com/
salt.modules.zypper.
modified
(*packages, **flags)¶List the modified files that belong to a package. Not specifying any packages will return a list of _all_ modified files on the system's RPM database.
2015.5.0 新版功能.
Filtering by flags (True or False):
CLI范例:
salt '*' pkg.modified
salt '*' pkg.modified httpd
salt '*' pkg.modified httpd postfix
salt '*' pkg.modified httpd owner=True group=False
salt.modules.zypper.
owner
(*paths)¶Return the name of the package that owns the file. Multiple file paths can be passed. 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 /etc/httpd/conf/httpd.conf
salt.modules.zypper.
purge
(name=None, pkgs=None, **kwargs)¶Recursively remove a package and all dependencies which were installed
with it, this will call a zypper -n remove -u
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.zypper.
refresh_db
()¶Force a repository refresh by calling zypper refresh --force
, return a dict:
{'<database name>': Bool}
CLI 范例:
salt '*' pkg.refresh_db
salt.modules.zypper.
remove
(name=None, pkgs=None, **kwargs)¶Remove packages with zypper -n remove
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.zypper.
remove_lock
(packages, **kwargs)¶Remove specified package lock.
CLI 范例:
salt '*' pkg.remove_lock <package name>
salt '*' pkg.remove_lock <package1>,<package2>,<package3>
salt '*' pkg.remove_lock pkgs='["foo", "bar"]'
salt.modules.zypper.
search
(criteria, refresh=False)¶List known packags, available to the system.
CLI范例:
salt '*' pkg.search <criteria>
salt.modules.zypper.
upgrade
(refresh=True, skip_verify=False)¶Run a full system upgrade, a zypper upgrade
Return a dict containing the new package names and versions:
{'<package>': {'old': '<old-version>',
'new': '<new-version>'}}
CLI 范例:
salt '*' pkg.upgrade
Options:
--no-gpg-checks
)salt.modules.zypper.
upgrade_available
(name)¶Check whether or not an upgrade is available for a given package
CLI 范例:
salt '*' pkg.upgrade_available <package name>
salt.modules.zypper.
verify
(*names, **kwargs)¶Runs an rpm -Va on a system, and returns the results in a dict
Files with an attribute of config, doc, ghost, license or readme in the
package header can be ignored using the ignore_types
keyword argument
CLI 范例:
salt '*' pkg.verify
salt '*' pkg.verify httpd
salt '*' pkg.verify 'httpd postfix'
salt '*' pkg.verify 'httpd postfix' ignore_types=['config','doc']
salt.modules.zypper.
version
(*names, **kwargs)¶Returns a string representing the package version or an empty dict 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> ...
salt.modules.zypper.
version_cmp
(ver1, ver2)¶2015.5.4 新版功能.
Do a cmp-style comparison on two packages. Return -1 if ver1 < ver2, 0 if ver1 == ver2, and 1 if ver1 > ver2. Return None if there was a problem making the comparison.
CLI 范例:
salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'