How To Install Podman on Arch Linux / Manjaro

Posted on 129 views

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 & 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

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

sudo pacman -S podman

You should get output similar to below.

....................................................................................
looking for conflicting packages...

Packages (18) catatonit-0.1.7-1  conmon-1:2.1.2-1  containers-common-1:0.48.0-1  criu-3.17.1-1  crun-1.4.5-1  jansson-2.14-2  libbsd-0.11.6-2  libmd-1.0.4-1  libnet-1:1.1.6-1  libslirp-4.7.0-1
              netavark-1.0.3-2  nftables-1:1.0.4-1  protobuf-21.2-1  protobuf-c-1.4.0-4  python-protobuf-21.2-1  slirp4netns-1.2.0-1  yajl-2.1.0-5  podman-4.1.1-2

Total Download Size:   21.46 MiB
Total Installed Size:  86.60 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 4.1.1

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

For a detailed output, run:

$ podman info
host:
  arch: amd64
  buildahVersion: 1.26.1
  cgroupControllers:
  - cpuset
  - cpu
  - cpuacct
  - blkio
  - memory
  - devices
  - freezer
  - net_cls
  - perf_event
  - net_prio
  - hugetlb
  - pids
  - rdma
  cgroupManager: systemd
  cgroupVersion: v1
  conmon:
    package: /usr/bin/conmon is owned by conmon 1:2.1.2-1
    path: /usr/bin/conmon
    version: 'conmon version 2.1.2, commit: 2bc95ee697e87d5f7b77063cf83fc32739addafe'
  cpuUtilization:
    idlePercent: 84.76
    systemPercent: 4.59
    userPercent: 10.66
  cpus: 1
  distribution:
    distribution: arch
    version: unknown
  eventLogger: journald
  hostname: arch-linux
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 5.9.11-arch2-1
  linkmode: dynamic
  logDriver: journald
  memFree: 192372736
  memTotal: 2080292864
  networkBackend: netavark
  ociRuntime:
    name: crun
    package: /usr/bin/crun is owned by crun 1.4.5-1
    path: /usr/bin/crun
    version: |-
      crun version 1.4.5
      commit: c381048530aa750495cf502ddb7181f2ded5b400
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL
  os: linux
.....

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
Trying to pull docker.io/library/alpine...Getting image source signatures
Copying blob 921b31ab772b done
Copying config 4d90542f06 done
Writing manifest to image destination
Storing signatures
4d90542f0623c71f1f9c11be3da23167174ac9d93731cf91912922e916bab02c

— 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/"

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

coffee

Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.