Installation Experiment: Trying Debian Distros
A small non-meaningful experiment to understand the difference between different Linux distributions created from the same base.
Thanks to minor hardware upgrades to my old laptop, I have gotten the confidence to venture a little further into the Linux space. I haven't successfully installed Arch Linux in the traditional way yet, nor have I moved to a window manager from a desktop environment. But I believe I can identify things which could go wrong and avoid them.
Before the hardware upgrade, despite using different distributions at different points in time, I mostly used the XFCE desktop sans the "goodies", i.e. the additional plugins and applications packaged with the base system. Using that as the foundation, I decided to conduct a small, non-meaningful experiment to understand how distributions with the same foundation handle package management differently. The problem statement was pretty simple -
Install four Debian-based distributions using the non-GUI installer for the base system and the terminal for a minimal XFCE desktop; and compare the package count and cold boot RAM usage.
Choosing The Distributions
Debian is one of the oldest actively developed Linux distributions, and has been the most popular choice for first-order and second-order derivative distributions which could be used both for servers and desktops.
Ubuntu might probably be the first Linux distribution installed by new Linux users at least in the last decade. While Debian is a community project, Ubuntu is commercial-first and has been partnering with big tech organisations like Microsoft to improve cross-platform compatibility.
Devuan is a Debian derivative which does not use systemd, the most popular init system on Linux; and offers alternatives like sysvinit, openrc and runit for the same.
Trisquel GNU/Linux is an Ubuntu-based libre distribution with completely open source software, i.e. it removes all proprietary blobs of code from the kernel and other packages (if any). As a result, it is one of the few Linux distributions approved by the Free Software Foundation.
Installation Process
There were two parts of the installation process - the base installation and the minimal XFCE installation. For the first part, I decided to use the net install ISO images which come with the TUI menu-based Debian installer. These images were readily available for Debian 11 Bullseye, Devuan 4 Chimaera and Trisquel 10 LTS Nabia; however, Ubuntu had a different process altogether which led to a discovery.
Since April 2020, Ubuntu offer their own server install images for setting up the base installation. Prior to this, they released unofficial net install images with the Debian installer. I managed to locate the image for 18.04 LTS Bionic Beaver, used it for the base installation and then upgraded first to 20.04 LTS Focal Fossa and then to 22.04 LTS Jammy Jellyfish.
For the second part, I discovered a Github repository with an installation script for a minimal XFCE desktop. I installed the packages present in the script along with a few others I use to setup the desktop on all four distros.
Findings
The Debian installation had the lowest package count and second lowest cold boot RAM usage among the four distributions, while Devuan switched places with Debian in both categories. Both installations also took the least time, with the only additional step of selecting the init system in the Devuan installation process.
Ubuntu took the longest time to install because of the two upgrades, but I was able to get a system completely devoid of snap packages. The installation was joint third in terms of package count and third in cold boot RAM usage.
Due to package dependency management differences, my Trisquel installation ended up with GNOME components as well which I had to uninstall. Once those were removed, the resultant system had the same number of packages as Ubuntu and the highest cold boot RAM usage.
Final Thoughts
Package count and RAM usage don't really mean much unless there are severe storage and RAM limitations, but using individual packages rather than metapackages can help preventing the installation of packages and dependencies which don't get in the way of your applications, and reduce the possibilities of borking the system.
Also, libre distributions don't really make much sense at this moment. In fact, most users wanting to install them on hardware from mainstream hardware manufacturers will fail as most firmware tends to be proprietary. However, this speaks more to the manufacturers' apathy for open source rather than the distributions themselves.