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 update if a new version is available. If not, you can upgrade your Ubuntu to the latest version from the terminal. This method will also work for Ubuntu Server.

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.

This guide is tested on Ubuntu:

Version Code Name
22.04 LTS Jammy Jellyfish
23.10 Mantic Minotaur
24.04 LTS Noble Numbat
Discuss the article:

Comment anonymously. Login not required.