When glibc attacks!


Like a ethnic dish, some mistakes we are destined to repeat.

In the course of my Linux experience, I’ve hosed many a server. Sometimes I’ve assigned swap space on an external RAID box. Sometimes I’ve created overlapping disk partitions on hard disks. Sometimes I can’t even tell what I’ve done. This is what makes Linux and Unix fun.

However, there seems to be one mistake I can’t stop making. A Unix system layered like a onion. Each layer depends on the preceeding one to work. At the lowest layer is the kernel, which futzes with the hardware and attempts to make all Linux/Unix systems appear to be the same from an application programmer’s point of view. The bridge between the kernel and applications (and even basic system services like init and bash) is the libc library.
Without this library in good working order, it becomes difficult to exit one’s shell, let alone reboot the system cleanly.

Now, I upgrade various bits of my system all the time. I’m not afraid to recompile the kernel. I’ll update the C compile and attendent utilities with wild abandon. However when it come to updating that most scared of files libc, my track record is not so hot. You see, get lulled into thinking that a package manager like rpm can Do The Right Thing to install libc without hosing the system. In fact, a google search relieve a testimonial from a user with the same version of RedHat I have successfully upgrading his libc to the version I also desired.

Alas, not all messages should be taken at face value.

There are three libc (really glibc) packages that needed to be successfully installed. The first two worked fine. The last failed and precipitated a cascading failure that resulting in my reformating the root partition and laying out a fresh install. I got to bed around 2A. Good times.

One of the last things I did was to install Spam Assassin, since I was already getting swamped with spam. Of course, sendmail tripped me up. I forgot to add symlinks in /etc/smrsh to procmail and spamassassin. So imagine the hilarity as I awoke to find 4000 messages being downloaded by fetchmail, nearly all of the bounces from my local sendmail saying “I don’t do procmail, biznatch.” Boundless joy!

With that sorted out, DNS back in place, and offloading DHCP to my linksys router, I’m pretty much back up and running with the essential services.
Of course, I’m missing a lot of formally installed Perl modules. Like SOAP::Lite, which I need to post this journal.


[Original use.perl.org post and comments.]