Learning Devuan GNU/Linux - Virtualization & Container
Episode 19 of 23

Learning Devuan GNU/Linux - Virtualization & Container

This episode covers virtualization and containers on Devuan: running QEMU/libvirt with virt-manager and KVM, managing containers with LXC, and using Docker and Podman in non-systemd and rootless modes.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Introduction

Devuan isn't just a desktop — it's also a robust server platform for virtualization and containers. Episode 19 covers four technologies: QEMU/libvirt with virt-manager, KVM for hardware acceleration, LXC for system containers, and Docker and Podman in non-systemd and rootless modes.

The point that often scares newcomers: many container and VM tools in the modern world assume systemd. On Devuan, everything runs as a regular init service, and Podman even designs a rootless mode with no daemon at all — fully in line with Devuan's philosophy.

Virtualization with QEMU/libvirt

Installing the Virtualization Stack

libvirt is the API that manages hypervisors; virt-manager is its GUI; KVM is the kernel acceleration:

Pasang libvirt dan virt-manager
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system virt-manager
sudo service libvirtd start
sudo service libvirtd status

sudo service libvirtd start starts the libvirt daemon. Add your user to the groups that manage VMs:

Tambah user ke group libvirt
sudo usermod -aG libvirt budi
sudo usermod -aG kvm budi

After logging back in, virsh list --all will work and virt-manager can be used through the GUI.

Creating a Virtual Machine

From virt-manager, create a new VM, select the Devuan ISO (episode 0), and allocate CPU, RAM, and disk. Or create one from the CLI:

Buat VM dari CLI
virt-install --name devuan-test --memory 2048 --vcpus 2 \
  --disk size=20 --cdrom /tmp/devuan.iso --os-variant debian12

virt-install --name devuan-test creates a VM named devuan-test with 2 GB RAM and a 20 GB disk. Verify with virsh list --all and virsh start devuan-test.

LXC: System Containers

Creating and Running Containers

LXC provides containers that resemble a full system with their own init — perfect for Devuan inside Devuan:

Buat kontainer LXC
sudo apt install lxc
sudo lxc-create -n lab -t download -- -d debian -r trixie -a amd64
sudo lxc-start -n lab
sudo lxc-attach -n lab

sudo lxc-create -n lab -t download downloads a template and creates the container. After lxc-start, lxc-attach moves you into the container — where you can install anything without affecting the host.

Managing the Lifecycle

Basic LXC management commands:

Kelola kontainer LXC
sudo lxc-ls --fancy
sudo lxc-stop -n lab
sudo lxc-destroy -n lab

sudo lxc-ls --fancy lists containers with their status and IPs. Use lxc-stop to shut one down and lxc-destroy to remove it permanently.

Docker and Podman

Docker on a Non-systemd System

Docker on Devuan runs as a regular init service. Although the Docker daemon is usually managed by systemd, Devuan's packages provide init scripts:

Pasang dan jalankan Docker
sudo apt install docker.io
sudo service docker start
sudo service docker status
docker run --rm hello-world

sudo service docker start starts the docker daemon. Test the install with docker run hello-world — a successful output means the daemon and runtime are working.

Podman: Rootless Without a Daemon

Podman is a Docker alternative that runs without a central daemon and supports rootless — containers run in your user's namespace:

Pasang dan pakai Podman
sudo apt install podman
podman info
podman run --rm hello-world

podman info shows the runtime configuration. Because there's no daemon, Podman runs directly as a regular user — its security and simplicity align with Devuan's philosophy. For most new container workloads, Podman is the primary recommendation on Devuan.

Migrating from Docker

Podman's syntax is designed to be Docker-compatible:

Alias dan volume Podman
alias docker=podman
podman volume create data
podman run -v data:/app -d nginx

podman volume create data creates a volume; the podman run command accepts the same flags as docker. Many organizations use Podman as a drop-in replacement.

Conclusion

Episode 19 covered virtualization and containers on Devuan: QEMU/libvirt with virt-manager and KVM for VMs, LXC for system containers, and Docker and Podman as container options — with rootless Podman as the recommendation for non-systemd systems.

Key takeaways:

  • libvirt and virt-manager manage QEMU/KVM as init services.
  • virt-install quickly creates VMs from the CLI.
  • LXC provides system containers with their own init.
  • Docker runs on Devuan as an init service.
  • Rootless Podman needs no daemon at all.
  • Podman's syntax is Docker-compatible.

In the next episode, episode 20, we'll cover performance and tuning — tuning the kernel with sysctl, choosing an I/O scheduler, speeding up boot with a minimal init, and monitoring the system with htop, sysstat, psacct, and dmesg.

Learning Devuan GNU/Linux - Virtualization & Container | Learning Devuan GNU/Linux