People are well aware of the power of virtual machines. If you want to do something dangerous — say, hack on the kernel — you can create a virtual machine, snapshot it, screw it up a few times, restore it, and your main computer never misses a beat. But sometimes you need just a little shift in perspective, not an entire make belive computer. For example, you are building a new boot disk and you want to pretend it is the real boot disk and make some updates. For that there is
chroot, a Linux command that lets you temporarily open processes that think the root of the filesystem is in a different place than the real root. The problem is, it is hard to manage a bunch of
chroot environments which is why they created Atoms.
The system works with several common distributions and you install it via Flatpak. That means you can launch, for example, a shell that thinks it is running Gentoo or Centos Linux under Ubuntu.
Using the tool is easy enough. A simple screen lets you choose a few options. The first time you use a particular image it will take a few minutes to download everything.
Eventually, you’ll wind up with a list of all your
chroot environments. Selecting one of them (initially, the only one) will give you a screen where you can browse files, expose a few mount points, change the chroot’s name, or wipe it out. You can also open a console into the selected environment directly.
From the main screen there is a “hamburger” menu that allows you to do a few global things like set preferences. You can move where things are stored, for example. You can also delete images you aren’t planning to use again.
Is this something you can’t do from the command line? Of course, not. But it is a nice way to keep a lot of
chroot environments for specific distributions nicely organized.
We were hoping you could create custom
chroot atoms for yourself easily but if that’s there, we didn’t see it. Of course, the whole thing is on GitHub, so you can probably figure out how to do that if you were really motivated. We also noted that you do not have control over how most of the underlying host file system is mapped to the atom, other than a few simple choices. There are cases where you might want other things mapped and it wasn’t clear how you could accomplish that.
If you need more isolation, consider containers. If you want quick development docker images, we talked about that, too.