I used to be a sysadmin like you, then I took an arrow in the knee.
I’ve Got Yer Packages Right Here
If you’re running a server in a production environment, and that production environment consists of more than a website about your cat, chances are you’re using RedHat Enterprise Linux. If you aren’t using RHEL, you’re probably using SuSE – which is an equally valid choice, but not my forte. If you’re using Ubuntu, you should probably find a new employer as soon as you possibly can. If you’re using Ubuntu because you want to, get the hell off my lawn, son. We don’t care for your kind around these parts.
At any rate, congratulations on running the unarguably superior Linux distribution. Here’s some things you should know.
RHEL Version and Alternatives
RHEL5 vs RHEL6
There’s only one viable reason to go with RHEL5 at this point: You’re deploying a new server to an existing cluster of RHEL5 servers.
Other than that, you should now be using RHEL6. It’s past the initial release phase; it’s been out long enough to have proven itself stable; and by virtue of being a later version, it’ll be supported longer than RHEL5.
Distribution Alternatives
My advice? Don’t. But if you have to?
For many years, CentOS has been the “free” compatible alternative of choice for RHEL. There’s been concern over update frequency/lag time behind RHEL of late. Some have been looking at Scientific Linux as a result, but you can expect a visit from John Titor if you go down that route.
Where My Packages At?
Third party repositories are a necessity with RHEL. The fact is, developers are all whiny about new features and sharp pointy things they can injure themselves and your infrastructure with. Best to just give them what they want – and with RHEL, you can, while maintaining your sanity.
MySQL
If you’re running MySQL, you have no excuse whatsoever to not be running Percona. Percona is the Bugatti Veyron of MySQL, whereas every distributions’ default MySQL packages are nothing more than a bunch of Honda Accords. Percona Server is a drop-in replacement; your data is unaffected and you can revert to conventional MySQL at any time with no risk. Percona offers consulting and on-demand support; they’ve got enterprise paranoia, err, needs, covered. Percona currently offers 5.1 and 5.5 variants; there’s little reason not to go with 5.5 these days. I think they have Ubuntu packages now too, for you crazy kids who are into kinky stuff.
PHP
If you’re running PHP, Zend CE is the answer. Ever wonder how to get PHP 5.2 on a RHEL5 system without using packages that haven’t been maintained in a year? Or perhaps you just want PHP to actually be, you know, fast. Install Zend CE and you’ll have a well-documented, well-supported, optimized-to-hell-and-back PHP stack, from Zend. From freaking Zend, people. Zend CE currently offers PHP 5.2 and 5.3 flavors.
Ruby
Ruby’s the new Perl (and then some); and like the good old days of Perl, there’s an overinflated version hell problem. Unlike Perl, Ruby isn’t old enough to have stabilized to the point where you can run what your distribution provides and be happy. rbel.frameos.org may be the answer here – if and only if you’re working with Ruby 1.8. If you are, you can look forward to a repository filled with 1.8 goodness as well as things like Chef and Node.
If you want to run with 1.9? Good luck with that. The only viable option I’ve found so far is RVM, which lends itself to operational nightmares. (“Let’s make thirty two copies of this out of date gem with a security vulnerability! That’s easy to update, right?”)
I’m starting to suspect Ruby is nothing more than an insidious exit plan for exhausted sysadmins. Learn Rails, become overpaid; welpguesssomeoneelseneedstoberesponsibleforuptimeImtoobusydeveloping. Genius.
Everything Else
EPEL is your answer for all those miscellaneous packages, such as git and whatnot.