The Upgrade Saga
Jul 13th, 2014

aaaaargh! dependency hell linux servers

I just pulled in a commit my friend made to a project we’re working on together…

His commit seems good, but unfortunately, his code uses PHP’s mysqli class (introduced until PHP 5.3), and my home server runs PHP 5.1, so I have to upgrade PHP. Ok, no big deal. I’ve been wanting to get the latest version anyway. Oh, but, hmm… the PHP upgrade depends on a MySQL upgrade which needs a new version of the some databasing package I’ve never heard of. Whatever, I guess I’ll install that too, while I’m at it.

Uh oh. that package requires a string encoding utility I don’t have. Blargh. I guess I’ll install that and the few other utilities that come with it. Wait, what? Something in that mess was tied to openssh-server? Why? Ok, well, I do have openssh-server, so it should just be an easy upgrade, and that’ll be that… Ah, the upgrade to openssh-server requires openssh-client version 1.5.1, and I have version 1.5.3. That’s cute.

Ok, I managed to downgrade openssh-client and upgrade openssh-server… Why am I even doing this, again? Oh right, the PHP upgrade. Hmm. This is somewhat better, but it’s still stuck on that darned MySQL upgrade. Argh, now it’s pending some other random library, and this one isn’t in any of the repos my server updates from. Ok, I’ll find it online and build it from source… There. Well, that sorta worked. Let me restart Apache and see if everything is ok.

No. Everything is definitely not ok. Apache isn’t having any of this! Hmm, well the internet suggests updating Apache, so… maybe that will work? Oy vey! Apache has a lot of dependencies. Argh! This is a mess! There’s no way I can get all of these figured out! Fine. I’ll just upgrade the whole stinking OS. Lucid isn’t even supported anymore, so I guess this is partly my fault for not taking care of this sooner.

Oh god! Too many packages are out of sync to upgrade! I guess that’s what I get for upgrading things selectively all the time. This is awful! Well, I wanted to do a warm upgrade over the command line, but that’s clearly not happening. I’ll have to get a boot disk in there. I think I have a Live CD of Precise leftover from when I set up my laptop. Maybe I can use that for now, just long enough to straighten out these packages, and warm upgrade to Trusty from there. Oh… but of course that CD would be corrupted. Who even uses CDs anymore?! Dang, and I can’t boot off a flash drive either, because my server’s BIOS are too old. Ok, I’m out of options! I’ll stop by Best Buy, and get some new CDs.

Well, at least, since I’m downloading a fresh copy of Ubuntu, I can just go straight to Trusty. Ah, but of course Trusty is too large to fit on a CD………. UGH! And back to Best Buy I go! Ok. Back home. ISO burned. DVD inserted. Let’s do this!! Uh… after I get the damn disk tray open, I mean.

Yes, my pet. Boot from the DVD! Bwahahaha!

Let’s see, I would like to install Ubuntu… ah here we go, try to upgrade while preserving my personal files. What do you mean, I’m low on memory?? Well just do the installation, and you should clear some up… Annnnnd go!

[3.5 hours later]

… This isn’t actually doing anything is it… AAAAARRRRRRGGGGGGHHHHHHHHH!!!! Fine!! Hard reboot. Install Ubuntu. Wipe EVERYTHING!!!

[20 minutes later]

… Oh no. The DVD drive spun down, and the mouse is locked. This is just hanging again. My hardware is too old for this. I can’t install the new OS any more than I can run the old one. There is nothing else I can do.

[$680 later]

Fear not, Jeeves! You will soon be reborn into a new body!

Your E-Sheep:

( change )

Recent Posts:

10/14 - ADHOC Changelog
8/19 - And now… random puppies!
8/3 - Check Braces
7/23 - Make Limits Java Heap Size on 32-bit Linux
7/21 - Terminal Color Support in Makefiles

Top Tags:

aaaaargh! algorithms automatic awesome colors config development environment documentation frustrating java linux make parsing project management random syntax-highlighting terminal types

Random Quote:

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
anonymous (variant of original by Phil Karlton)

Powered By:

2017 - Creative Commons 3.0