New Ubuntu version is released every six months, which is on every April and October. It is reflected in the version number, which is in the <year>.<month> format, with 20.04 as an example. The same is also true for other Ubuntu derivatives such as Kubuntu or Xubuntu.

If enabled, Ubuntu and its variance will prompt for an update if a new version is available. If not, you can upgrade your Ubuntu version from the terminal.

Steps to upgrade to latest version of Ubuntu or Kubuntu:

  1. Create a backup of both your system and data.

    Make sure that you have a backup of both data and configuration of the system you're upgrading. System upgrade is not 100% reliable and could result in conflicts and a malfunctioning system.

  2. Launch terminal.
  3. Update apt's package list from repository.

    $ sudo apt update [sudo] password for user:  Hit:1 http://archive.ubuntu.com/ubuntu eoan InRelease Hit:2 http://archive.ubuntu.com/ubuntu eoan-updates InRelease Hit:3 http://archive.ubuntu.com/ubuntu eoan-backports InRelease Hit:4 http://archive.ubuntu.com/ubuntu eoan-security InRelease Reading package lists... Done Building dependency tree        Reading state information... Done All packages are up to date.

  4. Upgrade installed packages using apt.

    $ sudo apt dist-upgrade --assume-yes Reading package lists... Done Building dependency tree        Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

  5. Check if new Ubuntu version is available.

    $ do-release-upgrade --check Checking for a new Ubuntu release Your Ubuntu release is not supported anymore. For upgrade information, please visit: http://www.ubuntu.com/releaseendoflife  New release '20.04 LTS' available. Run 'do-release-upgrade' to upgrade to it.

  6. Start the upgrade process to a new Ubuntu using do-release-upgrade.

    $ sudo 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,348 kB]                                                   Fetched 1,350 kB in 0s (0 B/s)                                                  authenticate 'focal.tar.gz' against 'focal.tar.gz.gpg'  extracting 'focal.tar.gz'  Reading cache  Checking package manager Reading package lists... Done Building dependency tree         Reading state information... Done Hit http://archive.ubuntu.com/ubuntu eoan InRelease                             Hit http://archive.ubuntu.com/ubuntu eoan-updates InRelease                     Hit http://archive.ubuntu.com/ubuntu eoan-backports InRelease                   Hit http://archive.ubuntu.com/ubuntu eoan-security InRelease                    Fetched 0 B in 0s (0 B/s)                                                       Reading package lists... Done     Building dependency tree           Reading state information... Done  Checking for installed snaps  Calculating snap size requirements  Updating repository information Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]                                         Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]                                 Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]                              Get:4 http://archive.ubuntu.com/ubuntu focal-security InRelease [107 kB]                                ##### snipped Get:85 http://archive.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [116 B]          Fetched 39.7 MB in 6s (3,288 kB/s)                                                                       Checking package manager Reading package lists... Done     Building dependency tree           Reading state information... Done  Calculating the changes  Calculating the changes  Do you want to start the upgrade?    2 packages are going to be removed. 111 new packages are going to be  installed. 1232 packages are going to be upgraded.   You have to download a total of 951 M. This download will take about  4 minutes with your connection. 

  7. Press [y] and [ENTER] to accept and continue.

    Installing the upgrade can take several hours. Once the download has  finished, the process cannot be canceled.    Continue [yN]  Details [d]

  8. Press [ENTER] to continue .

    Lock screen disabled   Your lock screen has been disabled and will remain disabled until you  reboot.   To continue please press [ENTER] Inhibiting until Ctrl+C is pressed...

  9. Wait for upgraded packages to finish downloading.

    Fetching Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 gcc-10-base amd64 10-20200411-0ubuntu1 [19.0 kB] Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 libgcc-s1 amd64 10-20200411-0ubuntu1 [41.6 kB]  Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 libcrypt1 amd64 1:4.4.10-10ubuntu4 [78.2 kB]    Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libc6 amd64 2.31-0ubuntu9 [2,713 kB]            Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 libc-bin amd64 2.31-0ubuntu9 [636 kB]           Get:6 http://archive.ubuntu.com/ubuntu focal/main amd64 locales all 2.31-0ubuntu9 [3,870 kB]            Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 libc6-dbg amd64 2.31-0ubuntu9 [5,671 kB]        Get:8 http://archive.ubuntu.com/ubuntu focal/main amd64 libc-dev-bin amd64 2.31-0ubuntu9 [71.8 kB]      Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 libc6-dev amd64 2.31-0ubuntu9 [2,520 kB]        Get:10 http://archive.ubuntu.com/ubuntu focal/main amd64 libcrypt-dev amd64 1:4.4.10-10ubuntu4 [104 kB] Get:11 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-libc-dev amd64 5.4.0-42.46 [1,109 kB]

  10. Wait for upgrade packages to finish installing.

    Upgrading Fetched 0 B in 0s (0 B/s)                                                                                 MarkInstall libc6:amd64 < 2.30-0ubuntu2.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=1   Installing libgcc-s1 as Depends of libc6     MarkInstall libgcc-s1:amd64 < none -> 10-20200411-0ubuntu1 @un uN Ib > FU=0     Installing gcc-10-base as Depends of libgcc-s1       MarkInstall gcc-10-base:amd64 < none -> 10-20200411-0ubuntu1 @un uN > FU=0   Installing libcrypt1 as Depends of libc6     MarkInstall libcrypt1:amd64 < none -> 1:4.4.10-10ubuntu4 @un uN > FU=0     MarkInstall locales:amd64 < 2.30-0ubuntu2.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=0     Installing libc-bin as Depends of locales       MarkInstall libc-bin:amd64 < 2.30-0ubuntu2.2 -> 2.31-0ubuntu9 @ii umU > FU=0 Starting pkgProblemResolver with broken count: 1 Starting 2 pkgProblemResolver with broken count: 1 Investigating (0) libc6-dev:amd64 < 2.30-0ubuntu2.2 -> 2.31-0ubuntu9 @ii umU Ib > Broken libc6-dev:amd64 Depends on libcrypt-dev:amd64 < none | 1:4.4.10-10ubuntu4 @un uH >   Considering libcrypt-dev:amd64 1 as a solution to libc6-dev:amd64 11   MarkKeep libc6-dev:amd64 < 2.30-0ubuntu2.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=0   Re-Instated libcrypt-dev:amd64   Re-Instated libc6-dev:amd64 Done  Upgrading Fetched 0 B in 0s (0 B/s)                                                                               Preconfiguring packages ... Preconfiguring packages ... Preconfiguring packages ... Preconfiguring packages ... Selecting previously unselected package gcc-10-base:amd64. (Reading database ... 181113 files and directories currently installed.) Preparing to unpack .../gcc-10-base_10-20200411-0ubuntu1_amd64.deb ... Unpacking gcc-10-base:amd64 (10-20200411-0ubuntu1) ... Setting up gcc-10-base:amd64 (10-20200411-0ubuntu1) ...  Progress: [  7%] Selecting previously unselected package libgcc-s1:amd64. (Reading database ... 181118 files and directories currently installed.) Preparing to unpack .../libgcc-s1_10-20200411-0ubuntu1_amd64.deb ... Unpacking libgcc-s1:amd64 (10-20200411-0ubuntu1) ... Replacing files in old package libgcc1:amd64 (1:9.2.1-9ubuntu2) ... ##### snipped

  11. Press [y] and [ENTER] to confirm removing of obsolete packages.

    Searching for obsolete software Reading state information... Done  Remove obsolete packages?    71 packages are going to be removed.    Continue [yN]  Details [d]

  12. Press [y] and [ENTER] to reboot your system.

    System upgrade is complete.  Restart required   To finish the upgrade, a restart is required.  If you select 'y' the system will be restarted.   Continue [yN]

  13. Login and start using your new Ubuntu or Kubuntu version.

Guide compatibility:

Operating System
Ubuntu 16.04 LTS (Xenial Xerus)
Ubuntu 16.10 (Yakkety Yak)
Ubuntu 17.04 (Zesty Zapus)
Ubuntu 17.10 (Artful Aardvark)
Ubuntu 18.04 LTS (Bionic Beaver)
Ubuntu 18.10 (Cosmic Cuttlefish)
Ubuntu 19.04 (Disco Dingo)