| Tested on | Rocky Linux 9 container for fresh dnf install output |
|---|---|
| Package | podman-5.8.2-5.el9_8.x86_64 |
| Applies to | Rocky Linux, AlmaLinux, CentOS Stream |
| Privilege | sudo for package install; normal user for rootless verification |
| Scope | Install Podman with DNF on community Enterprise Linux clones, check AppStream versions, verify CLI and runtime stack, smoke-test rootless mode, run a hello container, update and uninstall. Does not cover RHEL subscription paths, Ubuntu/Debian, source builds, Podman Desktop, or full rootless remediation. |
| Related guides | Install Podman on RHEL What is Podman? Podman architecture |
On Rocky Linux, AlmaLinux, and CentOS Stream, Podman installs with one DNF command from AppStream. Check the major version your release ships before copying flags from upstream docs — AppStream rebases Podman across the OS lifecycle.
RHEL uses the same Podman engine but has subscription and container-tools considerations; see Install Podman on RHEL.
Podman installation quick reference
| Distribution | Install command |
|---|---|
| Rocky Linux | sudo dnf install podman |
| AlmaLinux | sudo dnf install podman |
| CentOS Stream | sudo dnf install podman |
No Red Hat subscription is required. Enable BaseOS and AppStream, then install from the public repositories.
Install Podman on Rocky Linux and AlmaLinux
Podman is available from the standard Rocky Linux and AlmaLinux repositories:
sudo dnf install podmanSample output (trimmed) from a fresh install inside a Rocky Linux 9 container:
netavark-2:1.17.2-1.el9.x86_64
passt-0^20251210.gd04c480-6.el9_8.x86_64
podman-6:5.8.2-5.el9_8.x86_64
shadow-utils-subid-2:4.9-16.el9.x86_64
slirp4netns-1.3.3-1.el9.x86_64
Complete!DNF resolves the full runtime stack in one transaction — you do not install conmon, crun, or netavark manually on a normal AppStream install.
If Podman was already installed, DNF prints Nothing to do. Complete! instead of a package list. That still means the engine is present — continue with verification below.
Install Podman on CentOS Stream
CentOS Stream follows the same AppStream layout as RHEL previews. When BaseOS and AppStream are enabled, install with:
sudo dnf install podmanNo separate subscription step applies. Verify the candidate version with dnf info podman on your Stream release — Stream moves faster than point-release RHEL, so the exact NEVRA can differ from Rocky or Alma even when the major.minor matches.
Verify the installation
Check the client version matches your expectations:
podman --versionSample output:
podman version 5.8.2podman info prints the runtime stack — OCI runtime, cgroup mode, network backend, and storage driver:
podman infoRead these fields from a Rocky Linux 9 install (trimmed):
cgroupManager: systemd
cgroupVersion: v2
networkBackend: netavark
ociRuntime:
name: crun
graphDriverName: overlay| Field | What it tells you |
|---|---|
Version |
Installed Podman major.minor — compare to tutorials |
ociRuntime.name |
Low-level runtime (crun on current AppStream builds) |
networkBackend |
netavark on Rocky Linux 9+; older packages may differ |
cgroupVersion / cgroupManager |
cgroup v2 with systemd on current EL kernels |
graphDriverName |
Storage driver — overlay is expected |
Run a test container
Pull and run the official hello image to exercise registry access, storage, the OCI runtime, and conmon:
podman run --rm quay.io/podman/helloSample output (trimmed):
Trying to pull quay.io/podman/hello:latest...
...
!... Hello Podman World ...!
...The greeting confirms image pull, overlay storage, crun, and cleanup with --rm. No registry login is required for this image.
For detach mode, published ports, and environment variables, continue with Run containers with podman run.
Verify rootless Podman
Rootless Podman lets a normal user run containers without sudo. Missing or unsuitable subordinate UID/GID mappings are a common cause of rootless container failures, especially when images require multiple mapped IDs.
Check mappings for your login user:
grep "^$(id -un):" /etc/subuid /etc/subgidSample output for user podtest:
/etc/subuid:podtest:983040:65536
/etc/subgid:podtest:983040:65536As that user (not root), confirm Podman reports rootless mode:
podman info --format 'rootless={{.Host.Security.Rootless}}'Sample output:
rootless=trueWhen ranges are missing or pulls fail with user-namespace errors, follow Rootless Podman — this install guide only confirms the smoke test.
Check the available Podman version
Enterprise Linux pins Podman in AppStream and rebases it during the supported lifecycle. Do not assume one fixed version per major release forever — run dnf info podman on the host you manage.
Repository versions verified in August 2026:
| Enterprise Linux release | Podman in AppStream | How verified |
|---|---|---|
| Rocky Linux 9 | 5.8.2 (5.el9_8) |
dnf info podman in Rocky Linux 9 |
| AlmaLinux 8/9/10 | Varies by enabled repositories and update level | Check with dnf info podman |
For Quadlet feature gates by Podman version, see Install Podman on RHEL. For Ubuntu paths, see Install Podman on Ubuntu. For Debian paths, see Install Podman on Debian.
Ask DNF what your host would install:
dnf info podmanSample output from Rocky Linux 9:
Name : podman
Version : 5.8.2
Release : 5.el9_8
From repo : appstream
Summary : Manage Pods, Containers and Container ImagesThe Version and Release lines are what you compare to tutorial requirements. Security errata can bump Release without changing the headline 5.8.2 client version.
Common installation errors
| Symptom | Likely cause | Fix |
|---|---|---|
No match for argument: podman |
AppStream disabled or metadata stale | Enable BaseOS and AppStream; run sudo dnf makecache; retry install |
Optional package not found (podman-compose, etc.) |
Package in EPEL or not built for your major | Run dnf info <package>; enable the correct EPEL repo or choose an alternative workflow |
| Installed Podman lacks a newer flag or subcommand | Tutorial targets a newer major than AppStream ships | Run podman --version; compare with the feature matrix on Install Podman on RHEL |
| Rootless pull fails with subuid/subgid errors | Missing /etc/subuid or /etc/subgid range |
Add mappings per the Rootless Podman guide |
Update or uninstall Podman
Use the normal DNF upgrade path when AppStream publishes errata or rebases:
sudo dnf update podmanRe-run podman --version after upgrades. AppStream can move Podman to a newer minor within the same major during the distribution lifecycle — plan application testing when the Release suffix jumps.
Major-version behavior changes (for example Podman 5 to 6 defaults) belong in a dedicated migration review — see Podman 5 to 6 migration when your AppStream stream crosses that boundary.
Remove the RPM when you no longer need the engine on the host:
sudo dnf remove podmanRemoving packages drops binaries but not local container data. Rootful storage often remains under /var/lib/containers; rootless users keep ~/.local/share/containers/. Delete those paths only when you intentionally want a full wipe.
Do not treat podman system reset --force as a routine uninstall step — it destroys all local Podman data in one command.
References
Summary
Installing Podman on Rocky Linux, AlmaLinux, and CentOS Stream is sudo dnf install podman from AppStream. No Red Hat subscription is required — enable BaseOS and AppStream on the public repositories and install in one transaction.
A Rocky Linux 9 container showed Podman 5.8.2 with crun, netavark, and related dependencies pulled automatically. Run dnf info podman on your own release because AppStream rebases packages across the OS lifecycle rather than freezing one build forever.
Rootless mode worked once subuid ranges were present (rootless=true). The hello image from quay.io proved registry and runtime integration without authentication. For RHEL subscription and container-tools paths, see Install Podman on RHEL; for Ubuntu, see Install Podman on Ubuntu; for Debian, see Install Podman on Debian. For day-to-day flags after install, open the podman run lesson next.

