Supported operating systems

Puppet Enterprise supports various operating systems depending on the role a machine assumes in your infrastructure.

Supported operating systems and devices

You can install PE and the agent on these supported platforms.

For details about platform support lifecycles and planned end-of-life support, see Platform support lifecycle on the Puppet website.

Note: If you use the SELinux security module, you must grant a compliance exception for Puppet and the PXP agent in order for those services to effectively manage configuration.

Primary server platforms

The primary server can be installed on the following operating systems. All primary servers require an x86_64 architecture (or amd64 for Ubuntu).
CAUTION: Major primary server OS upgrades (such as Ubuntu 18.04 to 20.04) require Backing up and restoring PE.
Operating system Versions
AlmaLinux 8
CentOS 7
Oracle Linux 7
Red Hat Enterprise Linux 7, 8
Red Hat Enterprise Linux (FIPS 140-2 compliant) 7, 8
Rocky Linux 8
Scientific Linux 7
SUSE Linux Enterprise Server 12, 15
Ubuntu (General Availability kernels) 18.04, 20.04

Agent platforms

The agent can be installed on the following operating systems and architectures.
CAUTION: Major agent OS upgrades (such as Ubuntu 18.04 to 20.04) require reinstalling the puppet-agent package (as explained in Installing agents) and reinstalling any Ruby plugins/gems that were added at /opt/puppetlabs/puppet/bin/gem.
Operating system Versions Architecture
AIX 7.1, 7.2
Note: We support only technology levels that are still under support from IBM.
POWER
AlmaLinux 8 x86_64, aarch64, ppc64le
Amazon Linux 2 x86_64
CentOS 6, 7
  • 6: x86_64, i386
  • 7: x86_64, aarch64, ppc64le
Debian Stretch (9), Buster (10), Bullseye (11)
  • Stretch (9): amd64, i386
  • Buster (10): amd64
  • Bullseye (11): amd64
Fedora 32, 34 x86_64
macOS 10.15, 11, 12
  • 10.15: x86_64
  • 11: x86_64
  • 12: x86_64, M1
Microsoft Windows 10, 11
  • 10: x86, x64
  • 11: x64

For FIPS 140-2 compliant Microsoft Windows use version 10 with x64 architecture.

Microsoft Windows Server 2008 R2, 2012, 2012 R2, 2012 R2 Core, 2016, 2016 Core, 2019, 2019 Core, 2022 x64

For FIPS 140-2 compliant Microsoft Windows Server, use 2012 R2 or 2012 R2 Core.

Oracle Linux 6, 7, 8, 9
  • 6: x86_64, i386
  • 7: x86_64, aarch64, ppc64le
  • 8: x86_64, aarch64, ppc64le
  • 9: x86_64
Red Hat Enterprise Linux 6, 7, 8, 9
  • 6: x86_64, i386
  • 7: x86_64, aarch64, ppc64le
  • 8: x86_64, aarch64, ppc64le
  • 9: x86_64

For FIPS 140-2 compliant RHEL, use version 7 or 8 with x86_64 architecture.

Rocky Linux 8 x86_64, aarch64, ppc64le
Scientific Linux 6, 7, 8, 9
  • 6: x86_64, i386
  • 7: x86_64, aarch64, ppc64le
  • 8: x86_64, aarch64, ppc64le
  • 9: x86_64
Solaris 10, 11 SPARC, x86_64
SUSE Linux Enterprise Server 11, 12, 15
  • 11: x86_64, i386
  • 12: x86_64, ppc64le
  • 15: x86_64
Ubuntu (General Availability kernels) 18.04, 20.04, 22.04
  • 18.04: amd64, aarch64
  • 20.04: amd64, aarch64
  • 22.04: amd64

Platform dependencies

When you install PE or an agent, certain package dependencies are required to ensure the node is operational.

In most cases, dependencies are automatically set up during installation. You might need to manually install dependencies in these cases:
  • If you're installing on AIX or Solaris.
  • If the node doesn't have internet access.
Note: Some operating systems require an active subscription with the vendor's package management system (for example, the Red Hat Network) to install dependencies.

CentOS dependencies

All nodes Primary server
cronie (versions 6 and later) x x
dmidecode x x
libxml2 x x
logrotate x x
net-tools x x
pciutils x x
tar x x
vixie-cron (version 5) x x
which x x
zlib x x
curl x
libjpeg x
libtool-ltdl (versions 7 and later) x
libxslt x
mailcap x

RHEL dependencies

All nodes Primary server
cronie (versions 6 and later) x x
dmidecode x x
libxml2 x x
logrotate x x
net-tools x x
pciutils x x
tar x x
vixie-cron (version 5) x x
which x x
zlib x x
curl x
libjpeg x
libtool-ltdl (versions 7 and later) x
libxslt x
mailcap x

SUSE Linux Enterprise Server dependencies

Tip: If you encounter problems installing dependencies, inspect the error messages for packages that require other SUSE Linux Enterprise Server packaging modules to be enabled, and use zypper package-search <PACKAGE NAME> to locate them for manual installation.
All nodes Primary server
cron x x
libxml2 x x
libxslt x x
logrotate x x
net-tools x x
pciutils x x
pmtools x x
tar x x
zlib x x
curl x
db43 x
libjpeg x
unixODBC x

Ubuntu dependencies

All nodes Primary server
cron x x
dmidecode x x
gnupg x x
hostname x x
libldap-2.4-2 x x
libreadline5 x x
libxml2 x x
logrotate x x
pciutils x x
tar x x
zlib x x
ca-certificates-java x
curl x
file x
libcap2 x
libgtk2.0-0 x
libjpeg62 x
libmagic1 x
libossp-uuid16 x
libpcre3 x
libxslt1.1 x
mime-support x
perl x

AIX dependencies and limitations

Before installing the agent on AIX systems, install these packages.

  • bash
  • zlib
  • readline
  • curl
  • openssl
  • tar
CAUTION: For curl and openssl packages, you must use the versions provided by the "AIX Toolbox Cryptographic Content" repository, which is available via IBM support. Note that the cURL version must be 7.9.3. Do not use the cURL version in the AIX toolbox package for Linux applications, as that version does not include support for OpenSSL.

To install the bash, zlib, and readline packages on a node directly, run rpm -Uvh with the following URLs. The RPM package provider must be run as root.

If you are behind a firewall or running an http proxy, the above commands might not work. Instead, use the AIX toolbox packages download available from IBM.

GPG verification does not work on AIX, because the RPM version it uses is too old. The AIX package provider doesn't support package downgrades (installing an older package over a newer package). Avoid using leading zeros when specifying a version number for the AIX provide, for example, use 2.3.4 not 02.03.04.

The PE AIX implementation supports the NIM, BFF, and RPM package providers. Check the type reference for technical details on these providers.

Solaris dependencies and limitations

Solaris support is agent only.

For Solaris 10, these packages are required:

  • tar
  • SUNWgccruntime
  • SUNWzlib
  • In some instances, bash might not be present on Solaris systems. It needs to be installed before running the installer. Install bash via the media used to install the operating system, or via CSW if that is present on your system. (CSWbash or SUNWbash are both suitable.

For Solaris 11 these packages are required:

  • tar
  • readline
  • openssl

These packages are available in the Solaris release repository, which is enabled by default in version 11. The installer automatically installs these packages; however, if the release repository is not enabled, the packages must be installed manually.

Upgrade your operating system with PE installed

If you have PE installed, take extra precautions before performing a major upgrade of your machine's operating system.

Performing major upgrades of your operating system with PE installed can cause errors and issues with PE. A major operating system upgrade is an upgrade to a new whole version, such as an upgrade from RHEL 6.0 to 7.0; it does not refer to a minor version upgrade, like RHEL 6.5 to 6.6. Major upgrades typically require a new version of PE.

  1. Back up your databases and other PE files.
  2. Perform a complete uninstall (using the -p and -d uninstaller options).
  3. Upgrade your operating system.
  4. Install PE.
  5. Restore your backup.