Masochist
Perhaps I'm a masochist because one of the first Linux distributions I installed many years ago ("ripped my hair out copy-pasting a bunch of commands" would be more accurate) was Gentoo. It had this swag to it that I just couldn't ignore. After spending most of the day configuring and compiling my kernel, I finally booted into a TTY, installed neofetch, and admired its beautiful logo.
Example neofetch output on Gentoo (not my screenshot, not my machine).
I enjoyed using it for a few days, but quickly began feeling overwhelmed with the amount of knowledge required to maintain the system, as well as the pure time requirements that come with running a source-based distribution (source-based distributions are called as such because their package managers pull packages from source, then compile them specifically for your machine; compilation is the timesink. non-source-based distributions simply pull package binaries, thus their only bottleneck in installing packages/updating the system is network/disk speed, as opposed to CPU/RAM performance). Even in my rather performant (AMD Ryzen 7 3700 8-core, 32GB RAM) machine, compiling shit like the WHOLE LINUX KERNEL and FIREFOX takes HOURS.
It wasn't only the timesink of compiling that began to bother me: it was a realization that I was severely lacking in my understanding of Linux fundamentals that could have helped tremendously in maintaining a Gentoo system. I'm glad that I realized it was a me problem, and that I didn't write off boutique distributions in their entirety; opting to be a forever-Ubuntu user solely because it was stable wasn't fun or interesting to me. And after all, computing should be fun.
Distrohopping
That's when I decided to start distro-hopping. Well, you don't exactly decide to distrohop, or at least, I didn't. You start looking around at what's out there. Asking questions on Reddit and forums like, "What's the difference between Debian-based distros and Arch?", and you learn about rolling-release schedules, etc. Even within rolling-release distributions there is variance. For example, for their init systems, Arch uses systemd and Void uses runit. Learning about the implications, advantages, and tradeoffs of this variance can help you choose the distribution that best suits your needs. What do you want to get out of your system? Do you want a rock-solid stable machine? Give Debian a try. Do you want the latest, most up-to-date packages on your machine, and are able to fix shit when it breaks? Try Arch. That's what I did, and I loved it.
Arch
Arch, for me, was a lot of what I was looking to get out of Gentoo when I first installed it. I wanted freedom. Freedom to customize, to install the latest packages without mountains of hackery. I wanted to learn more about maintaining a system, and I wanted to feel at home within it as a result of that under-the-hood knowledge. When I had first installed Gentoo, the whole process was overwhelming, and as a result of this, I just mindlessly copied the commands to setup the system. I didn't learn anything in the process. When I installed Arch, however, I payed attention. I went slower. This taught me a lot about my system. How disk partitioning works, how filesystems are created, how to enable network services at startup, how bootloaders are configured, etc.
They Call it Gentoo For a Reason
After 2 years of daily-driving Arch, I began to want more. Sure, Arch gives you freedom, but nothing comes close to the degree of freedom Gentoo provides. Portage is just such a good package manager. Want to prohibit any non-free software from being installed on your machine? You can do that. Want to remove support for bluetooth system-wide, from every single package you install, you can do that. Want to compile every single package you install with optimization flags for your native CPU architecture? You can do that. Removing unneeded features system-wide combats bloat, and hardens security by shrinking the attack surface. Optimizing every single piece of code squeezes every drop of performance out of any hardware you throw at it. There's a plethora of people out there choosing to install and run Gentoo on 20+ year old hardware, because, simply put, no other distribution is capable of performing as well as it does under such constraints.
There are some cases where you may not want to invest the time required to compile a package. This may be true, for example, for large sources such as Firefox. Gentoo has recently added support for installing up-to-date binaries directly, completely resolving my earlier gripes about compile-times eating away at productivity (See: Gentoo Goes Binary!). Portage is the only package manager where you can have packages compiled with native optimizations and stripped features living alongside packages downloaded as binaries, and it just works.
It feels like there's nothing you can't do on Gentoo.
Lastly, if this wasn't enough: It was the philosophy, community, and quality of documentation that finally made me switch over to Gentoo from Arch. Now, I proudly call it home.
Comments
Displaying 0 of 0 comments ( View all | Add Comment )