metaruss

Downgrade from Irritating Ibex

by on Nov.14, 2008, under Linux

Lately, I have not been as diligent in testing Ubuntu releases before upgrading my important machines.  There are always some small hiccups, but most were fixed fairly easily.  Upgrades to both Feisty and Gutsy went fairly well and didn’t introduce any serious issues that I can remember.  I had a few snags with Hardy on one or two machines, but once a few weeks went by and the flurry of updates subsided, it proved to be one of the more solid versions I have used to date.

Unfortunately, the same cannot be said for Intrepid Ibex.  The upgrade went OK, but it introduced a lot of issues with usability such that I have decided to downgrade at least one of my machines.  The two main issues are:

  • GNOME 2.24 was (intentionally) released with completely broken session management.  Sessions are no longer saved.  This is extremely irritating for me on laptops and other machines that I don’t keep on 24/7.  You can sort-of work around it by manually adding apps to the session, but most of those apps will not be placed and sized how they were originally.  I’m sort of anal that way and have workspaces dedicated to certain tasks.  I like those workspaces to be restored the way I left them.  This is very basic functionality that I have been using on UNIX for the past 10 years until now.
  • Xorg 7.4 introduced a mysterious incompatibility with older X clients on Solaris hosts such that they immediately crash on any key press.  The result is that I can no longer use any tools on the servers at work via this machine.
  • Random slowdown and lockups of the machine for no apparent reason.  The CPU and hard disk are idle when this happens, but the mouse becomes sluggish and any back ground tasks (such as music playback) will get interrupted.  On one or two occasions, my machine has locked-up hard.  This is probably a kernel issue, but I have not looked too deeply into it yet.

The 2nd issue is preventing me from doing any useful amount of work at my job.  Thus, I have been forced to downgrade that machine.

Downgrading Debian or Ubuntu is not trivial, but not impossible either.  It does require a lot of attention, however. Here is approximately how I did it (it’s best to do all this from a text console and not the desktop via Ctrl+Alt+F1):

  1. Set your /etc/apt/sources.list to:
    deb http://archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
  2. Set your /etc/apt/preferences to (be careful about extra white space, as apt-get will quietly ignore these if there are any parsing issues):
    Package: *
    Pin: release a=hardy
    Pin-Priority: 1001
    Package: *
    Pin: release a=intrepid
    Pin-Priority: 60
  3. apt-get update
  4. apt-get upgrade

The upgrade will fail for various reasons.  Most of them can be resolved by:

  1. dpkg -i –force-overwrite /var/cache/apt/archives/problematic-package.deb
  2. apt-get -f install
  3. apt-get upgrade

Keep repeating the above sequence, replacing step 1 with whatever needs to be worked-around.  I ran into a problem with exim’s pre-install script and had to temporarily hack /etc/init.d/exim4 to succeed so that the package would install (don’t forget to unhack it once exim is installed).  I also had to manually remove “python-twisted-core” and “landscape-common” to avoid another conflict.

Eventually you will get to a point where some of hardy is installed, but much of intrepid remains.  You can illustrate this by trying “apt-get dist-upgrade”.  You will get a huge list of packages to remove, including some critical ones.  Don’t attempt to continue this way.  What causes this are packages installed by Intrepid that claim to “conflict” with some of Hardy’s packages.  APT needs some hand-holding to get through this.

  1. Remove Intrepid from /etc/apt/sources.list
  2. apt-get install libselinux1 sysvutils sysvconfig
  3. apt-get upgrade

Even now you will have seen a huge list of packages that will get removed.  There should only be one “critical” package getting removed.  Go ahead and proceed.  If you are currently logged-in via GNOME, applications will likely start crashing around you during the next phase.  Just let them and try to avoid doing anything else with the system.  It’s best to do all this from a text console, though (Ctrl+Alt+F1).  The procedure is the same as before:

  1. dpkg -i –force-overwrite /var/cache/apt/archives/problematic-package.deb
  2. apt-get -f install
  3. apt-get upgrade

Now you should be free of more of Intrepid, but you’ve also lost most of the desktop.  Restore it simply by:

  1. apt-get install ubuntu-desktop linux-image-generic

I tried various methods to get through that last half in one step without removing so much of the system, but APT was getting highly confused by various package conflicts as before.  I think much of the trouble stems from Xorg, Python, libc, and CUPS (the packages were renamed from cupsys), but it could also be that I have a lot of extra stuff installed beyond your basic Ubuntu desktop.  It may have helped to remove the pinning rules from /etc/apt/preferences earlier, but I think all that would do is allow more of Intrepid to stick around without APT trying to do anything about it.  Following the steps above allowed APT to tackle the job a chunk at a time so that in the end “ubuntu-desktop” installed cleanly as it should.  Then I forced libc, cups, the 2.6.24 kernel to downgrade and kept trying apt-get dist-upgrade.  Once the dist-upgrade looked sane (not trying to uninstall the world), I let it go and called it a day.

Once you get through all this, a few loose ends remain:

  1. Restore your original Hardy /etc/apt/sources.list from before you upgraded to Intrepid.  It should have been saved as /etc/apt/sources.list.distUpgrade.
  2. Remove the pinning rules in /etc/apt/preferences.
  3. apt-get update ; apt-get dist-upgrade
  4. Restore your Hardy /etc/X11/xorg if you can (should have been backed-up).
  5. Make SURE you have a kernel still installed.
  6. Reboot

Wish yourself luck!  After that it was a matter of reinstalling the nvidia drivers with module-assistant for my system.  YMMV.

:,
No comments for this entry yet...

Leave a Reply

Search

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact me.

Sites that interest me

A few highly recommended friends...

Meta