|
Introduction
This guide explains how to upgrade an End of Life (EOL) Ubuntu release to a supported system. It is suitable for both Ubuntu Server and any Ubuntu Desktop flavor.
This guide assumes that you know your way around on the terminal, as graphical tools are not always used. This said, the steps for executing all the commands are actually copy/pasteable so everyone, from beginner to advanced user running EOL releases of Ubuntu can execute the upgrade(s).
As always, take backups of your disks/partitions before upgrading.
Is my release actually end of life?
To check which Ubuntu release you are running, run this command:
cat /etc/os-release
To understand whether your release is EOL please have a look at the following resources:
What matters here is whether your installation has reached "End of Life", not just "End of Standard Support". Releases which have reached "End of Standard Support" but not "End of Life" should either receive extended support via Canonicals' commercial offerings (ESM] / [[https://ubuntu.com/pro), or be upgraded immediately, using the standard upgrade approach, or be fully airgapped.
Life cycles will often differ for Ubuntu flavors, and so can upgrade instructions. In rare cases, release upgrades from a certain flavor version may be entirely unsupported. The release notes of an EOL release generally contain instructions to upgrade to a more recent version. For flavors, you should read both the Ubuntu Release Notes and the flavor's release notes. Flavor release notes can usually be found on the respective flavors' website.
Note: This guide must not be followed if you are running a release which still receives support. For upgrading supported releases please refer to this document.
Upgrade or fresh install?
The advantage of upgrading is that you get to keep your current configuration as is. This is often desirable on production environments which you want to keep as stable as possible. At the same time, configuration applicable for older versions might not always work with newer versions.
If you format partitions when installing a newer version, you have the option to select a new file system, which might have benefits and required features compared to the old one. The new installation also gives you a clean platform to start building your system from; no old configuration files and potential upgrade-related bugs.
Reinstalling is usually easier and faster, especially if you would have to upgrade through several releases. It might also help you save some bandwidth, if that is a concern.
Note about hardware support
It is not certain that every release of Ubuntu runs on the hardware in question. Regardless if you are upgrading or doing a new install, it is always a good start to try the new release in a live boot. A live Ubuntu runs from a CD or a USB stick, and it does not change the installation on the hard drive.
Upgrading
Note: Before you start, check if your upgrade path is listed in this list. If it is, it's recommended to use the specific instructions on the appropriate subpage.
Update sources.list
To begin the upgrade, make sure you have a sources.list like the following, with CODENAME being your release, e.g. quantal. Do *not* change your CODENAME, though, just the domain name (to "old-releases.ubuntu.com").
## EOL upgrade sources.list # Required deb http://old-releases.ubuntu.com/ubuntu/ CODENAME main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ CODENAME-updates main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ CODENAME-security main restricted universe multiverse # Optional #deb http://old-releases.ubuntu.com/ubuntu/ CODENAME-backports main restricted universe multiverse
You can use -backports and or -proposed if you want. For more information about repositories see this page.
Dependencies
You should also make sure some meta-packages are installed so the upgrade can continue without problems.
Update-manager
From version 6.06 and up you will need to install the update-manager and update-manager-core packages. Note: You don't want to install the update-manager package on CLI-only servers.
sudo aptitude install update-manager-core update-manager
For upgrading from an LTS release to a non-LTS release, make sure that the update manager is correctly configured to upgrade any release. This is not needed when upgrading from one LTS release to the next LTS release:
sudo perl -pi -e 's/^Prompt=.*/Prompt=normal/' /etc/update-manager/release-upgrades
Desktop meta
If you run a particular desktop version, you might want to reinstall this package to resolve any issue with dependencies of that package. You can (re)install these -desktop packages before or after your upgrade.
To find out if you which desktop package you want to (re)install: dpkg -l | grep tu-desktop. Or search for one by running aptitude search tu-desktop. The correct commands to install a desktop metapackage is (in this example, we're reinstalling the Kubuntu desktop):
sudo aptitude install kubuntu-desktop
Kernel
8.04 and up: apt:linux-image-generic,linux-headers-generic, apt:linux-image-server,linux-headers-server or apt:linux-image-virtual,linux-headers-virtual
sudo aptitude install linux-image-generic linux-headers-generic # or sudo aptitude install linux-image-server linux-headers-server # or sudo aptitude install linux-image-virtual linux-headers-virtual
- 5.04: linux-image-386 and linux-headers-386
sudo aptitude install linux-image-386 linux-headers-386
- 4.10: linux-image-386 and linux-kernel-headers
sudo aptitude install linux-image-386 linux-kernel-headers
Run the upgrade
After you've done the above, run the updates and then the upgrade as usually:
sudo apt-get update sudo apt-get dist-upgrade sudo do-release-upgrade
Unsupported upgrades
Sometimes do-release-upgrade isn't able to run the upgrade to the latest version and it shows an error similar to this:
An upgrade from 'eoan' to 'focal' is not supported with this tool.
If that happens, you need to download a version-specific upgrader, you can find the link at https://changelogs.ubuntu.com/meta-release.
You need to download the upgrade tool for the version you are upgrading to. For example, if you are upgrading to Ubuntu 20.04 (focal), you'll see the link on that page as follows:
UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz
The download is an archive which contains an executable with the code name of the release. execute it to run the upgrade tool for that release. Note that the archive extracts everything in the current directory so you might want to create a directory for it to extract into:
# Downloads the upgrader, check the link above for the URL of the file for your release wget http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz # Extract it into a new directory mkdir upgrader tar -xaf focal.tar.gz -C upgrader cd upgrader # Run the executable, the name changes based on the release ./focal
This executable works the same as do-release-upgrade. If you still get the error of the upgrade not being supported, you might need to make an intermediate upgrade to an earlier version.
Known issues
Some issues are related to apt-get upgrade and dist-upgrade commands. If you get calculation errors when running do-release-upgrade you can resolve this issue by running do-release-upgrade -m desktop, or removing the ubuntu-desktop package. When aptitude is used there is no need for this.
If you run into individual dependency issues you need to resolve these individually. You can use sudo apt-get -f install for this. After resolving the issue, you can continue by running sudo ./feisty --frontend DistUpgradeViewText -mode=server; replace feisty with the release where you upgrade to.
Instructions for specific upgrades
- Mac users have reportedly had some difficulty upgrading around versions 7.04/7.10.