this post was submitted on 07 Jul 2023
249 points (97.3% liked)
Linux
48186 readers
1600 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
What is Distrobox? Something for immutable OSes?
From a user perspective, Distrobox is a tool that lets you "spin up any distro inside your terminal".
You can basically create a mini Linux environment of any distro that you can access through the terminal. You can set it to share your home folder, our create a new home folder just for that mini environment.
Behind the scenes Distrobox is creating and managing containers through Podman or Docker. You could technically achieve the same thing by manually setting up Podman containers, Distrobox just makes it very easy to create and maintain those containers with the correct permissions. It also has useful tools where you could install an app in a Distrobox container, but then add that app to your host OS app list.
This makes it especially useful for immutable OSs. Instead of adding packages to your base OS, which should be kept as minimal as possible, you can just install them in a Distrobox, so your host's root filesystem is unaffected.
I see! So a fancy chroot, if I understand you correctly.
In a way, but chroot only isolates file systems (process only has access to an isolated "root" which isn't the actual host's root). Rootless Podman/Docker goes a few steps beyond and utilizes cgroups, and user namespaces to isolate not only file systems, but also processes and networking.
Here is a high level overview.
And another one from Dan Walsh.