9 Answers
9

Downgrading releases is possible to some extent. With enough fighting, it can be done (see some of the other answers here for the the technical details).

However the result you end up with is not the same as what you had before the upgrade. During an upgrade certain one-way changes are made to make new packages happy and downgrading them won't reverse those edits. It's impossible to guarantee a downgrade will work at all, let alone if it'll be stable.

In short, your easiest option is always going to be a reinstall. Don't think of it as a chore, look at it as a nice opportunity to trim down on packages and configure things better.

If you want to test things in the future and you fear you might have issues, always make sure you do the following:

Test the LiveCD first. If you're going to have immediate hardware issues, this should let you know.

Back up before you do anything. I know everybody and their mother has already told you to do this, but it's really important if you think you're going to have issues. If you can't do without your machine for more than 20 minutes, consider some full-disk cloning tools like Clonezilla so you can just restore a previous version of the disk. There are other tools that can offer similar results.

Keep your data separate. Having your /home/ within the same partition as your installation is a recipe for a headache if you're constantly upgrading/downgrading things. Push it off to another disk or at least another partition so that when you do need to reinstall, you really just need to set up the mount.

There was a critical bug for downgrading that was fixed by the Ubuntu QA team. Make sure you read up on that, as some people will recommend you just stick in an older CD and "upgrade" to it, but this is a bad idea.

The critical bug appears to be fixed for 12.04 (Precise). So this issue will still affect 11.04 and 11.10, both of which are by now end-of-life.Anyone able to confirm?
–
david6Jun 2 '13 at 10:47

Is it possible to just overwrite the system files with the desired release? i.e. if I use 12.10 and want to go back to 12.04 or older, without backing up anything, is it possible just to overwrite the system files with fresh installation.
–
iamcreasyNov 29 '13 at 12:47

@iamcreasy That's what my second paragraph deals with. Upgrades are often transformation. None of what you describe is something I'd do without backing up.
–
Oli♦Nov 29 '13 at 12:50

I was talking about overwriting the system files only. Re-installation of the OS without formatting the hdd.
–
iamcreasyNov 29 '13 at 13:31

There's a saying in my language which can be roughly translated as "You can't turn mince back into meat by rotating the mincer's handle in the opposite direction" :)

The upgrade procedure is one-way - while installing new versions of software, your configuration files and settings are modified by packages' post-install scripts to use new format which is required by new software. Basically, there's no opposite procedure - to make a newer configuration file compatible with old software.

I disagree, upgrading a system is about replacing old packages with new packages, which should be a reversible process (replace new packages with old ones). There's no inherent need to destroy anything during an upgrade, it's just that most systems we use don't really care about downgrading and don't support it (well).
–
Georges DupéronOct 8 '13 at 16:04

5

@GeorgesDupéron: you're right, there is no law of physics which would make downgrades impossible, so it is totally possible to build a tool which can upgrade/downgrade a system to any version. However, there's no such tool, so my answer stands for the real-life Ubuntu and its upgrade tools.
–
SergeyOct 8 '13 at 20:42

It's possible at the level of the packaging tools (apt). But the resulting system may not be equivalent to doing a reinstall, and you may get errors along the way. This is because many packages contain specific support for upgrades (e.g. handling changes in configuration files) but not for downgrades.

Normally, apt prefers to install the most recent version of a package. But you can change this through pinning: you can declare that packages from the old release have higher priority than the installed packages, so that they will be downgrades when you do aptitude dist-upgrade.

Change your /etc/apt/sources.list to include only the old release (either edit the file or use your favorite GUI), and run aptitude update. Then edit /etc/apt/preferences (documented in the apt_preferences man page) and add the following lines (to downgrade to lucid):

Package: *
Pin: release v=10.04
Pin-Priority: 1001

Then run aptitude dist-upgrade. Every package has a priority greater than 1000, so every package that is present in 10.04 and installed on your system will be downgraded. You'll have to remove packages that weren't in 10.04 manually; they'll be listed under “Obsolete and locally created packages” in aptitude.

They say, "never say never", and "nothing is impossible" - both of which are true, but not in your case. I suggest you either back up your data and reinstall, or stick it out. The system should become more and more stable as the weeks go by.

You can also reinstall on top of the existing installation (it will keep your files).

As a rule of thumb though, try to avoid upgrading to development versions on production systems (especially if you are not a tester/developer).

Had I been aware that Ubuntu has crippled the Netbook Remix as horribly as they did before hand, I would not have done the upgrade at all. Re-installing is not a major issue, but I though the question was worth the effort of posting it.
–
DiagoSep 5 '10 at 16:52

@Diago Just out of curiosity is this a complete dislike of the new interface? Or simply a belief it's not finished yet?
–
8128Sep 5 '10 at 19:26

A bit of both. I am frustrated by the lack of usability from a non technical user perspective. I can find my way around and install additional software to get functionality, but fail to see how a complete novice will survive. I believe it needs a lot more work if they plan to meet the October deadline.
–
DiagoSep 5 '10 at 19:33

This is why you are not supposed to upgrade your main install to the development release. If you want to test the development release, you should do so on a separate partition so you can boot back into the stable release when things go wrong.

At this point if you want to go back to 11.04, you need to reinstall it, and choose manual partitioning. Do NOT check the format box when configuring your partitions and your user files should remain intact.

Roll-backs may work fine for certain packages in isolation, but I wouldn't ever expect a large-scale roll-back of an entire distribution to leave you with anything other than a horribly broken system (or one which, on the surface looks to be fine, but strange things keep surfacing as you discover it is more and more broken).

APT is just designed to avoid roll-backs as much as possible, and the packages that make up the Ubuntu (and Debian, for that matter) distribution aren't designed with smooth roll-backs as a design goal.

Unless you have whole-system backups that are reliable, what you really need to do is ensure your entire home directory is backed up (and possibly also on a separate partition), re-install from the CD image of your chosen version, and start restoring your data from your home folder(s). You may even need to selectively restore the dotfiles in your home directory in case any which have become accustomed to the new version don't quite work well with the older version.

Before you do, you may want to peruse your installed packages and write down which ones you rely on, so you can re-install them. There are tools to backup and restore your list of installed packages, but I wouldn't normally recommend doing this if you are going between versions as the packages needed/included may have changed.