Linux distributions I've worked with

2024-08-07 22:26 by Ian

I have used a tremendous amount of Linux in my life. This is my running log of the Linux distros I've used (over what period of time), (for what applications), and any special notes I've taken that accompany them.
This post will evolve over time, but infrequently. It's rare that I go back and do maintenance on my blog content. But I will allow the post timestamp to reflect the last update date.

Early on in my Linux days, I did things as source-only (no distribution). I know what is meant by the expression "to chase tarballs", or "package chasing". This was mostly when I was learning to run Linux on bare-metal, and I haven't done things that way for a long time. There is no need to, except if you are going to actually make your own distribution of Linux de novo.

The table below is a list of all of the Linux distros that I've had non-trivial experience using. It is ordered top-to-bottom according to my date of first-usage.
Each region's width corresponds to the time I spent with root on such a distribution, or otherwise, following its development.
The red mark on the year axis at 2009 is the year I entirely abandoned Windows. Not since that red mark have I had Windows installed on my computers.

Distro 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024
Slackware
Debian
RedHat
uCLinux
Slackintosh
SuSE
Mandrake
OpenWrt
Alpine
Knoppix
ZipSlack
CentOS
Ubuntu
AOSP
Arch
BackTrack
CyanogenMod
Raspbian
Gentoo
ChromiumOS
Yocto
Clear Linux
DietPi

Notes:

My first Linux distribution was Slackware 3.6, right before the turn of the millennium. Mostly because the C/C++ environment was far saner than anything I'd ever seen on Windows. I set up my own IP masquerading server (what you kids today would call a "router") before I could legally drive, and my formative years in C were under GCC v2.95.

I employed Slackware in embedded contexts, and it was my mainstay up until I replaced my last installation (my home media server) when I finally retired the hardware.

uCLinux: All the best of this project was eventually merged into the kernel. I was on the mailing list until the very end.
I haven't seen a distro like this one in my entire experience of Linux. It forked from the kernel to support a certain class of microcontroller, did its job well, was subsumed back into the kernel, and then ended.
My proximate interest in this distro was that it happened to be ported to the Motorola MCF5206e, which was the platform I was using to teach myself embedded design in high school. I immediately saw the value for making a low-power, low-maintenance version of the IP masquerading router that I learned Slackware to create.
This platform and distribution yielded me novel knowledge for years, and primed me for the likes of OpenWRT.

Greg Ungerer, if you ever read this, thank you for helping to teach me C without knowing you did so. I learned enough from reading your code to write my own ATA driver for my own hardware with no personal instruction. Your changes to the kernel were also formative in my understanding of CPU design and its consequences for software.

Slackintosh is special. Although I never installed or used Slackintosh, I followed their work fairly closely from versions 4 through 8. This was roughly the period when I was doing my 68K work with uCLinux.

Ubuntu deserves special mention, because it was the first experience I had with a desktop Linux installation that I thought was good-enough to completely replace Windows for my uses. I have used many of its offspring (usually as brief evaluations) and have not listed them all here.
I keep bouncing back-and-forth with Ubuntu as my primary desktop distro, although I am more of a KDE/Plasma guy, I never stuck in Kubuntu for any amount of time, preferring to use mainline Ubuntu despite Gnome (which I can tolerate well enough).

Arch was my primary distro for a few years. I had a great experience with how modular it was, versus my prior desktop experience with Ubuntu. I used it in my bitcoin miner, home server, and my primary desktop.

RedHat, proper (before the split into RHEL and Fedora). I never used post-split RHEL, but I briefly used Fedora. I have them both listed here as RedHat.

Mandriva used to be named Mandrake, before they got sued and had to change their name.

Kali used to be called BackTrack.

I might have more time on Yocto than I realize. I don't generally note the distribution as a primary concern when consoled into embedded Linux firmware that I didn't build. I've seen it used as a basis for firmware in modems (both DSL and Cable), security cameras, and even some systems that I would classify as having "real-time" response. For what it's worth, I only noted the time I've spent using it on RasPi or Edison projects for evaluating IoT frameworks.

CentOS recently went EoL, having seen its final release in 2021. I was a bit sad over this, having built so much using it. It was the last tie that I had to the RHEL branch, and it was always my go-to distro when a customer or coworker would tell me that he preferred RHEL-flavored environments. I'd be inclined to pick up Rocky the next time I hear RHEL demanded.

Gentoo has been my default distro for my home computers since I was exposed to it in 2013 (thank you, Jason). I am exactly the sort of person who builds his car from scratch, and wants to feel the torque wrench on every bolt. Portage is a patrician-tier package manager, and I still have faith that one day a version of its tooling will be available in anything other than Python.

The configuration of the base system layout (including init system!) is not taken for granted by an automated installer, and it forces kernel configuration upon its users. Being as all of the software is built from source (unless you allow otherwise), my systems are outside of the binary mono-culture that most other distros have exposed as a very public threat surface. Gentoo has saved me exposure from more CVEs than I can remember, simply because my build was different.

Docker has since blunted the need to have a cross-compiling build server. But if I ever need to administrate more than a few computers that do lots of code compiling, I wouldn't consider running distccd on any environment but Gentoo. Segmentation of toolchains and libraries for all manner of targets is trivially easy in Gentoo, versus any other distro I've tried.

Previous:
Next: