DEV Community

Cover image for Au Revoir, Gentoo - Sell Me A New Linux Distro
Ben Lovy
Ben Lovy

Posted on • Updated on

Au Revoir, Gentoo - Sell Me A New Linux Distro

Is This What Growing Up Feels Like?

I have been an avid, dedicated Gentoo user for about seven years (gulp). I love the flexibility of the package manager, and the extremely granular level of control over my system it gives me. Installing and administrating a Gentoo system for this long is the reason I know as much about Linux as I do, and I don't regret a minute of it.

However, all that configuration comes at a cost - my time. When the system works, it requires little to no maintenance, and should generally continue to work. If it breaks, it's because I changed something. However, it does require frequent updates to ensure smooth roll-forwards, and that means rebuilding components from source, a lot. If nothing else, it's ecologically irresponsible to repeatedly rebuild a whole Linux distribution for negligible gain.

At the end of the day, my needs are pretty run-of-the-mill, which is kind of a misuse of Gentoo's flexibility. It's finally time to part ways.

This is the list of alternatives I'm considering. I've actually installed and used each of these before as a secondary exploratory distro, but never used any as a daily driver.

This is currently my top choice, but this may just be a reaction to where I'm coming from. Debian's "elevator pitch" is stability. A Debian system should be expected to be rock-solid once installed. I don't want to futz with my operating system, I want to turn on my workstation and do work. Debian enjoys a massive package set and widespread compatibility, but I am concerned that the stable branch lags in terms of updates. I could use Debian Testing, but am I then forfeiting the whole purpose of using Debian in the first place? How easy is it to selectively use updated (or upstream) package repositories for software I actively use a lot on a largely Debian Stable system?

Manjaro is my second choice. I came to Gentoo from Arch Linux, and clearly connect with the "lego set" style of DIY linux distros. Arch was also a highly pleasant, highly stable experience, but this time around I no longer feel the need to build up completely from scratch. I had a positive experience installing Manjaro back in 2016, and can only assume it's further improved since then. Arch-diehards - why shouldn't I just use Manjaro and instead keep it strictly Arch?

I have much less familiarity with RPM, so it would be nice to learn, and hear this is a solid choice for developers who need their system components to remain relatively tight with upstream but still need a stable, cohesive system that all works together. This is the furthest from what I know, so it's tempting, but the whole point here is to think less about my OS and just get stuff done.

OpenSuSE has the somewhat dubious distinction of being my very first Linux distro, about six months before I discovered Ubuntu Breezy Badger back in 2005. I also tried and liked using Tumbleweed in 2018 for a bit as a daily driver, but still ended up running back to Gentoo. This distro has some serious brand loyalty, though. Why should I give it another look?

Most of these distributions actually differ somewhat minimally. It's a choice of a package manager and a default set of applications. I have already settled on KDE Plasma as my desktop environment of choice, so if I don't much care about the base, why not just use their distro and get the most polished KDE experience? Would this limit me in any significant way? The Ubuntu LTS base actually ticks all my boxes too.

Not likely, and not Linux, but Gentoo's portage is the whole reason I like Gentoo so much and is inspired by the BSD-style ports system. Is this actually a viable choice for a daily driver for development work?

I am also using and enjoying Void Linux on my rapidly aging laptop, but it's not quite as "just forget about it" as I want for my more modern desktop, and every so often I have trouble getting something installed (most recently, for example, dotnet).

Is there something awesome I've missed? Other reformed distro-hoppers, what's your Linux forever-home and why?

Photo by Mantas Hesthaven on Unsplash

Latest comments (186)

Collapse
 
fabnicol profile image
fabrice nicol

Spot on.
The main issue with Gentoo is a badly needed quickstart recovery procedure. Time is money and in case of a breakage, you need a working, updated platform without pain or time loss .
I've been working on this over the past few months and, even though the project is not fully stabilized, preliminary results are encouraging.
You may consult the wiki here:github.com/fabnicol/mkg/wiki
and/or give the binary distribution releases a chance:
github.com/fabnicol/mkg/releases

Collapse
 
nfisher1226 profile image
Nathan Fisher • Edited

I use Arch on my main machine right now, but used FreeBSD for years. From a developer standpoint, consider any BSD as a real and practical choice.

BSD will give you rock solid stability. You will have to configure your desktop from scratch, just like on Arch or Gentoo, but it's mostly a set and forget experience. FreeBSD ports tends to stay very current to bleeding edge on a surprising amount of software, but there will be certain ports that don't get a lot of maintenance.

If you are developing in C this is where BSD shines compared with Linux. There are subtle but meaningful differences in the C standard library as shipped on a BSD system compared with Glibc. In my experience Glibc only rarely comes out ahead here. The BSD implementation is solidly ahead and has less of a tendency to constantly reinvent and deprecate features.

If your language of choice is more modern, as in Rust or Go, you may have a better experience staying with Linux. That's not to say that those languages aren't supported, but they are largely developed by Linux users and therefore it might take longer for a new release to get ported to BSD.

Even if you ultimately stick with Linux I believe it does a world of good to familiarize yourself with the other Unix-like options out there.

Collapse
 
dwd profile image
Dave Cridland

I started on Slackware, on kernel 1.1.59 (I forget the Slackware version). Back then, distros were largely about getting a system installed - after that, you were really on your own.

Compiling my own kernel became routine. Compiling an upgraded libc wasn't unheard of, and I don't recommend that. Switching manually from a.out to ELF.... Yeah, I try not to remember that. But I certainly compiled nearly all the software I used myself.

Now? I run Ubuntu on my desktop, almost exclusively from packages. I'm sure there are exceptions - besides the code I write for a living, but I can't think of any.

Steam, Jetbrains, Slack, and Google Chrome are all packaged, and the PPAs support my more esoteric needs.

The reason I switched away from self-compilation was actually Gentoo - I've never used it, but I was in a kitchen at a party, and someone else made the comment that they never understood why anyone would want to compile someone else's code unless it was their job.

The person was Alan Cox, who was at the time the Linux stable kernel maintainer. If he's not interested in compiling everything himself, why on earth would I want to?

So I shrugged, and next time I reinstalled, and I went with Ubuntu. It's not perfect, but it's pretty good out of the box, well supported commercially, and the PPAs give it whatever bleeding edge you need.

Collapse
 
deciduously profile image
Ben Lovy

Awesome answer - even just reading "[s]witching manually from a.out to ELF" made me feel kind of queasy.

never understood why anyone would want to compile someone else's code unless it was their job.

This is going to stick with me. I've never heard it put quite so bluntly, but, like, yeah.

I've got a Debian 10 experiment going now, but I think long-term Ubuntu or a derivative makes sense for me too.

Collapse
 
kbilleter profile image
kbilleter

Fortunately, I'd switched from Slackware to experimenting with Red Hat and Debian during the a.out -> ELF migration. Red Hat failed miserably; Debian upgraded flawlessly. It was of course a long time ago now, things may have changed :-)

Collapse
 
dwd profile image
Dave Cridland

The glibc switching was worse than ELF, especially when it went wrong. You had a shell, but quite often no new processes would run. Gave you a crash course on how to use echo * instead of ls, and so on.

Collapse
 
pbarill profile image
Philippe Baril Lecavalier

However, it does require frequent updates to ensure smooth
roll-forwards, and that means rebuilding components from source,
a lot. If nothing else, it's ecologically irresponsible to
repeatedly rebuild a whole Linux distribution for negligible gain.

I'm sorry, but what!? Ecologically irresponsible??

I've been using Gentoo for about 4 years, and I hardly do more than one or two complete/deep update per quarter. That's anything but "frequent updates". There might be one or two blocks once in a while, often perl update, which means a separate call to emerge just for that, with backtrack. You may be required once in a while to adjust a few masks if you have libreoffice-bin or firefox-bin (gave up building those two a long time ago). And that's it, done.

Say, what tinkering you do to trigger whole system rebuilds "repeatedly"? That happened maybe just 2-3 times since I started using it, namely ABI changes. Of course using another distribution will not cause such delays, because you will be seriously hampered in your ability to tinker with the system!

I've always been using "stable" Gentoo (+ a few well chosen "unstable" when I want or unavoidable). I once glanced at unstable and decided it's not for me, as that makes pretty much a full system rebuild far too often to my taste. Another thing: I also use KDE, and I learned to avoid the meta packages and trim-down my installation to just what I need. To rebuild a kde web browser when you don't need it is not fun (qtwebengine takes 2+ hours here to build, and I don't need/want it).

I concede that Gentoo is a very questionable choice if you want to quickly try/experiment a bunch of stuff. It shines when you know what you need and don't have suddenly changing requirements on a regular basis, such as:

  • frequently switch to another desktop environment (just trying that DE might take less time than building it);
  • something you need or want to try has a dependency which in turns needs say rust, go or some specific llvm version, and if you don't have it already, well I'm sorry, but you wait an extra 40+ minutes, if not more (bummer!).
Collapse
 
deciduously profile image
Ben Lovy • Edited

Ecologically irresponsible??

Yeah, this was not really a valid point, I regret adding it to the post because it's not actually an issue for me and ended up being distracting here.

whole system rebuilds "repeatedly"

Also a wording problem - I don't mean to say that every world update rebuilds my whole system, but over the course of, say, a year, a decent chunk of it will rebuild for (almost) no reason. It's a valid point that that may not be a real problem at all.

It shines when you know what you need

That's precisely it. I don't, actually, I just pretend to, and it's mostly been working for me as a hobbyist. It's becoming a roadblock as I start to do more serious work and collaborate with others on my path towards professional, and I am spending too much cognitive energy "translating" Debian stuff to Gentoo. I'm interesting in software engineering for now, not necessarily Linux administration, and I want to be able to just use the exact same workflow as most other people for now. I'll probably come back some time, but for now that's not a good use of my time or energy.

seriously hampered in your ability to tinker with the system!

Again, it's an impulse control problem, not an inherent Gentoo problem, but that's what I want right now. I don't actually have needs beyond the basics, and run into problems trying to do things off the beaten path.

I do generally agree that stable Gentoo is rock solid, and I will likely be back after some time. I plan to continue running it on my Pi home server for that reason - it's static.

In short, my problem is a human one - with me - not a technical one with Gentoo.

Collapse
 
pbarill profile image
Philippe Baril Lecavalier

That's precisely it. I don't, actually, I just pretend to [know what you need]

a.k.a. software engineering!! Mandatory xkcd.

Thread Thread
 
deciduously profile image
Ben Lovy

Hah, exactly :)

Collapse
 
rawkode profile image
David McKay

Have you looked at NixOS? 😀

Collapse
 
deciduously profile image
Ben Lovy

Yep! It's my secondary distro and I love the whole concept, but I don't quite feel ready to take the plunge and make it my primary. Maybe in another few years?

Collapse
 
rawkode profile image
David McKay

I run it as my primary, and I use nixpkgs on ChromeOS's Crostini.

What do you feel you need to make the jump? Maybe I can help 😀

Thread Thread
 
deciduously profile image
Ben Lovy

Unfortunately, for an upcoming opportunity, Debian compatibility :). I'm at a point in my career-building where mainstream is a virtue, but I'll hit you up down the road? It truly does feel like a step forward in terms of system adminstration and I want to spend more time with it.

Collapse
 
andresdandrea profile image
andresdandrea

I started with Ubuntu Studio 5 years ago, then did the usual distro hop for a while, then landed on vanilla Debian 9 Stretch couple years ago.

Customized it with XFCE and Gnome Software Suite supplying me snaps and flatpaks, additionally to Debian official repos from the terminal and Synaptic package manager if I wanted the GUI.

First on my laptop. Then on my home's desktop, then on my wife's laptop as well. Got a Windowsless home and haven't look back since then.

I can say that with this setup, plus docker and virtual machines, I haven't had any thing I couldn't do regarding my work of web development and even electronics circuits design.

Currently running exactly the same but based on Debian 10 Buster which comes with python 3.7 pre-installed, and updated packages.

As a side note, I recently got a pretty old laptop as a gift from someone who renewed hardware last Christmas and was about to scrap it for being "too old and useless" .

Intel Centrino and 2g of Ram.

Tried to get Manjaro XFCE running in it and it did, but broke some hard drive volumes couple times, so I desisted of Manjaro and tried doing my usual setup.

It worked the first time... Of course is slower, but here I have a perfectly running laptop running Debian 10 besides my main machine.

I wanted to test the limits of Debian regarding how long it could go for repurposing old computers.

Got out my old Toshiba that's been sitting for 10 years in windows XP home edition, useless... pentium 4, 1.5 g ram.

Burned a Cd with Debian net install using the new "old laptop" Cd burner.

It worked...

Long story short: Debian is really serious about their statement of "rock solid stability" , and that works pretty well for me :)

Collapse
 
deciduously profile image
Ben Lovy

Great review, pretty cool it could handle whatever hardware you threw at it. I've come to a similar conclusion :) Thanks!

Collapse
 
comaldave profile image
David Skinner

I loved Gentoo but switched to Arch for a decade. I am now using Solus. Very nice.

Collapse
 
moaxcp profile image
John Mercier

I was in this situation a few years ago. I love gentoo but couldn't get my hd configuration to work with other distros. Then I found NixOS which made it easy to use my config. NixOS caches the binaries for common builds and isolates dependencies.

Collapse
 
deciduously profile image
Ben Lovy

I love Nix too and have it on a secondary partition, but I'm not quite ready to use it as a primary driver - I think I want something closer to the mainstream for that.

Collapse
 
shoutymime profile image
Mark Fungdark

I've been distro hopping lately; KDE Neon and Pop!_OS are my current candidates for daily driver use. Both are pretty great right out of the box.

Collapse
 
deciduously profile image
Ben Lovy

These two have bubbled right to the top of my list too!

Collapse
 
tastyminerals profile image
tastyminerals • Edited

Have been an archlinux user for 5 years and dropped it for exact same reason. I learnt a lot and don't regret a single minute.

You are asking for a new distro? It's either Ubuntu or Manjaro these days. Anything else is a personal bias. Because it is all about hardware support and the size of repos official and unofficial. Both Ubuntu and Manjaro excel in these, everything else lags behind.

Debian -- (stable) old, outdated packages, limited repository, you will eventually be forced to compile stuff and one day you will regret it believe me. Debian (unstable) is better but then again it won't be "stable" anymore so why bother. Debian is for ppl who use a fixed list of applications and have same fixed workflow. Development experience under Debian is also worse than on Ubuntu.

OpenSUSE/Fedora -- again, limited repository of packages, RPMs and other differences which might be good or bad but just not worth the time to learn.

Mint -- very nice distro, basically a version of Manjaro from Ubuntu world. I found its forum quite outdated and not very responsive. Also, long ago it was not as stable as claimed and after an update DE crashed into white screen on my wife's laptop leaving me speechless and my wife laughing at me while I was trying to defend the Linux superiority over Windows :) It was over 5 years ago of course but here you go. I left Mint and never returned afterwards but I believe it is a good distro.

BSD world -- for purists. Quality software and repos but good luck getting support for new hardware. Limited community and development. Again this is a good niche world.

Overall, since I was and arch user I use Manjaro. It installs some junk apps (like any other out-of-the-box distro on this planet) but you can go with netinstall iso if you like. Both Ubuntu and Manjaro have very good hardware support (good luck dealing with Nvidia cards on something less popular). So good I am using Manjaro on surface book 2 now and I had much less problems with both these distros throughout the time on different modern laptops. Besides Manjaro repos and AUR size is second to none. Best forum among all the many distros I tried, very active and responsive. I would however advise you against Manjaro as I think it is less stable than Ubuntu. It is developers distro of choice for a reason. So look no further.

Collapse
 
deciduously profile image
Ben Lovy

This is a great overview, thanks. I'm still surprised at all the Debian Stable hate, I really had a different impression of it vs Ubuntu. Good to know.

Collapse
 
tastyminerals profile image
tastyminerals • Edited

Well, there is always a day when one of us gets introduced into a beautiful world of deb package installation for one specific package version that you need to have on your machine. Here is a glimpse of it: semitwist.com/articles/article/vie...

And this article on HN: news.ycombinator.com/item?id=19353010

Can totally relate with the author, no wonder Ubuntu is trying to find a substituion for deb packages via snaps at least partly :)

There was a good Debian distro I enjoyed and it was Crunchbang (discontinued).

Thread Thread
 
andresdandrea profile image
andresdandrea

There's is a fork currently supported on crunchbangplusplus.org ;)

Collapse
 
k2t0f12d profile image
Bryan Baldwin

Ultimately, the time you waste in one place is time you save in another. Pick your battles wisely.

Good luck.

Collapse
 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

I have very fond memories of administering my own Gentoo home web server on my old Pentium 3, with fluxbox for a UI. I felt like I was hacking the Gibson every time I sat down at it.

Hey, do you remember poopmup? That game was stellar.

Good luck finding a new system.

Collapse
 
azilber profile image
Alexey Zilber

So what you're saying is.. that you want to be using OSX?
Because, it's a pretty good daily driver even though the hardware sucks.

Collapse
 
crinklywrappr profile image
Daniel Fitzpatrick

Clear Linux, NixOs, and GuixSd may also be worth looking into.

I like the Guix package manager so much that I install it on Void and it's bliss.

Collapse
 
jeezacheops profile image
jeezacheops

I have been using linux since the 90s with redhat 5. I am new to the developer/programming scene. I would suggest Manjaro KDE as it is the most stable and beautiful version of kde I have used,even over neon. I have been using it on my gaming desktop and haven't looked back. I do however use Fedora with gnome for my work laptop. Hope this helps.👍

Some comments may only be visible to logged-in visitors. Sign in to view all comments.