The adoption of Containers and microservice architectures has been amazing and speedy in the past few years. Docker is widely used runtime engine in the deployment of containerized applications in Kubernetes, Development environments and other container platforms. A recent utility called Podman provided as part of the libpod library was released to help you create and maintain containers.
The following tutorial will take you through you how to install Podman on Amazon Linux 2023. Podman is an open source, daemonless, Linux native tool created to ease finding, building, running, sharing and deployment of applications using Open Containers Initiative (OCI) Containers and Container Images.
Install Podman in Amazon Linux 2023
Login to an instance of Amazon Linux 2023 running in the cloud or in your on-prem infrastructure.

Confirm OS Version:
$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.9.20251117"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
Then update your system packages:
sudo yum -y update
sudo systemctl reboot
Step 1: Prepair a Workspace
Pick a directory for your source builds:
topdir="${HOME}/work"
mkdir -p "${topdir}"
cd "${topdir}"
Step 2: Install Build Dependencies
Since we’ll be building Podman from source, we need to install all the necessary build packages:
sudo dnf install -y \
git golang autoconf automake libtool meson ninja-build \
libseccomp-devel gpgme-devel libcap-devel systemd-devel \
yajl yajl-devel cni-plugins iptables-nft rpm-build \
golang-github-cpuguy83-md2man.x86_64 \
pkgconf-pkg-config gcc make
Step 3: Build Podman
Now let’s build Podman as follows:
cd "${topdir}"
git clone https://github.com/containers/podman.git && cd podman
git switch v5.7
make
sudo make install
Make typically installs binaries to /usr/local/bin. Ensure /usr/local/bin is in PATH
Step 4: Build and Install Podmain container monitor (conmon)
Conmon is a monitoring program and communication tool between a container manager (like Podman or CRI-O) and an OCI runtime (like runc or crun) for a single container. Let’s build it as follows:
cd "${topdir}"
git clone https://github.com/containers/conmon.git && cd conmon
make -j$(nproc)
sudo make install
Step 5: Build and install crun (OCI runtime)
A fast and low-memory footprint OCI Container Runtime fully written in C. Build it using the following commands:
cd "${topdir}"
git clone https://github.com/containers/crun.git && cd crun
./autogen.sh
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
crun depends on libcap, libseccomp, and sometimes specific kernel headers. If you run into any errors about missing dev packages, please try installing the dev packages and retry building crun.
Step 6: Build and install libslirp
libslirp is a user-mode networking library used by virtual machines, containers or various tools. Qemu, virtualbox, user-mode linux include slirp to provide the guest os with a virtual network while requiring no configuration nor privileged services on the host.
Build and install libslirp:
cd "${topdir}"
git clone https://gitlab.freedesktop.org/slirp/libslirp.git && cd libslirp
git switch stable-4.2
meson setup build
ninja -C build
sudo ninja -C build install
Step 7: Build and install slirp4netns
slirp4netns provides user-mode networking (slirp) for unprivileged network namespaces. Use the commands below to build and install slirp4netns:
cd "${topdir}"
git clone https://github.com/rootless-containers/slirp4netns.git && cd slirp4netns
git switch release/0.4
./autogen.sh
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
Step 8: Install containers-common
This package provides shared configuration and helpers. First create the Downloads dir:
mkdir -p "${topdir}/Downloads" && cd "${topdir}/Downloads"
Then download the RPM package, I choose Fedora 41 as the OS and version 0.64.2-1 of the package because of Amazon Linux 2023 compatibility and also package availability.
curl -LO https://download.fedoraproject.org/pub/fedora/linux/updates/41/Everything/source/tree/Packages/c/containers-common-0.64.2-1.fc41.src.rpm
Install the srpm to rpmbuild tree:
rpm -ivh containers-common-0.64.2-1.fc41.src.rpm
Then build the rmp from the spec:
cd "${HOME}/rpmbuild"
rpmbuild -bb SPECS/containers-common.spec
Then install the resulting RPM from the build tree:
sudo dnf install -y RPMS/noarch/containers-common-0.64.2-1.amzn2023.noarch.rpm
Step 9: Verify Podman Installation
Check the installed Podman version:
podman --version
podman info
Then run the classic smoke test:
podman run --rm hello-world





