Ubuntu is a popular Linux desktop distribution, but some of its design choices have been criticized lately.
What if there was a friendly desktop distro based on Ubuntu but kept unwanted changes out of the core system? Vanilla OS may be what you’re looking for.
What Is Vanilla OS?
Vanilla OS is a Linux distribution that aims for higher security than other desktop Linux distros. It’s built on Ubuntu but adds a twist: the core system files are immutable. This means that it’s locked down from changes that third-party programs might make.
The name comes from the idea that the original intention for the distro was that it would offer a stock experience without any modifications that Canonical had made for Ubuntu.
Why an Immutable Linux Distro?
Immutability in Linux distros is a concept that is becoming increasingly popular in containerized systems. Immutable distros are standardized so that they’re the same across every installation.
Immutability increases security; as the core parts of the system like the kernel can’t be modified, it’s theoretically impossible for a malicious program to mess with it. Additional packages are installed in a separate area from the main system.
Even an immutable system needs updates as bugs or security vulnerabilities are discovered. How does Vanilla OS manage these updates? It uses something called ABRoot.
ABRoot maintains two system states, “present” and “future.” Suppose a new kernel is packaged for the system. When the user installs updates, this new kernel will be added to the “future” state. When the system reboots after installation, the “future” state becomes the “present” state while future updates will get added to the new “future.”
Installing Vanilla OS on a PC
Installing Vanilla OS is similar to installing other Linux distributions. First, you need to download the installation image from their GitHub page and extract it to your installation media if you’re installing it on a physical machine.
As with the stock Ubuntu, you’ll boot into a live environment. By default, Vanilla OS uses a standard GNOME 3 environment. You can explore the desktop and when you’re ready to install, click Install Vanilla OS.
The installation program is pretty standard. It will ask you to select the drive and set up a partition scheme. You’ll then choose a username and password and then install it on the hard drive. After that, you’ll boot into the new environment.
The Vanilla OS Desktop
The Vanilla OS desktop uses the regular GNOME 3 desktop environment. It comes with the default set of GNOME apps and not much else. This means you’ll have to rely on the package manager, but Vanilla OS is hardly unusual among Linux distros for that.
Vanilla OS doesn’t even come with an office suite. If you need to do word processing or spreadsheets, you’ll have to install something like LibreOffice. Fortunately, it’s easy to add new packages despite Vanilla OS’s unorthodox architecture.
It does come with a web browser, imaginatively named Web. You can also install other browsers that you may be more familiar with, like Firefox and Chromium.
Package Management in Vanilla OS
Vanilla OS’s immutability presents a challenge for installing extra software. A lot of major packages include configuration files and require other dependencies. The traditional approach of APT and RPM is to install a bunch of packages in the main system directories.
The main problem with this approach is that it can be difficult to tell which components are part of the stock system and which were added by third-party programs. This can complicate troubleshooting and even cause security problems.
One solution to this problem is to ship more programs as self-contained packages that have all their dependencies together. This is the approach taken by Flatpak and Canonical’s own Snap packages. Flatpak is the default package format in Vanilla OS, perhaps in reaction to the controversy among Ubuntu users over the alleged bloat of Snap packages.
This new approach to program distribution complements Vanilla OS’s immutability by keeping applications from meddling in the affairs of the underlying system.
The main graphical method of installing applications is using the stock GNOME Software store. By default, it will install Flatpak packages. One nice thing about using these is that they’re installed in user space. This means that you won’t have to supply any passwords to install new apps.
You can also install packages with the command line, as with standard Debian or Ubuntu systems. Since traditional package managers make modifications to the system, you might think you couldn’t install extra packages with Vanilla OS’ immutability. Vanilla OS gets around this with APX.
APX is the built-in command-line package manager. APX is similar to APT but it installs packages in a container that’s isolated from the main OS. Any dependencies are installed in this container as well. Better yet, you can also install programs without having to use sudo. Everything is done right in user mode.
For example, to install Firefox:
apx install firefox
The syntax of APX is very similar to APT and other Linux package managers. Installing and upgrading packages will feel familiar to those already comfortable with the Debian/Ubuntu approach to package management.
Is Vanilla OS for You?
You may be wondering if Vanilla OS suits your computing needs. It’s still a very new distro, even if it builds on the track records of Debian and Ubuntu.
The distro may appeal to those wary of Canonical’s recent changes to Ubuntu. While the main Ubuntu distro also uses GNOME as the default desktop, it’s made some modifications. Canonical has also attracted criticism for Snap packages and advertising its paid services in the terminal when updating packages.
It will likely also appeal to users concerned with security. While immutability is touted as a solution to security problems, it’s still unclear how well it will prove long-term. It’s still interesting to see how it develops in the meantime. The project is proof of how open-source OSes like Linux allow people to experiment with new concepts in computer science more easily than proprietary systems.
Vanilla OS Tries to Stamp Out Bugs
Vanilla OS is a newcomer in a crowded field of Debian and Ubuntu derivatives. Its unique architecture is an attempt to reduce problems by making the core of the OS unmodifiable by outside programs. While this complicates package management, Vanilla OS looks like an interesting project to follow in the future.
Vanilla OS is just one of the Debian-based distros out there. Some of the most successful Linux distributions in use today, including Ubuntu, have built upon the solid foundation of Debian.