Monday, 2 January 2017

Like changing religion, only harder, part 2

Gentoo is not the distribution for you if:

  • You hate reading
  • You don't want to learn new stuff
  • You're not willing to do a lot of it manually
The Handbook is an excellent resource, rich in detail. I'd actually recommend that anyone wanting to learn more about how Linux-based stuff works give an installation a go, even if just in a safe VirtualBox VM.

That's where I starrted -- a VM. I need my desktop to stay in a fully working state, so I can't afford to have it partially working or offline for days on end. And even a preliminary look at the handbook was enough to inform me that this was no trivial task.

Now, I've been a little coddled, possibly, by how good even the early Debian (curses-based) installers were (and still are). Debian subscribes to the "chicken-peck philosophy": basically, once the installer is going, you're going to be asked a lot of questions, but the default answer, which a chicken would get by just pecking on the enter key, is sane and will work for most people, Debian also attempts to install with a sane set of default packages which would be useful (or at least not get in the way) for most people.

Gentoo, on the other hand follows the "your machine, your rules" philosophy -- you're basically not guided with much at the terminal. You are going to need that handbook, unless you've done this a few times before.

After a few hours each night for a few nights, I felt like I had a handle on this and discovered that I had a hard drive I wasn't using. My only niggle was that I hadn't managed to get sound to work in the VM -- whenever I tried to play any sound, the player would just lock up. Still, I thought it was worth giving a go, whilst leaving my default boot sequence intact (and manually selecting the spare drive to boot from, when I needed to). I also found that I could do a lot just in a chroot whilst being booted into my existing Debian installation, so that helped a lot.

I'm still learning, but so far, I've gotten to the point where my default boot is the Gentoo installation, launching into a Plasma5 desktop. It's appreciably more responsive than I ever had Plasma5 before (which is why I had been quite happy to downgrade to KDE4 when I last installed Debian over Ubuntu) -- indeed it's more responsive than my Debian install in pretty-much every way. Some points that were interesting in the process:

  • The dmix ALSA plugin no longer requires magick to make it work (as it did when I first encountered it, ages ago). DMIX was, for me, this unattainable holy grail -- I never managed to muster the .asoundrc-foo to get it working. Which is why I had resigned myself to having to be bound to PulseAudio for all these years. But the good news is that I didn't have to configure a thing -- ALSA worked with software mixing out of the box, with no coaxing. WIN!
  • Installing a service doesn't mean it will be automatically started at system boot. This was a little surprising to me, but it fits in with the Gentoo philosophy -- you need to consciously decide that you want a service running at startup. It doesn't just happen. Fortunately, OpenRC is very easy to deal with, not like SystemD (at least, that's my experience)
  • Debian users will know that you pretty-much just need apt-get (install stuff and update lists of stuff you can install) and apt-cache (search for stuff to install). Gentoo has emerge for the searching and installing, but you're really going to want equery (from gentoolkit) and probably genlop.
  • Coming from a binary-based distro, USE flags are both interesting and scary. So now I have software compiled on my system with exactly the feature-set I asked for -- unlike binary packages, where I get whatever an upstream developer thought was a good feature-set. Not that that upstream developer was wrong or needed second-guessing: I never had a complaint with that. It's just an interesting paradigm shift and that Gentoo philosophy of consciously selecting stuff comes through again: I've often found that packages have practically the bare minimum of features aligned (Handbrake / ffpmeg is a good example) and I really wish I'd found equery uses a lot earlier. That handy little command not only tells you what use flags are available (which you can figure out with emerge -pv), but (mostly) what they actually mean.
  • Compiling. Eish. Be prepared to let your pc grind for an hour or so. Sometimes you can avoid this: there are binary packages for some of the more arduous bits (like LibreOffice and PaleMoon, though I chose to install those from source for funsies). Sometimes you can't (when I found that something I'd installed required that 32-bit versions of 177 other libraries be built). It's an elegant system though.
So I guess it's "So long, Debian, and thanks for all the fish". Perhaps Devuan will get a little more impetus and woo me back again. Who knows? But for now, I'm an habitually-tweaking Gentoo user.

No comments:

Post a Comment

PeanutButter.RandomValueGen: the builder pattern & random generation for testing purposes

Retrieving the post... Please hold. If the post doesn't load properly, you can check it out here: