Specified technical incident

So OpenSUSE11.4 was out this week. As the Jedi said here:

gah! suse is never totally easy

Indeed. I thought I’d do an online upgrade, so I scheduled this to happen when I was in the office and therefore had a fast Internet link available. I applied all the remaining 11.3 updates, configured the three additional repos, did a “zypper ref” and then a “zypper dup”, paged through the Flash player licence, and watched it report 500 odd MB of packages to grab. Much churning later, it started to miss packages, which I installed manually. Eventually, it finished, and I ran “zypper verify” to check it out. This reported that vim-data was missing, so I installed it, and went for a reboot.

Oh dear, the new distro apparently didn’t know what an ext4 filesystem was. And although I could still start 11.3 from the boot menu, KDE wasn’t working. So, back at home, I downloaded the ISO image (2 hours 20 odd minutes at home), burned a disc, and prepared for a clean install, which failed with a message about running out of processes in this runlevel. You guessed it, dodgy install media. Wiped and downloaded again. I check the MD5 hash. It’s a miss. I start the download again and go out. I come back to find the laptop has rebooted and has got to the failure point in 11.4. How? What? I restart in Windows and discover that 678 of 695MB has been fetched before something happened. It dawns on me that Microsoft has force-rebooted the bastard through Windows Update although I set it to do nothing of the sort. I’m getting seriously pissed off now. I download it again, from a different mirror (ox.ac.uk rather than Kent Uni mirrorservice.org). More hours. I check the MD5 hash. What do you know, it’s wrong. And it’s the same hash as last time. As an experiment, I burn it anyway, boot it, and run the media check utility.

Which fails at 63%, block 226192, in exactly the same location as the first time around. Riight, it looks like Novell has pushed a crappy image out to all the damn mirrors. Well, I can still get a Linux shell in 11.3, so I run it up, hook an ethernet cable to the linksys box, run dhclient, and repeat the command-line distro upgrade. Although Zypper still thinks all the dependencies are in place, when I tell it to “zypper dup”, it still manages to find 258 package changes left to do from the original upgrade. It takes an age, but eventually, completes, and it’s shutdown -r now time. And everything now works, right down to hibernated browser tabs.

Except for Python packages, of course. Pythonistas tend to dote on easy_install, but I’m still annoyed that I have to update this stuff out of sync with my linux environment, especially as it lives in my root partition. Would it be so hard to put everything in PyPi into an RPM repository and never worry about it ever again? This is actually an important lesson about the mobile app stores, and the original app store itself, Firefox extensions. Freedom goes with structure.

Lessons from this: once an upgrade shows any signs of weirdness, abort it and start again. And don’t expect online upgrade to work first time – this happened to me with a past OpenSUSE upgrade, come to think of it, but I clearly learned nothing.

  1. Since moving to Arch which has a rolling release model I haven’t really had much in the way of update problems. And the few I’ve had were pretty trivial to fix.

    Its a nice distribution if you’re not afraid of config files (which are well designed, and superbly documented on their wiki) and of all the distros I’ve used the easiest to tinker with. Plus it has a fantastic package management system.

  2. I have no reinstalled 11.4, and the wired network has decided not to fail again, so i intend to leave it for a week and let the initial updates settle the experience down before i begin customising it.

    You have a much greater technical understanding of what’s going on, my travails are here:


    Good luck.

  3. duaneg

    That sounds *way* more painful than it should have been, especially for a dot release.

    Like cian, I find systems that are designed for incremental updates to be much better. Gentoo is fine, as long as you are careful and update frequently.

    As for PyPi and friends (CPAN, Maven, Django Packages, Hackage, ad infinitum, all have the same issue), the lack of integration with distro package management systems really sucks. However, there is a reason why no Linux distro I’m aware of makes it as easy to do “emerge pyswip” as “emerge dev-lang/python”, and its not *just* because the bloody thing doesn’t work properly. It really is a non-trivial problem.

    Anyway, while we’re waiting for someone to solve that for us, I’d recommend installing PyPi packages into a local directory with virtualenv (I stick stuff into ~/pypi). For a single-machine, single-user system it is a quick, easy and unobtrusive solution.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: