Vanilla OS is a brand-new Linux distribution offers a unique feature of complete immutability through the use of ABRoot, a subsystem mechanism that allows you to run Ubuntu, Arch Linux, and Fedora inside a container.
When you log in for the first time, you’ll be greeted with a welcome screen that allows you to customize the system to your liking. You can choose your preferred system theme and install proprietary graphics card drivers to improve the performance of graphics-intensive applications. Another great feature of the welcome screen is that it suggests additional package managers for you to install such as Flatpak and AppImage. You can also install core GNOME apps and necessary tools based on your interests. The setup process is designed to be quick and non-invasive, and once it’s complete, you’ll need to reboot to begin using your device with Vanilla OS.”
PURE Gnome Experience
If you’re familiar with Ubuntu, you may know that the Ubuntu team modifies the upstream source of GNOME by adding features like the YARU theme, Dock, accent colors, and more. However, Vanilla OS offers a pure GNOME experience which is free from these modifications. Vanilla OS features a stock GNOME shell and looks much more minimal compared to Ubuntu. Most of the bloatware has been removed, leaving only a minimal set of essential applications. To install additional apps, you can use Flatpak, AppImage, or the GNOME Software Center. In addition to the Ubuntu wallpapers, Vanilla OS also comes with a few pre-installed wallpapers that look quite nice.
In the beta version of Vanilla OS, we have seen On-demand Immutability of the root file system using the tool called Almost. Unfortunately, vanilla developers have removed it & switched to ABRoot which offers complete immutability and atomicity by making transactions between two root partitions. ABROOT allows for on-demand transactions via a transactional shell. Unlike other Linux Distros, vanilla os has two root partitions. Each root partition is created with 20GB of free space during the installation. That’s the requirement for ABRoot to achieve immutability. ABRoot defines these two root partitions as states. Present and future. After the installation of vanilla OS, the present state is set to be the first root partition which is A. You can verify the state by typing this command.
sudo abroot present
If u try to install any package like ubuntu way using apt or DPKG, it won’t let alter the root file system.
Instead what you can do is perform a transaction on the second root partition also known as the Future Root partition. To do so, type
sudo abroot shell to enter into the transactional shell.
Now, u have gained access to use apt or DPKG to install any kind of package. Whatever changes you made in the shell will be applied to the future root on the next boot on successful. If the transaction fails, no changes are applied. Now let’s install some packages using apt.
apt install neofetch htop
Once you’ve finished installing packages and have exited the transactional shell, the system will sync the changes. On the next reboot, the system will automatically switch to the second root partition, B. This process can be frustrating, as it requires a reboot each time you want to install a new app or package. However, once you’ve set up your OS, you can use the system in a normal way.”
If you don’t want to use ABRoot, Vanilla OS also offers the option to use APX, a subsystem container, and a package manager. APX is designed to be easy to use, while also being powerful enough to support installing packages from multiple sources without altering the root filesystem. To use APX, simply type
apx help in a terminal to learn the available commands. Then, you can create an instance of the container by typing
apx init and waiting for it to create a Ubuntu container, which gives you access to ‘apt’ and ‘dpkg’. From here, you can install packages as normal, but without the need for ‘sudo’. For example, you can type
apx install neofetch to install the package inside the container. To run the package, type
apx run followed by the command name.
You can also enter the container directly by typing
apx enter, and the shell prompt will change to show that you are inside the container. From here, you can use ‘apt’ and ‘dpkg’ as normal.
Using the Vanilla OS Control Center, you can also create subsystem containers with Arch Linux and Fedora inside Vanilla OS. Simply click the ‘+’ button to set up an Arch Linux container, and then use the ‘Pacman’ package manager to install packages. With this approach, you can run multiple subsystem containers on one Linux distribution, preserving the main root filesystem and improving privacy and security.
Vanilla OS comes with a new concept of automatic updating using an intelligent system called Vanilla System Operator. This tool will periodically check for an update and then download and install it in the background if the device is not under heavy usage. VSO checks that certain checks are met, such as whether the resources are free. This system is designed to take away an annoying task from the user, who simply wants to do their own thing. Updates go through ABRoot transactions are applied on the next reboot, without taking extra time during boot.
From the Vanilla Control Center, it is possible to set the update frequency, you can also check when the last one was performed, and turn off Smart Update features.
In conclusion, I would say that Vanilla OS is a secure operating system based on Ubuntu that is well-suited for developers and advanced users. However, it’s important to note that an immutable operating system like Vanilla OS may present some challenges for those who are not familiar with its usage. Overall, if you’re comfortable with advanced features and have a specific use case in mind, Vanilla OS could be a great option for you.
Lastly, if you compare vanilla with Fedora Silver Blue, its achieves immutability through the use of ABROOT. However, it is worth noting that OSTree may eventually replace ABROOT in the future.”
To install Vanilla OS on your computer, it’s best to run it on a virtual machine using GNOME Boxes. If you want to experience Vanilla OS on bare metal, you’ll need an empty drive to install it.
Note: Its not possible to install vanilla OS on the same drive along side with windows 11 or 10.