Ubuntu 20.04 Focal Fossa

Linode Staff

I see there is a new version of Ubuntu. What does this mean and how can I upgrade?

9 Replies

Ubuntu 20.04 LTS dropped today, April 23, 2020 and can be deployed through the Cloud Manager. This is Ubuntu’s latest LTS release and will be supported through April 2025.

Release Notes:

Source: https://wiki.ubuntu.com/FocalFossa/ReleaseNotes

Upgrade Procedure:

Recommended Way:

Using this method ensures a smooth transition to the new distribution, but it is a bit more work-intensive up front.

Alternative way:

Source: https://wiki.ubuntu.com/FocalFossa/ReleaseNotes

This method can provide a faster upgrade process, but there is a greater potential for incompatibilities and bugs that will require troubleshooting. If you choose to go this route, we highly encourage you clone your Linode or enable backups and take a snapshot. This will provide you with a fall back in case you run into issues following the upgrade

  • Install the update-manager-core package if it is not already installed.

  • Make sure the Prompt line in /etc/update-manager/release-upgrades is set to normal.

  • Launch the upgrade tool with the command sudo do-release-upgrade.

  • Follow the on-screen instructions.

Note: This process uses GNU screen and will automatically re-attach in case of dropped connection problems.

Just as a heads up: If you're running LetsEncrypt/Certbot on your Linode and you upgrade to Ubuntu 20.04 LTS, there's currently a known bug that's making it not work correctly. It's been reported and can be tracked here:


@watrick - Do you know if the Cerbot / Ubuntu 20.04 issue has been resolved?

@ljhardy Yes, the issue has been resolved. I was able to deploy SSL on one of my servers yesterday running 20.04.

I would like to do-release-upgrade from 18.04 to 20.04 in a Linode. I took a snapshot to have a rollback plan, but then was surprised to find that do-release-upgrade does not "see" release 20.04 as an option. If I change to Prompt=normal in /etc/update-manager/release-upgrades then release 19.10 is shown as available, but that's obviously not my intent.

Is there something that needs to be changed in /etc/apt/sources.list? My preference is to stick with mirrors.linode.com…

# egrep -v '^#|^$' /etc/apt/sources.list
deb http://mirrors.linode.com/ubuntu/ bionic main restricted
deb http://mirrors.linode.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.linode.com/ubuntu/ bionic universe
deb http://mirrors.linode.com/ubuntu/ bionic-updates universe
deb http://mirrors.linode.com/ubuntu/ bionic multiverse
deb http://mirrors.linode.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.linode.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
deb http://archive.ubuntu.com/ubuntu bionic universe


A little Googling answered my question, and I thought I would share it here for others…

From https://linuxconfig.org/how-to-upgrade-ubuntu-to-20-04-lts-focal-fossa

"…upgrades from 18.04 LTS will not be enabled until a few days after the 20.04.1 release which is expected in late July 2020."

By adding the -d flag, I can get the Linode to see 20.04:

# do-release-upgrade -c -d
Checking for a new Ubuntu release
New release '20.04 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

I was directed here after absorbing a hit using linode's sub-par restore technology.

I cannot believe the recommended technique for upgrading a *nix based operating system involves provisioning a new node and redeploying layered packages.

Is it like this for all *nix services? I just had to go through this with GoDaddy. I took the hit because I hadn't upgraded centos and it will eol this nov. It wasn't possible to upgrade via wh/cpanel so new node it was. I don't spend a lot of time on centos.

And yet linode expects users of a rock-solid distro like Debian to redeploy a new node on OS upgrade? What am I missing? FWIW, there's a lot of Debian I don't like (e.g. Debianized WordPress), but I've been "Microsoft free since two thousand three" thanks to Debian.

@jchimene I don't think @mikefisch post meant that you have to go through the "recommended way".
Since the last blocking points have been fixed by Ubuntu, you could simply do
do-release-upgrade (without the -d) to upgrade to 20.04.1.

However, based on experience, a distro usually works better when it's freshly installed (as for all OSes). The upgrade will certainly work, but, in my opinion, here are the advantages of doing a fresh install (and, again, true for all OSes)

  • an upgrade will keep some unnecessary data, and sometimes some obsolete confusing/misleading configurations directories and files
  • an upgrade requires Ubuntu to perform some "workarounds" to adapt some configs/packages to the new version, that, sometimes, may not be upper clean
  • a fresh will demand you to install all packages, setup all configurations
  • but you get a clear, instant picture of what package is obsolete, replaced, one by one (more work, but more precise)
  • also a fresh will allow you to redraw the file systems sizes & types… easily
  • and for key services, after the install you usually can simply rename the new /etc/name to /etc/name.new and copy the old one from the existing "old" node to the new one (like nginx, mysql, php, …)

And I would second the "recommended way", since you

  • can prepare the new system beforehand, no hurry, no downtime
  • have a limited downtime of the main system during transition
  • keep a working system, to which you can refer to at anytime (until you cancel it), to which you can switch back if necessary
  • can compare the old and new systems behaviors
  • have a backup

Then, Linode nodes are charged by the hour. So even if all of that takes 3 days, you'll only have a 10% additional cost (next invoice) [nope, I'm just a client, not trying to sell you anything :-]

As for the fresh install, I keep a detailed list of operations to be performed and packages to be installed (in order). Like ensure that user has such uid, gid… And made a couple scripts for repetitive operations.

I just wanted to second the response from @sysdaemon. Having run multiple distro upgrades on several machines at Linode for a number of years, I've learned that a really clean install is just better in the long run. I've got two on 18.04 and one of them that has been upgraded from 14.04 using do-release-upgrade has some cruft on it that has cost me some additional effort. I also recommend using the "recommended" method migrating to 20.04.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct