Forum OpenACS Development: Re: New linux distribution to replace defunct RedHat consumer?
Gentoo is a nightmare on servers primarily because its package management is horrible. I know portage has many fans, but it has some pretty major limitations: Creating a local repository of additional apps is very difficult compared to yum...I've read the docs on how to do it, and when they say things like "to get the dependencies for your application, build it with all options enabled and simply download them with wget". Umm, yeah, I want to babysit my repository such that I have to manually download things with wget. Querying installed packages is laughably limited, compared to RPM or deb. And egads, who thinks a 2% performance boost (or 2% drop if you choose the wrong options) is worth hours of compiling? Madness. Anyway, I just can't see running Gentoo on anything other than "play" systems. Clearly, I'm not the target audience for this distro...I compile enough software managing my own products, I don't need the thrill of compiling everything on my operating system in order to feel like I'm involved or in control. I know they provide binaries, but it is clearly an afterthought, and binary builds are second-class citizens. I've yet to even figure out how to get at the pre-built binaries, as it doesn't seem to be documented in the emerge man page (maybe I missed it).
Debian has a nice long lifecycle, and Ubuntu has followed suit. If I weren't such a fan of yum/RPM, I'd probably be on the Debian or Ubuntu bandwagon. They have proper package management, it's reasonably easy to setup local repositories without maintaining a complete mirror or jumping through crazy hoops.
I haven't tried any others, but for servers here's what I've learned to look for:
Long updates lifecycle. My desktop machines get upgraded to the next revision within days of a new release. My servers remain on the same OS for years. I've got RH9 boxes still chugging along with no plans for an upgrade (thank goodness for Fedora Legacy so I don't have to maintain all of the packages myself). If I can't expect to get updates for three years, I don't want it.
Good package management. Without good automatic package management, like yum/apt-get/up2date, maintaining more than a few secure servers just is not possible. This is my biggest beef with FreeBSD (which is otherwise a very fine server OS)--managing updates with ports is horrible (much like the ports-inspired portage). Even if many of your apps are custom-built, you still have several hundred or so packages that all effect the stability and security of the whole system. An inferior package manager is enough of a reason for me to forget about using an OS on the server.
Hmmm...That's about it. With those two things most everything else just falls into place. yum/apt-get have the ability to use multiple repositories for grabbing software which has led to a wonderful variety of high quality packages from the likes of Dag Wieers, Axel Thimm, and others. Getting a missing package is now almost always one command away (and having it under control of the package manager means that you don't have to keep the same volume of notes of what software you've installed--it will usually automatically get updated when new versions are available).