Our preferred method is to only jump one revision at a time. If, for example, the goal is a Lucid to Natty, we would have Maverick as an interim step. LTS to LTS updates fall with in revision (that is steping from one LTS to the next is considered one "revision" of the LTS stream.

General Recipie

In the general realm of Ubuntu the upgrade process will be done with do-release-upgrade

~ # apt-get install update-manager-core
~ # do-release-upgrade -c
~ # do-release-upgrade

Install the tools, use -c to check, then execute.

Manual Recipie

Perhaps the above command doesn't work for you, or you want to break out of LTS stream; like upgrading to Natty for some reason. Simply change your apt sources, and run the upgrade; taking only one step at a time.

~ # sed -i 's/lucid/maverick/g' /etc/apt/sources.list
~ # aptitude update && aptitude dist-upgrade

There will be loads, hundreds, of updates. Wait for these to proceed, answering the prompts along the way. Pay special attention to your configuration files! Reboot once the update is complete and repeat as necessary.

Lucid to Maverick

~ # sed -i 's/lucid/maverick/g' /etc/apt/sources.list
~ # aptitude update && aptitude dist-upgrade

Maverick to Natty

~ # sed -i 's/maverick/natty/g' /etc/apt/sources.list
~ # aptitude update && aptitude dist-upgrade

Natty to Oneiric

~ # sed -i 's/natty/oneiric/g' /etc/apt/sources.list
~ # aptitude update && aptitude dist-upgrade

Oneiric to Precice

~ # sed -i 's/oneiric/precice/g' /etc/apt/sources.list
~ # aptitude update && aptitude dist-upgrade