This is apparently the 300th blog post on - I saved it for something that would be a bit more celebratory in nature. And today, something did turn up.

Just a small thing I did in my Debian box today.

nighthowl:~# apt-get remove --purge libc5
Luetaan pakettiluetteloita... Valmis
Muodostetaan riippuvuussuhteiden puu       
Luetaan tilatiedot... Valmis        
Seuraavat paketit POISTETAAN:
  dld* libc5*
0 päivitetty, 0 uutta asennusta, 2 poistettavaa ja 2223 päivittämätöntä.
Toiminnon jälkeen vapautuu 729 k t levytilaa.
Haluatko jatkaa [K/e]?

(In case you can’t read the language of weird Finnish people: “I’m a-gonna NUKE “libc5” and “dld”, is that OK???”)

(Snipped a bunch of dpkg warnings about weird entries in dpkg status database)

(Reading database ... 461970 files and directories currently installed.)
Removing dld ...
Ignoring install-info called from maintainer script
The package dld should be rebuild with new debhelper to get trigger support
Removing libc5 ...
Purging configuration files for libc5 ...
Processing triggers for man-db ...

I installed Debian on my Pentium 166 back in 1997. It has been transferred over to new hard drives countless times, and was transferred to a Pentium III box later on and now it resides in my Athlon XP 3000+ box. Still kicking. Reinstalls are for wussies.

And here was something that I missed nuking back in the day. libc5. Debian made a big deal about switching over from libc5 to libc6 (aka GNU libc 2) back in the day, because the C library is a pretty damn important part of the system - almost all programs need it. Also involved was a migration from ZMAGIC a.out binary format to the ELF binary format used in these days. Basically, this was the time when Linux was transitioning from hacky Linux-specific solutions to a wider world: ELF isn’t specific to Linux, and glibc2, unlike the older Linux libc, isn’t specific to Linux. Debian managed to pull off huge changes like this without a hitch, and with no need to reinstall.

I had never actually removed libc5, mostly out of laziness and because there could have been some non-Debian binaries that might have needed that and all that rot. …and after a couple of years I just forgot. Now, I removed it because it was one of the obsolete packages that dpkg was complaining about. Obsolete stuff that doesn’t have proper architecture flags in the dpkg package database. I had to upgrade a library. This meant I had to upgrade Perl. Upgrading perl meant I had to upgrade apt and dpkg, which started whining about really obsolete stuff. I got into the mood to upgrade the parts of the system that make dpkg whine and gripe. Hence, libc5 is history. Doubt any libc5 binaries would even run these days to begin with…

Apparently, I’d need to reinstall everything if I ever switch to 64-bit Linux, but that is for the history to decide. Until then…