Install dependencies¶
Salt and the Salt services require various packages to be present in order to run effectively. If you host your own custom built repository of Salt, you must also ensure these packages are present in the repository. For example, if your system is air-gapped and uses a minimal repository, these packages must be present in order for the Salt services to run correctly.
The following list the package dependencies for each operating system for onedir packages.
Installing dependencies in onedir versions of Salt¶
When you install a onedir version of Salt (3006 and later), Salt installs its own local version of Python and the dependencies needed for the core functionality of Salt. See Salt dependencies for a list of packages that come installed with Salt.
After installing a onedir verison of Salt, your system has both a global version of Python at the system level and a local version of Python used by Salt. This architecture change means that the Salt onedir paths for Python are different and you need to change how you install third-party Python dependencies that you use with Salt, including your state files.
The recommended approach is to install dependencies is to use Salt to reinstall any existing third-party Python packages. Reinstalling the packages ensures they are in the correct onedir path:
Use
salt-call pip.list
to view existing modules that may need to be installed.Note
See Salt dependencies for a list of the packages that are installed with onedir. Any package that is not on this list needs to be reinstalled.
You can use two possible methods to reinstall packages:
salt-pip install <package name>
Use the
pip.installed
Salt state.
Note
In order to install software such as Python libraries and Salt extensions, you’ll need to use
salt-pip
to install packages into the onedir directory. For more information, see the pip.state module documentation.After upgrading to onedir, you might need to update any state files that use
pip.installed
if you need to install Python packages into the system Python environment. In the state file, provide thepip_bin
orbin_env
to the pip state module.For example:
lib-foo: pip.installed: - pip_bin: /usr/bin/pip3 lib-bar: pip.installed: - bin_env: /usr/bin/python3
After upgrading to onedir, you might also need to update any salt
gitfs
formula branches if the formula has changed because of onedir-specific fixes.
List of dependencies by operating system¶
Amazon Linux 2¶
Service |
Packages |
---|---|
salt |
|
salt-minion |
|
salt-master |
|
salt-api |
|
salt-cloud |
|
salt-ssh |
|
salt-syndic |
|
Debian 11¶
Service |
Packages |
---|---|
salt |
Recommends:
Suggests:
|
salt-minion |
Depends:
Recommends:
|
salt-master |
Depends:
|
salt-api |
Depends:
|
salt-cloud |
Depends:
|
salt-ssh |
Depends:
|
salt-syndic |
Depends:
|
RedHat 7¶
Service |
Packages |
---|---|
salt |
|
salt-minion |
|
salt-master |
|
salt-api |
|
salt-cloud |
|
salt-ssh |
|
salt-syndic |
|
RedHat 8¶
Service |
Packages |
---|---|
salt |
|
salt-minion |
|
salt-master |
|
salt-api |
|
salt-cloud |
|
salt-ssh |
|
salt-syndic |
|
RedHat 9¶
Service |
Packages |
---|---|
salt |
|
salt-minion |
|
salt-master |
|
salt-api |
|
salt-cloud |
|
salt-ssh |
|
salt-syndic |
|
Ubuntu 18.04¶
Service |
Packages |
---|---|
salt |
Recommends:
Suggests:
|
salt-minion |
Depends:
Recommends:
|
salt-master |
Depends:
|
salt-api |
Depends:
|
salt-cloud |
Depends:
|
salt-ssh |
Depends:
|
salt-syndic |
Depends:
|
Ubuntu 20.04¶
Service |
Packages |
---|---|
salt |
Recommends:
Suggests:
|
salt-minion |
Depends:
Recommends:
|
salt-master |
Depends:
|
salt-api |
Depends:
|
salt-cloud |
Depends:
|
salt-ssh |
Depends:
|
salt-syndic |
Depends:
|
Ubuntu 22.04¶
Service |
Packages |
---|---|
salt |
Recommends:
Suggests:
|
salt-minion |
Depends:
Recommends:
|
salt-master |
Depends:
|
salt-api |
Depends:
|
salt-cloud |
Depends:
|
salt-ssh |
Depends:
|
salt-syndic |
Depends:
|