Status: June 2020 - Validated across a number of upgrades which got stranded on 18.10
Ubuntu upgrade tools supports "single step" upgrades.
The "single step" can be based on:
- Normal release steps: 18.04 to 18.10 to 19.04 to 19.10 to 20.04 or
- LTS release steps: 16.04 to 18.04 to 20.04
The impact of this is that it is quite easy to get stranded on on "Normal" release cycle as the intermediate releases get moved to "End of Life" quite quickly.
The follow note provide process used to get from 18.10 (Cosmic - End of Life) to 20.04 (Focal LTS).
This process was defined as a result of having a number of VMs that got stranded at release 18.10 and "do-release-upgrade" command no longer working due to 18.10 (Cosmic) & 19.04 (Disco) having gone "End of Life".
Here are the high level steps:
- You can only do this via set of steps: 18.10 (cosmic) -> 19.04 (disco) -> 19.10 (eoan) -> 20.04 (focal)
- 18.10 and 19.04 are the problem as they are "obsolete" and archive has been moved to "old-releases", so you will need to edit /etc/apt/sources.list to point to:
"deb http://old-releases.ubuntu.com/ubuntu" and not any other repository
- Using command line (not UI) do:
$ sudo apt update $ sudo apt upgrade $ sudo apt autoremove --- --- and reboot --- $ sudo reboot
4. Now you can try upgrade, but first check that: /etc/update-manager/release-upgrades has "Prompt=normal" and edit if needed. Then via command line do:
There are 4 possible results:
a. All goes ok ;-) - then advance to (6)
b. Get failure where is says you cannot upgrade from "cosmic" to "eoan" (see below)
c. Get "do-release-upgrade" command not found
d. No release found (see step 6)
$ do-release-upgrade Checking for a new Ubuntu release Your Ubuntu release is not supported anymore. For upgrade information, please visit: http://www.ubuntu.com/releaseendoflife Get:1 Upgrade tool signature [1,554 B] Get:2 Upgrade tool [1,329 kB] Fetched 1,331 kB in 0s (0 B/s) authenticate 'eoan.tar.gz' against 'eoan.tar.gz.gpg' extracting 'eoan.tar.gz' [sudo] password for XXX: Reading cache Checking package manager Cannot upgrade An upgrade from 'cosmic' to 'eoan' is not supported with this tool.
4b. You need to edit the cached update list which is in: ~/.cache/update-manager-core/meta-release
Editing should remove all releases after "disco" and change "cosmic" and "disco" supported flag from "0" to "1" (see below + NOTE 3):
... ... ... Dist: cosmic Name: Cosmic Cuttlefish Version: 18.10 Date: Thu, 18 October 2018 18:10:00 UTC Supported: 1 <<================ CHANGED TO 1 Description: This is the 18.10 release Release-File: http://archive.ubuntu.com/ubuntu/dists/cosmic/Release ReleaseNotes: http://changelogs.ubuntu.com/EOLReleaseAnnouncement UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/cosmic-updates/main/dist-upgrader-all/current/cosmic.tar.gz UpgradeToolSignature: http://archive.ubuntu.com/ubuntu/dists/cosmic-updates/main/dist-upgrader-all/current/cosmic.tar.gz.gpg Dist: disco Name: Disco Dingo Version: 19.04 Date: Thu, 18 April 2019 19:04:00 UTC Supported: 1 <<================ CHANGED TO 1 Description: This is the 19.04 release Release-File: http://archive.ubuntu.com/ubuntu/dists/disco/Release ReleaseNotes: http://changelogs.ubuntu.com/EOLReleaseAnnouncement UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/disco-updates/main/dist-upgrader-all/current/disco.tar.gz UpgradeToolSignature: http://archive.ubuntu.com/ubuntu/dists/disco-updates/main/dist-upgrader-all/current/disco.tar.gz.gpg --- --- REMOVE EVERYTHING AFTER DISCO ---
NOTE 1: If there is no .cache file then also look for this in: /var/lib/update-manager
NOTE 2: If you are on LTS stream then the file will be: "meta-release-lts" & "meta-release-lts-development"
NOTE 3: Depending on what release you are on editing the meta-release file may vary. The general way is to ensure you have release you are currently on + 1 release ahead marked as supported and to remove any further release meta data beyond your system current relase + 1 release forward.
Now back to 4
4c. You need to install update sw: sudo apt install ubuntu-release-upgrader-core
Now back to 4
5. Redo: do-release-upgrade
Keep in mind you could end up going back to 4b.
If all goes ok then go to (6)
6. You should now be at 19.04 or 19.10 (depending on where you started).
Now you just need to repeat the steps.
Simply repeat 4.
If get a "release not found" error then you should delete the cached releases file you edited earlier (~/.cache/update-manager-core/meta-release) and re-run.
7. You should now be able to to upgrade to 20.04 LTS
NOTE 1: If you have used "external PPA" in /etc/apt/sources.list.d directory, then you should disable these prior to starting the update process.
NOTE 2: If you are on LTS release (18.04) then you can upgrade straight to 20.04 by simply doing: do-release-upgrade (or do-release-upgrade -d if this is not enabled by default)
References & Links:
Ask Ubuntu - my posting on repeatable process based on inputs within discussion thread
Ubuntu Releases - the various Ubuntu releases and their status
Upgrading from 18.04 to 20.04 - LTS Upgrade instructions