At work, I'm leading the path towards a Microsoft-Free Desktop. What this really means is that I've rebelled against running Windows, and everyone else is watching me curiously to see if I explode.
At home I am, and have been some time, a very contented Debian user. Sure, they're slow with releases and always a few versions behind (although they're very quick with security updates) Sure if you come to Debian without knowing what you're doing, you might get a bit lost. Sure, my next personal machine will probably be an experiment with Gentoo. All that said, Debian has occupied that impressive position for years now, of being the distribution that works, and works smoothly. I find when I set up a Debian box, I only ever install the base distribution, because I know if I suddenly need something, I can type 'apt-get install something', and Debian will faithfully deal with all the dependencies, and make it so that something works in the shortest possible amount of time.
In the office, however, I have to run a bunch of IBM stuff, and officially IBM only support RedHat. I tried getting Websphere installed on a Debian box last year, and it turned into such a battle of incompatible libraries that I had to give up. So RedHat it is.
The problem is, moving from Debian to RedHat has a great deal in common with a lobotomy. When running a RedHat box, I always feel part of my brain is missing. It's the simple things: like the fact that I had to ssh to my Debian box at home to read the man-page for tcpdump, because the RedHat 8 RPM didn't include the manual. It's also the monumental things: like RPM.
With the RedHat Network, RedHat finally have an update distribution system that is almost, but not quite as good as Debian's years-old "apt". Of course, you have to pay for it. Debian is a volunteer project, so the people who put the packages together do it for free. RedHat is a commercial organisation, so they need to pay their packagers, and in turn that cost needs to be transferred back to us, the user. It also doesn't help that compared to apt/dselect, RHN is pretty clunky.
So today, on my newly minted copy of RedHat 9, I did what everyone should do when they first install a new Operating System: I went to the update site and grabbed all the updated RPMs. Checking the 'rpm' man-page, I discovered that the '--Freshen' flag would allow me to feed all the updates into the program, and have it only update those packages I already had installed.
Problem number one: some of the packages had been updated twice since the release of RH9, and both updates were in the update directory. Rather than do the intelligent thing, and just install the most recent update, RPM complained bitterly that I was doing such a terrible thing to it, spitting out a plume of warnings. Then it attempted to install both versions of each update in order, decided they conflicted, and died.
OK. Go through the directory, delete the dupes, and try again.
This time, it actually started updating the programs, starting with the base of the dependency tree: glibc. Except something in the libc update failed. By the time I looked back at the screen, everything that I tried to run was seg-faulting, including the setup scripts for all the subsequent RPMs. In short, my system was completely hosed.
When Windows 2000 did this sort of thing to me, I cursed it for days. I feel it would be unfair for RedHat to get any less a blast.
So here's to you, RedHat. You suck.
Update: I thought I'd done something wrong the first time. I figured it may have been because I was running rpm from 'sudo' instead of making sure I was logged in directly as root, with root's $PATH and so on. So when the system was reinstalled, I tried again more carefully.
Same result: one of the post-install scripts fails, and all attempts to run programs afterwards result in segfaults. There you have it. Updating RedHat 9's glibc using the RPM from RedHat's own update site hoses the system completely. I think the word I'm looking for here is "contempt".
Update 2: Lest anyone think I'm doing nothing but whining, this is now filed as RedHat Bug 102569.
Update 3: Apparently this is a known bug. It's been known since April Way to go, RedHat. Even Microsoft pull broken fixpacks after a couple of days.