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:
- 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.- As root, go in to
/var/lib/update-manager
and copy the filemeta-release
to a new filemeta-release2
. This file was downloaded bydo-release-upgrade
from the Internet and tells the upgrader how to upgrade.- Edit
meta-release2
. Remove all entries foreoan
entirely. Modify thedisco
entry so it saysSupported: 1
- 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 readself.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.)- Run
do-release-upgrade
. It should now be doing an upgrade 18.10 → 19.04. Let that run as normal and reboot.- Congratulations! You’re now running 19.04. Remove the
/var/lib/update-manager/meta-release2
you made.- 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
mkdir /tmp/upgrade
cd /tmp/upgrade
wget http://old-releases.ubuntu.com/ubuntu/dists/disco-updates/main/dist-upgrader-all/current/disco.tar.gz
tar -xf disco.tar.gz
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:
-
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
- 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
- Redo: do-release-upgrade
Keep in mind you could end up going back to 4b.
If all goes ok then go to (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.
- 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