Void Linux Features
An independent Linux distribution
Although there are many Linux distributions, the vast majority of them are based on or derived from existing Linux distributions. There are a just a few dozen Linux distributions that are independent – such as Debian, Fedora, OpenSUSE, Gentoo Linux, and Arch Linux – and from which the rest of the distributions are based on. For example, Ubuntu is based on Debian; Linux Mint is based on Debian and Ubuntu; and EndeavourOS is based on Arch Linux.
Void Linux, on the other hand, was built as an independent distribution by Juan Romero Pardines, a Spanish developer that worked at NetBSD, and was first released in 2008. With the departure of Romero Pardines in 2018, Void continues to be developed and maintained by a small team of contributors.
Supports diverse CPU architectures and two standard C libraries
Void Linux supports diverse CPU architectures and two standard C libraries. It can be installed in computers that have an x86_64 (64-bit processor), an i686 (32-bit processor), or an ARM (such as a Raspberry Pi) CPU. For x86_64 and ARM based computers, users can choose either glibc or musl as the system’s standard C library. glibc, which was first released in 1988, is used by most of the Linux distributions. Void Linux is part of the small club of distributions that also supports the musl standard C library. According to the Void's Handbook the musl C library, which was first released in 2011, "strives to be lightweight, fast, simple and correct." Which standard C library to choose? Well, try both of them out for yourself and choose the one that best fits your needs.
Two ways of installing Void Linux
Void Linux can be installed via a live installer or via a tarball. Users can download the ISO image for computers with x86_64 and i686 architectures, flash it to a USB stick to boot a live version of Void Linux, and launch the installer. Void Linux can also be installed in all supporting architectures using a more advanced method, which consists of downloading a tarball — a single file that contains all the required files to install the base system — and unpacking it in the root partition. It can be installed with just a base system that has no desktop environment, allowing the user to configure and customize Void to her or his needs; or it can be installed with the light XFCE desktop environment.
XBPS, the package manager made from scratch for Void Linux
An essential component of Void Linux is its X Binary Package System (XBPS) that allows users to manage the system's packages in a simple and easy way. XBPS was designed and built from scratch by Juan Romero Pardines, Enno Boland, and Dunca Overbruck, and was first released in 2009. Like most package managers, XBPS allows users to search, download, install, upgrade, and remove binary packages using repositories. But unlike a lot of package managers, XBPS also allows users to compile and install packages from source files located in Void's GitHub repository. Using XBPS requires using the command line since there is no graphic interface, but the commands are pretty straight-forward and self-explanatory (xbps-install firefox, for example, or xbps-remove chromium). XBPS is a very powerful package manager since it is able to upgrade the system as a whole.
Uses runit to manage all the system’s processes
Another major feature of Void Linux is that it uses runit as its init process. init is the first process that the Linux kernel starts, and plays a very significant role since it is responsible for managing and supervising all of the processes of the system. The majority of distros nowadays use systemd, which used to include Void Linux too. However, in 2014, Void Linux switched from systemd to runit because of systemd's lack of support of the musl standard C library, which Void supports.
runit was developed by Gerrit Pape and was first released in 2004. It manages the system in three stages:
- boots the system and allows the user to login via the terminal
- starts, ends, restart and supervises processes while the system is running
- it reboots or shuts down the system
Updating system is done via rolling releases
Void Linux is easy to maintain and update due to its rolling release feature. Users are able to continuously update the system as soon as new versions of the packages are uploaded to the void-packages repository. According to Michael Aldridge, a core maintainer of Void Linux, the updating process relies on stable upstream releases and incorporates checks when building and updating packages to minimize the risk of updates breaking the system. The rolling release model also means that bugs and problems can be fixed quickly. Updating the whole system is easy and straightforward since it can be done by executing the simple command xpbs-install -Su.
Void Linux won’t hold the user's hand
Despite all these features Void Linux does have some drawbacks, particularly for new Linux users. Installing, configuring and running Void Linux requires the user to already have some general knowledge about the way that the Linux system works. For example, users need to feel comfortable configuring and maintaining the system via the terminal rather than through a graphic interface, which can be a big obstacle for beginners. Void Linux does count with documentation in the form of the Handbook, which explains how to download, install, and configure the system, as well as how to manage packages and processes. However, the documentation lacks detailed information (probably due to its small number of core maintainers) that beginners usually need to understand certain concepts and procedures. For these reasons, Void Linux is still somewhat of a niche distribution that is often referred to as a distribution for advanced users.
With that being said, Void Linux can still be used by all users who are willing to put in the time and effort. It won't be necessarily easy since it's not a distribution that holds the user's hand, and does require the user to supplement the official documentation by consulting forums, blogs, videos and other online material. However, rather than being discouraged, users who are starting out with Linux should see Void Linux as a challenging and rewarding way to gain a deeper understanding of the Linux system. So, dare to delve into the void and you can be rewarded with a lean, fast, and stable and customizable operating system that is Void Linux.