How to upgrade from 18.10 to 19.10, using the command line?

It's still possible to do the upgrade, you just have to hack some files per this blog post in order to upgrade to 19.04 first. I was able to upgrade successfully following his method.

Quoting the blog:

  1. Run do-release-upgrade on the 18.10 system. This will give you an error about being unsupported. But behind the scenes, the tool will download some metadata files we want to modify.
  2. As root, go in to /var/lib/update-manager and copy the file meta-release to a new file meta-release2. This file was downloaded by do-release-upgrade from the Internet and tells the upgrader how to upgrade.
  3. Edit meta-release2. Remove all entries for eoan entirely. Modify the disco entry so it says Supported: 1
  4. Edit the file /usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py. Change this line of code self.metarelease_information = open(self.METARELEASE_FILE, "r") To read self.metarelease_information = open(self.METARELEASE_FILE + "2", "r") That will tell the upgrader to use your modified file instead of the original. (It will also avoid any redownloads overwriting your changes.)
  5. Run do-release-upgrade. It should now be doing an upgrade 18.10 → 19.04. Let that run as normal and reboot.
  6. Congratulations! You’re now running 19.04. Remove the /var/lib/update-manager/meta-release2 you made.
  7. Since 19.10 is supported, all you have to do to upgrade 19.04 → 19.10 is run do-release-upgrade again. No hacks necessary, you’re back on the main path.

Upgrading to 19.04 is straightforward as suggested by sysopch on a blog

  1. mkdir /tmp/upgrade
  2. cd /tmp/upgrade
  3. wget http://old-releases.ubuntu.com/ubuntu/dists/disco-updates/main/dist-upgrader-all/current/disco.tar.gz
  4. tar -xf disco.tar.gz
  5. python3 ./dist-upgrade.py

Tried it out myself - worked like a charm. After this do-release-upgrade seems to not error out, but I did NOT upgrade to 19.10 myself (I'm happy with 19.04).

In step 5 I had to **sudo** python3 ./dist-upgrade.py


Simpler Way: 18.10 -> 19.04 -> 19.10 -> 20.04 LTS (24 May 2020)

I got caught out on this having over 20 Ubuntu VMs on various versions from 18.04 / 18.10 / 19.04 / 19.10 .

I have tested a number of updates from 18.10 to 20.04 using variation of what is provided in prior guidance above.

Here are the high level steps:

  1. You can only do this via set of steps: 18.10 (cosmic) -> 19.04 (disco) -> 19.10 (eoan) -> 20.04 (focal)

  2. 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

  1. Using command line (not UI) do:
  • sudo apt update
  • sudo apt upgrade
  • sudo apt autoremove
  • and reboot
  1. Now you can try upgrade but first check: /etc/update-manager/release-upgrades has "Prompt=normal" and edit if needed. Then via command line do:
  • do-release-upgrade

There are 3 possible results:

  • a. All goes ok ;-) - then advance to (6)
  • b. Get failure where is says you cannot upgrade from "cosmic" to "eoan"
  • c. Get "do-release-upgrade" command not found
  • d. No release found (see step 6)

4b. You need to edit the cached update list which is in: ~/.cache/update-manager-core/meta-release

Editing should be remove all releases after "disco" and change "cosmic" & "disco" supported flag from "0" to "1" ie:

Dist: cosmic

...

...

Supported: 1

...

...

Now back to 4

4c. You need to install update sw: sudo apt install ubuntu-release-upgrader-core

Now back to 4

  1. Redo: do-release-upgrade

Keep in mind you could end up going back to 4b.

If all goes ok then go to (6)

  1. 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.

  1. You should now be able to to upgrade to 20.04 LTS

NOTE 1: I am writing this from rough notes, keep while doing updates, so hope I have recalled correctly.

NOTE 2: 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 3: I have just done an 18.04 LTS update this went: 18.04 -> 19.10 -> 20.04 . So it did not go directly from 18.04 -> 20.04 ... puzzling