Linux (DEB)¶
These instructions explain how to install Salt rpms on operating systems that
are Debian-like (using apt-get
install methods).
For a list of supported and tested operating systems, for running Salt, see Salt supported operating systems.
Install Salt DEBs¶
Run the following command to install the Salt Project repository:
# Ensure keyrings dir exists mkdir -p /etc/apt/keyrings # Download public key curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public | sudo tee /etc/apt/keyrings/salt-archive-keyring.pgp # Create apt repo target configuration curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.sources | sudo tee /etc/apt/sources.list.d/salt.sources
Run
sudo apt update
to update metadata.Install the salt-minion, salt-master, or other Salt components:
Populate
/etc/apt/preferences.d/salt-pin-1001
in order to restrict upgrades to Salt 3006.x LTS:echo 'Package: salt-* Pin: version 3006.* Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/salt-pin-1001
Available installs:
sudo apt-get install salt-master sudo apt-get install salt-minion sudo apt-get install salt-ssh sudo apt-get install salt-syndic sudo apt-get install salt-cloud sudo apt-get install salt-api
If wanting to install by a target point release, append the specific Salt full release version. For example:
sudo apt-get install salt-common=3006.9 sudo apt-get install salt-master=3006.9 sudo apt-get install salt-minion=3006.9 sudo apt-get install salt-ssh=3006.9 sudo apt-get install salt-syndic=3006.9 sudo apt-get install salt-cloud=3006.9 sudo apt-get install salt-api=3006.9
# Example commands for pinning a current package minor so that # it is skipped during system-wide apt-get upgrade events sudo apt-mark hold salt-master sudo apt-mark hold salt-minion sudo apt-mark hold salt-ssh sudo apt-mark hold salt-syndic sudo apt-mark hold salt-cloud sudo apt-mark hold salt-api
Warning
Salt dependency conflicts
If going with a non-latest point release of a target major version, you may be required to install other salt packages in a pinned fashion. For example, to install
salt-minion=3006.8
, a user will be required to installsalt-common
at the same version:sudo apt-get install salt-minion=3006.8 salt-common=3006.8
Warning
STS not recommended for Production
Salt Project recommends deploying LTS releases for Production environments.
Populate
/etc/apt/preferences.d/salt-pin-1001
in order to restrict upgrades to Salt 3007.x STS:echo 'Package: salt-* Pin: version 3007.* Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/salt-pin-1001
Available installs:
sudo apt-get install salt-master sudo apt-get install salt-minion sudo apt-get install salt-ssh sudo apt-get install salt-syndic sudo apt-get install salt-cloud sudo apt-get install salt-api
If wanting to install by a target point release, append the specific Salt full release version. For example:
sudo apt-get install salt-common=3007.1 sudo apt-get install salt-master=3007.1 sudo apt-get install salt-minion=3007.1 sudo apt-get install salt-ssh=3007.1 sudo apt-get install salt-syndic=3007.1 sudo apt-get install salt-cloud=3007.1 sudo apt-get install salt-api=3007.1
# Example commands for pinning a current package minor so that # it is skipped during system-wide apt-get upgrade events sudo apt-mark hold salt-master sudo apt-mark hold salt-minion sudo apt-mark hold salt-ssh sudo apt-mark hold salt-syndic sudo apt-mark hold salt-cloud sudo apt-mark hold salt-api
Warning
Salt dependency conflicts
If going with a non-latest point release of a target major version, you may be required to install other salt packages in a pinned fashion. For example, to install
salt-minion=3007.0
, a user will be required to installsalt-common
at the same version:sudo apt-get install salt-minion==3007.0 salt-common==3007.0
Warning
STS not recommended for Production
Salt Project recommends deploying LTS releases for Production environments.
If users would like to leave installs to come from either LTS or STS, whichever major version is latest.
Available installs:
sudo apt-get install salt-master sudo apt-get install salt-minion sudo apt-get install salt-ssh sudo apt-get install salt-syndic sudo apt-get install salt-cloud sudo apt-get install salt-api
If wanting to install by a target point release, append the specific Salt full release version. For example:
sudo apt-get install salt-common=3007.1 sudo apt-get install salt-master=3007.1 sudo apt-get install salt-minion=3007.1 sudo apt-get install salt-ssh=3007.1 sudo apt-get install salt-syndic=3007.1 sudo apt-get install salt-cloud=3007.1 sudo apt-get install salt-api=3007.1
# Example commands for pinning a current package minor so that # it is skipped during system-wide apt-get upgrade events sudo apt-mark hold salt-master sudo apt-mark hold salt-minion sudo apt-mark hold salt-ssh sudo apt-mark hold salt-syndic sudo apt-mark hold salt-cloud sudo apt-mark hold salt-api
Warning
If going with a non-latest point release of a target major version, you may be required to install other salt packages in a pinned fashion. For example, to install
salt-minion=3007.0
, a user will be required to installsalt-common
at the same version:sudo apt-get install salt-minion==3007.0 salt-common==3007.0
Enable and start the Salt services
Available services:
sudo systemctl enable salt-master && sudo systemctl start salt-master sudo systemctl enable salt-minion && sudo systemctl start salt-minion sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic sudo systemctl enable salt-api && sudo systemctl start salt-api
Note
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.
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. See Install dependencies for more information.
After installing Salt on your operating system, you need to complete the following post-installation steps:
Browse the repo¶
deb 3006.9