So, after my growing despair with the pathetic state of most Linux distros*, I decided to take a shot at dormando's recommendation: Gentoo Linux.
Those of you following my Linux posts have probably noted me mentioning Gentoo with some level of, oh, disgust: it's a distro where the default behavior is to build things from source. Ewww. Right? Right? Well, maybe not.
When you pop in the Gentoo install cd (which of course you burnt yourself, right?) it boots up... to a bash prompt, and tells you if you'd like to start ssh to do a remote install, just type "
/etc/init.d/sshd start". What? WHAT?
That's right, there's no installer at all, per se. Just online instructions that you have to follow manually, step by annoying step. Want to set up your disks? fdisk and mkfs and mount them. Then you chroot to the new environment and start adding packages and configs in there. Eww.
But... well, first off, it lets you do the entire install via ssh. That's pretty nice. And it auto-detected all of the hardware (I care about), including the 10/100/1000 on-mobo network interface. So, I took my handy-dandy notebook and fired up the wifi connection and sat on my couch in front of the tv and followed the instructions while watching tv.
There were a few trial-and-error sorts of things, but for the most part it was pretty easy and straightforward. I'll probably be doing more installs in the near future, and when I do, I'll post a quick cheat-sheet on what I did. It's pretty bloody easy though, if you know your way around the OS.
Once I got up and running, I discovered why people like gentoo so much - there are no versions, per se, just package versions. And the packaging system works suspiciously similarly to FreeBSD's - except with 25% less pain. FreeBSD has a nice package system (the ports system), but Gentoo's portage system is much better, frankly. It's easy to update and easy to use, and that's key.
Want to update every installed package to the latest version available? One command:
emerge --update --deep world
(also known as "
emerge -uD world")
Type it, let it run, and when it's done your system is updated. That's it.
Want to find a package? Install the "esearch" package like this: "
emerge esearch" and then you can search for packages like this: "
esearch dns" or whatever. It supports various flags and regexes. For that matter, installing any package is as simple as: "
emerge [package]". Uninstalling? "
emerge --unmerge [package]".
Want to update your portage tree? No more annoying cvsup commands. You do this: "
emerge sync". Or, if you've installed the package, "esync".
I have to admit, I'm pretty psyched about the thought of a distro that can always be up to date with two simple commands:
emerge -uD world
That's crazy. The distro's a pain in the butt in some ways, not automated nearly enough, but it is so easy to manage in several important ways that are just so sexy that it makes up for a lot of the pain. Gentoo is officially my new home OS, and once they've built more automation into it, could very well be our next work OS. Crazy, crazy stuff. I'm impressed.
(Incidentally, there ARE pre-built packages, but with a reasonably fast machine, building them from scratch is quick enough to make them most irrelevant. You can also build them on a single machine and use those pre-built binary packages to do any installs on any other machines, which is nice.)
* - I can get into it more if someone likes, but let's just put it simply: most Linux distros are aimed at 15 year olds who have no lives. I have a life. Linux, to me, is a tool. I don't want to be a tool, I want to use a tool. This makes most Linux distros useless to me. To wit: Fedora is apparently crippleware aimed at selling RHE. RHE is commercial and past my $0 personal budget. Debian sounds nice, but it won't install on new hardware without jumping through hoops, and the initial install was so painful I never bothered finishing. SuSE has a dumb name. Mandrake I don't trust, and it's really just a repackaged Redhat. What else is there. Turbolinux is really made for the Asian market, as is Red Flag Linux, which is just aimed at Chinese users. What else am I missing? I dunno. The long and the short of it is that while they all work, and if you're willing to spend a lot of time are probably super-duper, I wanted an easy to manage OS that I could customize easily without breaking and that I could maintain and keep up to date with minimal effort. Oh, and that would install nicely on hardware new AND old. Not easy to find.