Distrobox is a next level of abstraction in the containerization area. It creates containers intended to be used as regular Linux distributions.
It is designed to be easy to use by providing reasonable defaults and automating some maintenance tasks.
Usage
The main operating unit is distrobox, which is a container under the hood. By default, it uses podman as the container engine.
Usage is simple: there are three main lifecycle commands: create, enter, and rm:
distrobox create -i ghcr.io/archlinux/archlinux -n archlinux
distrobox enter archlinux -- go version
distrobox rm archlinux
You can also create temporary containers that are removed after exit:
distrobox ephemeral -i ghcr.io/archlinux/archlinux
Security concerns
It is an abstraction over plain podman, and it uses some default values when running the container. For example, it mounts the home directory into the container’s home. This is convenient, but may be a security issue.
The project clearly states this on the website:
“Isolation and sandboxing are not the main aims of the project”.
Can it run GUI applications?
Yes. One of the major benefits of using distrobox for me is the ability to run graphical applications that can open their windows and use the audio subsystem.
Am I going to use it?
I don’t know. I like the idea of having instant access to many Linux distributions, but the shared home directory is an issue for me.
My way of working with containers is usually to provide isolation.
It’s great that I can use whatever distribution I want, but the fact that any of these distributions can read my files in the home directory bothers me too much.
