Download and install the 3001 release of Salt.
Latest release: 3001.8 (September 2, 2021)
These instructions are for an older release of Salt. You might want to view instructions for the latest release instead. The 3001 version of Salt is on extended life support. To download packages for 3001, go to http://archive.repo.saltproject.io/.
NATIVE MINIONS
Looking to run Salt on AIX, Solaris, Arista, or Juniper devices? Reference the Native minion documentation for more information.
PYTHON 2.7 DEPRECATED
In light of Python 2.7 reaching its End of Life (EOL) on Jan 1st 2020, Python 2 has been deprecated and is no longer supported starting with the 3001 release.
For Salt 3000, only the following OS targets have Python 2 packages available:
Installs the latest release. Updating installs the latest minor release but not a new major version.
/etc/apt/sources.list.d/salt.list
:
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/amd64/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/10/amd64/3001 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/amd64/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/9/amd64/3001 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list
Debian 9 also requires apt-transport-https
due to the repo being an https
endpoint. This is no longer required with Debian 10 and later.
sudo apt-get update
sudo apt-get install apt-transport-https
Run sudo apt-get update
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
For more information on next steps, reference Post-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
/etc/apt/sources.list.d/salt.list
:
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/amd64/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/10/amd64/archive/3001.8 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/amd64/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/9/amd64/archive/3001.8 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list
Debian 9 also requires apt-transport-https
due to the repo being an https
endpoint. This is no longer required with Debian 10 and later.
sudo apt-get update
sudo apt-get install apt-transport-https
Run sudo apt-get update
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
For more information on next steps, reference Post-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/3001/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/3001.repo | sudo tee /etc/yum.repos.d/salt.repo
sudo rpm --import https://repo.saltproject.io/py3/redhat/7/x86_64/3001/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_64/3001.repo | sudo tee /etc/yum.repos.d/salt.repo
Run sudo yum clean expire-cache
sudo yum install salt-master
sudo yum install salt-minion
sudo yum install salt-ssh
sudo yum install salt-syndic
sudo yum install salt-cloud
sudo yum install salt-api
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
For more information on next steps, reference Post-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
Run the following commands to install the SaltStack repository and key:
sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/archive/3001.8/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/archive/3001.8.repo | sudo tee /etc/yum.repos.d/salt.repo
sudo rpm --import https://repo.saltproject.io/py3/redhat/7/x86_64/archive/3001.8/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_64/archive/3001.8.repo | sudo tee /etc/yum.repos.d/salt.repo
Run sudo yum clean expire-cache
sudo yum install salt-master
sudo yum install salt-minion
sudo yum install salt-ssh
sudo yum install salt-syndic
sudo yum install salt-cloud
sudo yum install salt-api
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
For more information on next steps, reference Post-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
Note that Ubuntu 16.04 is end of life and no longer supported by Salt. You can access Ubuntu 16.04 packages at http://archive.repo.saltproject.io/
/etc/apt/sources.list.d/salt.list
:
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/20.04/amd64/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/ubuntu/20.04/amd64/3001 focal main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/18.04/amd64/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/ubuntu/18.04/amd64/3001 bionic main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/16.04/amd64/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/ubuntu/16.04/amd64/3001 xenial main" | sudo tee /etc/apt/sources.list.d/salt.list
Ubuntu 16.04 also requires apt-transport-https
due to the repo being an https
endpoint. This is no longer required with Ubuntu 18.04 and later.
sudo apt-get update
sudo apt-get install apt-transport-https
Run sudo apt-get update
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
For more information on next steps, reference Post-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
/etc/apt/sources.list.d/salt.list
:
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/20.04/amd64/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/ubuntu/20.04/amd64/archive/3001.8 focal main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/18.04/amd64/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/ubuntu/18.04/amd64/archive/3001.8 bionic main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/16.04/amd64/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/ubuntu/16.04/amd64/archive/3001.8 xenial main" | sudo tee /etc/apt/sources.list.d/salt.list
Ubuntu 16.04 also requires apt-transport-https
due to the repo being an https
endpoint. This is no longer required with Ubuntu 18.04 and later.
sudo apt-get update
sudo apt-get install apt-transport-https
Run sudo apt-get update
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
For more information on next steps, reference Post-installation configuration
SUSE hosts packages in their official repositories for openSUSE and SLES systems. To see what Salt packages are available for a specific SUSE OS, such as latest releases that may be labeled as Experimental, see their Salt landing page:
The following commands install the latest official version currently available from SUSE, as referenced in the above package link.
Refresh the package list:
sudo zypper refresh
sudo zypper install salt-master
sudo zypper install salt-minion
sudo zypper install salt-ssh
sudo zypper install salt-syndic
sudo zypper install salt-cloud
sudo zypper install salt-api
sudo zypper install salt-proxy
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
sudo systemctl restart salt-minion
For more information on next steps, reference Post-installation configuration
sudo dnf install salt-master
sudo dnf install salt-minion
sudo dnf install salt-ssh
sudo dnf install salt-syndic
sudo dnf install salt-cloud
sudo dnf install salt-api
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
For more information on next steps, reference Post-installation configuration
OS | Arch | FileType | Download | MD5 | SHA256 |
---|---|---|---|---|---|
Windows | amd64 | msi | Salt-Minion-3001.8-Py3-AMD64.msi | MD5 | SHA256 |
Windows | amd64 | exe | Salt-Minion-3001.8-Py3-AMD64-Setup.exe | MD5 | SHA256 |
Windows | x86 | msi | Salt-Minion-3001.8-Py3-x86.msi | MD5 | SHA256 |
Windows | x86 | exe | Salt-Minion-3001.8-Py3-x86-Setup.exe | MD5 | SHA256 |
The installer can be run silently by providing the /S
option at the command line. The options /master
and /minion-name
allow for configuring the master hostname and minion name, respectively. Here’s an example of running a silent installation from the command line:
Salt-Minion-3001.8-Py3-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname
The installer can be run silently by providing the /quiet
and /norestart
option at the command line. The options MASTER
and MINION_ID
allow for configuring the master hostname and minion name, respectively. Here’s an example of running a silent installation from the command line:
msiexec /i Salt-Minion-3001.8-Py3-AMD64.msi /quiet /norestart MASTER=yoursaltmaster MINION_ID=yourminionname
For more information on next steps, reference Post-installation configuration
OS | Arch | FileType | Download | MD5 | SHA256 |
---|---|---|---|---|---|
macOS | x86_64 | pkg | salt-3001.8-py3-x86_64.pkg | MD5 | SHA256 |
OS X Gatekeeper settings might prevent installation of the Salt package. If a warning appears during installation, open System Preferences > Security & Privacy > click Open Anyway
After the installation completes, run the following to configure the Salt minion ID, the Salt master location, and to start the required services.
sudo salt-config -i yourminionname -m yoursaltmaster
On OS X, the Salt minion configuration file is in the standard /etc/salt/minion
location. To stop the Salt minion, run the following:
sudo launchctl stop com.saltstack.salt.minion
To start the Salt minion, run the following:
sudo launchctl start com.saltstack.salt.minion
For more information on next steps, reference Post-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
sudo rpm --import https://repo.saltproject.io/py3/amazon/2/x86_64/3001/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/amazon/2/x86_64/3001.repo | sudo tee /etc/yum.repos.d/salt-amzn.repo
Run sudo yum clean expire-cache
sudo yum install salt-master
sudo yum install salt-minion
sudo yum install salt-ssh
sudo yum install salt-syndic
sudo yum install salt-cloud
sudo yum install salt-api
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
For more information on next steps, reference Post-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
Run the following commands to install the SaltStack repository and key:
sudo rpm --import https://repo.saltproject.io/py3/amazon/2/x86_64/archive/3001.8/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/amazon/2/x86_64/archive/3001.8.repo | sudo tee /etc/yum.repos.d/salt-amzn.repo
Run sudo yum clean expire-cache
sudo yum install salt-master
sudo yum install salt-minion
sudo yum install salt-ssh
sudo yum install salt-syndic
sudo yum install salt-cloud
sudo yum install salt-api
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
For more information on next steps, reference Post-installation configuration
Installs the latest release. Updating installs the latest minor release but not a new major version.
/etc/apt/sources.list.d/salt.list
:
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/armhf/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=armhf] https://repo.saltproject.io/py3/debian/10/armhf/3001 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/armhf/3001/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=armhf] https://repo.saltproject.io/py3/debian/9/armhf/3001 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list
Raspbian 9 also requires apt-transport-https
due to the repo being an https
endpoint. This is no longer required with Raspbian 10 and later.
sudo apt-get update
sudo apt-get install apt-transport-https
Run sudo apt-get update
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
For more information on next steps, reference Post-installation configuration
Installs a specific release. Updating doesn’t change the release that is installed.
/etc/apt/sources.list.d/salt.list
:
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/10/armhf/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=armhf] https://repo.saltproject.io/py3/debian/10/armhf/archive/3001.8 buster main" | sudo tee /etc/apt/sources.list.d/salt.list
# Download key
sudo curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/9/armhf/archive/3001.8/salt-archive-keyring.gpg
# Create apt sources list file
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=armhf] https://repo.saltproject.io/py3/debian/9/armhf/archive/3001.8 stretch main" | sudo tee /etc/apt/sources.list.d/salt.list
Raspbian 9 also requires apt-transport-https
due to the repo being an https
endpoint. This is no longer required with Raspbian 10 and later.
sudo apt-get update
sudo apt-get install apt-transport-https
Run sudo apt-get update
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
For more information on next steps, reference Post-installation configuration
Salt Bootstrap is a shell script that detects the target platform and selects the best installation method. (Supported Platforms)
Run these commands on the system that you want to use as the central management point.
# Download
curl -fsSL https://bootstrap.saltproject.io -o install_salt.sh
curl -fsSL https://bootstrap.saltproject.io/sha256 -o install_salt_sha256
# Verify file integrity
SHA_OF_FILE=$(sha256sum install_salt.sh | cut -d' ' -f1)
SHA_FOR_VALIDATION=$(cat install_salt_sha256)
if [[ "$SHA_OF_FILE" == "$SHA_FOR_VALIDATION" ]]; then
# After verification, run script to bootstrap master
echo "Success! Installing..."
sudo sh install_salt.sh -P -M -x python3
else
# If hash check fails, don't attempt install
echo "WARNING: This file is corrupt or has been tampered with."
fi
Your Salt master can manage itself, so a Salt minion is installed along with the Salt master. If you do not want to install the minion, also pass the -N
option.
Run these commands on each system that you want to manage using Salt.
# Download
curl -fsSL https://bootstrap.saltproject.io -o install_salt.sh
curl -fsSL https://bootstrap.saltproject.io/sha256 -o install_salt_sha256
# Verify file integrity
SHA_OF_FILE=$(sha256sum install_salt.sh | cut -d' ' -f1)
SHA_FOR_VALIDATION=$(cat install_salt_sha256)
if [[ "$SHA_OF_FILE" == "$SHA_FOR_VALIDATION" ]]; then
# After verification, run Linux or macOS / OSX minion install
echo "Success! Installing..."
sudo sh install_salt.sh -P -x python3
else
# If hash check fails, don't attempt install
echo "WARNING: This file is corrupt or has been tampered with."
fi
# Windows: Using Windows PowerShell or PowerShell Core
# Download
Invoke-WebRequest -Uri https://winbootstrap.saltproject.io -OutFile C:\Temp\bootstrap-salt.ps1
Invoke-WebRequest -Uri https://winbootstrap.saltproject.io/sha256 -OutFile C:\Temp\bootstrap-salt-sha256
# Verify file integrity
$FileSha = (Get-FileHash C:\Temp\bootstrap-salt.ps1).hash
$ValidatedSha = Get-Content C:\Temp\bootstrap-salt-sha256
if ("$FileSha" -eq "$ValidatedSha") {
# After verification, run Windows minion install
Write-Output "Success! Installing..."
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
C:\Temp\bootstrap-salt.ps1
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
} else {
# If hash check fails, don't attempt install
Write-Error "WARNING: This file is corrupt or has been tampered with."
}
For more information on next steps, reference Post-installation configuration
For installation on other platforms and alternative installation methods, see the Salt Installation Instructions.
We do NOT recommend installing unsupported or archived versions of Salt. These may be impacted by security vulnerabilities. Run at your own risk.
Raspbian 8 Packages
End of Life Support for Raspbian 8 ended in June 2020. As a result, 2019.2.7, 3000.5 are the last Salt releases for which Raspbian 8 packages were created. The packages are only retrievable via the archive.
Debian 8 Packages
End of Life Support for Debian 8 ended in June 2020. As a result, 2019.2.7, 3000.5 are the last Salt releases for which Debian 8 packages were created. The packages are only retrievable via the archive.
RHEL 6 Packages
End of Life Support for RHEL 6 ended in November 2020. As a result, 2019.2.7 and 3000.5 were the last Salt releases for which RHEL 6 packages were created. The packages are only retrievable via the archive.
Amazon Linux Packages
End of Life Support for Amazon Linux ended in December 2020. As a result, 2019.2.8 and 3000.6 were the last Salt releases for which Amazon Linux packages were created. The packages are only retrievable via the archive.
Amazon Linux 2 will continue to be supported.
The Salt Project package repo supports mirroring using an s3
api compatible sync tool such as the aws-cli
, or rclone
. Note that we use a custom endpoint so we can switch buckets easily. Please sync no more than once per day.
rclone
example:
RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltproject.io rclone sync --fast-list --use-server-modtime -v s3:s3/ ./fullrepo/
Please make sure to include the --use-server-modtime
flags as not doing so will drastically increase our costs.
If you can’t use the --use-server-modtime
flag because your version of rclone
is too old, you can use the -c
flag:
RCLONE_CONFIG_S3_TYPE=s3 RCLONE_CONFIG_S3_PROVIDER=Other RCLONE_CONFIG_S3_ENV_AUTH=false RCLONE_CONFIG_S3_ENDPOINT=https://s3.repo.saltproject.io rclone sync --fast-list -c -v s3:s3/ ./fullrepo/
aws-cli
example:
aws --no-sign-request --endpoint-url https://s3.repo.saltproject.io s3 sync --delete --exact-timestamps s3://s3/ ./fullrepo/
For syncing https://archive.repo.saltproject.io, the endpoint url is https://s3.archive.repo.saltproject.io. Everything else is the same.