In this guide, you will learn how to Install Podman on Arch Linux / Manjaro.  Podman is a command line tool for creating and maintaining Linux containers. It is part of the libpod library. Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. The major difference between Docker and Podman is that there is no daemon in Podman.

We had covered installation of Podman on CentOS / Fedora or Ubuntu. See below guides.

For Arch Linux and its derivatives, the installation a bit straightforward since all packages are available on upstream repositories.

Install Podman on Arch Linux / Manjaro

Update your Arch / Manjaro system.

sudo  pacman -Sy archlinux-keyring
sudo pacman-key --populate archlinux
sudo pacman -Syyu

If upgrades include new kernel consider doing a system reboot.

sudo reboot

Once all packages are updated, proceed to install Podman on Arch Linux / Manjaro.

sudo pacman -Syy podman

Choose oci runtime provider:

:: There are 2 providers available for oci-runtime:
:: Repository extra
   1) crun  2) runc

Enter a number (default=1):

Accept package installation prompt:

....................................................................................
Total Download Size:   34.87 MiB
Total Installed Size:  127.81 MiB

:: Proceed with installation? [Y/n] y

Validate installation succeded.

Optional dependencies for nftables
    python: Python bindings [installed]
(14/18) installing criu                                                                                                [########################################################################] 100%
(15/18) installing crun                                                                                                [########################################################################] 100%
(16/18) installing libslirp                                                                                            [########################################################################] 100%
(17/18) installing slirp4netns                                                                                         [########################################################################] 100%
(18/18) installing podman                                                                                              [########################################################################] 100%
Optional dependencies for podman
    apparmor: for AppArmor support
    btrfs-progs: support btrfs backend devices
    netavark: for a new container-network-stack implementation [installed]
    podman-compose: for docker-compose compatibility
    podman-docker: for Docker-compatible CLI
:: Running post-transaction hooks...
(1/3) Reloading system manager configuration...
(2/3) Creating temporary files...
(3/3) Arming ConditionNeedsUpdate...

Install fuse-overlayfs dependency:

sudo pacman -S fuse-overlayfs

Confirm version of Podman installed.

$ podman --version
podman version 5.1.2

$ pacman -Qi podman
Name            : podman
Version         : 5.1.2-1
Description     : Tool and library for running OCI-based containers in pods
Architecture    : x86_64
URL             : https://github.com/containers/podman
Licenses        : Apache-2.0
Groups          : None
Provides        : None
...

For a detailed output, run:

podman info

Test Podman installation on Arch Linux / Manjaro

Let’s confirm that podman is working on our Arch Linux / Manjaro system.

— Pull Alpine Linux docker image.

$ podman pull alpine
Resolved "alpine" as an alias (/etc/containers/registries.conf.d/00-shortnames.conf)
Trying to pull docker.io/library/alpine:latest...
Getting image source signatures
Copying blob 7264a8db6415 done
Copying config 7e01a0d0a1 done
Writing manifest to image destination
7e01a0d0a1dcd9e539f8e9bbd80106d59efbdf97293b3d38f5d7a34501526cdb

— List Downloaded images:

$ podman images
REPOSITORY                 TAG      IMAGE ID       CREATED      SIZE
docker.io/library/alpine   latest   4d90542f0623   6 days ago   5.85 MB

— Run alpine image container to test our installation.

$ podman run --name test --rm docker.io/library/alpine "cat" etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.10.0
PRETTY_NAME="Alpine Linux v3.10"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"

Podman CLI reference (Bonus)

CommandDescription
Podman Basics
podman versionDisplay Podman version information
podman infoDisplay Podman system information
podman helpDisplay help information about Podman commands
Image Management
podman imagesList all images
podman pull <image>Pull an image from a registry
podman push <image>Push an image to a registry
podman rmi <image>Remove an image
podman build -t <tag> <path>Build an image from a Dockerfile
Container Lifecycle Management
podman psList running containers
podman ps -aList all containers
podman run <image>Run a new container from an image
podman run -it <image>Run a new container in interactive mode
podman exec -it <container> <command>Execute a command in a running container
podman start <container>Start a stopped container
podman stop <container>Stop a running container
podman restart <container>Restart a running container
podman rm <container>Remove a container

For more reading, check How To run Docker Containers using Podman and Libpod

LEAVE A REPLY

Please enter your comment!
Please enter your name here