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 these operating systems and architectures.
Operating system Versions Architecture
Enterprise Linux
  • CentOS

  • Oracle Linux

  • Red Hat Enterprise Linux

  • Scientific Linux

  • AlmaLinux
  • Rocky Linux
7, 8
Note: AlmaLinux and Rocky Linux are only compatible with Enterprise Linux 8 x86_64.
  • x86_64
  • FIPS 140-2 compliant RHEL version 7
SUSE Linux Enterprise Server 12 x86_64
Ubuntu (General Availability kernels) 18.04 amd64

Agent platforms

The agent can be installed on these operating systems and architectures.

Operating system Versions Architecture
AIX 7.1, 7.2
Note: We support only technology levels that are still under support from IBM.

Amazon Linux 2

Debian Stretch (9), Buster (10)
  • amd64

  • i386 for version 9

Enterprise Linux
  • CentOS

  • Oracle Linux

  • Red Hat Enterprise Linux
  • Scientific Linux
  • AlmaLinux
  • Rocky Linux

6, 7, 8

Note: Scientific Linux 8 is not supported.
Note: AlmaLinux and Rocky Linux are only compatible with Enterprise Linux 8 x86_64.
  • x86_64

  • i386 for version 6

  • aarch64 for versions 7, 8

  • ppc64le for version 8
  • FIPS 140-2 compliant RHEL version 7

Fedora 32, 34
  • x86_64

macOS 10.15, 11
Microsoft Windows 10
  • x64

  • x86

  • FIPS 140-2 compliant x64 version 10
Microsoft Windows Server 2012, 2012 R2, 2012 R2 core, 2016, 2016 core, 2019, 2019 core
  • x64 for 2012 versions

  • FIPS 140-2 compliant x64 versions 2012 R2 and 2012 R2 core
Solaris 11
  • SPARC

  • i386

SUSE Linux Enterprise Server 12, 15
  • x86_64

Ubuntu (General Availability kernels) 16.04, 18.04, 20.04
  • amd64

  • i386 for version 16.04

  • aarch64 for version 20.04

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 x x
dmidecode x x
libxml2 x x
logrotate x x
net-tools x x
pciutils 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 x x
dmidecode x x
libxml2 x x
logrotate x x
net-tools x x
pciutils x x
which x x
zlib x x
curl x
libjpeg x
libtool-ltdl (versions 7 and later) x
libxslt x
mailcap x
initscripts 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
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
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
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 11 these packages are required:

  • system/readline
  • system/library/gcc-45-runtime
  • library/security/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 CentOS 6.0 to 7.0; it does not refer to a minor version upgrade, like CentOS 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.