salt.modules.pkgin

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.

salt.modules.pkgin.available_version(*names, **kwargs)

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> ...
salt.modules.pkgin.file_dict(*packages, **kwargs)

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
salt.modules.pkgin.file_list(package, **kwargs)

List the files that belong to a package.

CLI Examples:

salt '*' pkg.file_list nginx
salt.modules.pkgin.install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, **kwargs)

Install the passed package

name

The name of the package to be installed.

refresh

Whether or not to refresh the package database before installing.

fromrepo

Specify a package repository to install from.

Multiple Package Installation Options:

pkgs

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"]'
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.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>
salt.modules.pkgin.latest_version(*names, **kwargs)

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> ...
salt.modules.pkgin.list_pkgs(versions_as_list=False, **kwargs)

Changed in version 2016.3.0.

List the packages currently installed as a dict:

{'<package_name>': '<version>'}

CLI Example:

salt '*' pkg.list_pkgs
salt.modules.pkgin.list_upgrades(refresh=True, **kwargs)

List all available package upgrades.

New in version 2018.3.0.

refresh

Whether or not to refresh the package database before installing.

CLI Example:

salt '*' pkg.list_upgrades
salt.modules.pkgin.normalize_name(pkgs, **kwargs)

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.)

salt.modules.pkgin.purge(name=None, pkgs=None, **kwargs)

Package purges are not supported, this function is identical to remove().

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.pkgin.refresh_db(force=False, **kwargs)

Use pkg update to get latest pkg_summary

force

Pass -f so that the cache is always refreshed.

New in version 2018.3.0.

CLI Example:

salt '*' pkg.refresh_db
salt.modules.pkgin.remove(name=None, pkgs=None, **kwargs)
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 list containing the removed packages.

CLI Example:

salt '*' pkg.remove <package name>
salt '*' pkg.remove <package1>,<package2>,<package3>
salt '*' pkg.remove pkgs='["foo", "bar"]'
salt.modules.pkgin.search(pkg_name, **kwargs)

Searches for an exact match using pkgin ^package$

CLI Example:

salt '*' pkg.search 'mysql-server'
salt.modules.pkgin.upgrade(refresh=True, pkgs=None, **kwargs)

Run pkg upgrade, if pkgin used. Otherwise do nothing

refresh

Whether or not to refresh the package database before installing.

Multiple Package Upgrade Options:

pkgs

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
salt.modules.pkgin.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> ...