How to Upgrade Ubuntu to a New Release

In short
  • Fully update the current release, back up, then run sudo do-release-upgrade.
  • Upgrades from 24.04 LTS to 26.04 LTS have been open since the 26.04.1 point release; desktops get the offer through Software Updater.
  • You can only move one LTS at a time: 22.04 goes to 24.04 first, then to 26.04.
  • 25.10 reached end of life in July 2026 — upgrade it to 26.04 now.

Before you start

  1. Check what you're running: cat /etc/os-release (or lsb_release -a).
  2. Back up. At minimum your home directory and anything under /etc you have customised. The rsync home backup script works well for this. On servers, take a VM snapshot if you can.
  3. Free some space. The upgrade downloads a few gigabytes and needs room in / and /boot: check with df -h / /boot and clean up with sudo apt autoremove and sudo apt clean.
  4. Plug in the power on a laptop, and don't start it over a flaky connection.
  5. Note your third-party repositories and PPAs (ls /etc/apt/sources.list.d/). The upgrader disables them; you re-enable them afterwards once each one supports the new release.

Step 1: bring the current release fully up to date

sudo apt update
sudo apt full-upgrade
sudo reboot

The upgrader refuses to run while packages are pending, and starting from a clean, rebooted system avoids most problems.

Step 2: check the upgrade policy

The file /etc/update-manager/release-upgrades decides which upgrades are offered:

grep ^Prompt /etc/update-manager/release-upgrades
  • Prompt=lts — only offer the next LTS (the default on LTS installs).
  • Prompt=normal — offer every new release, including interim ones.
  • Prompt=never — never offer upgrades.

Step 3: run the upgrade

On a desktop, Software Updater shows "Ubuntu 26.04 LTS is now available" once the offer reaches you; Canonical phases it in, so it can appear a few weeks after upgrades open. You don't need to wait: the terminal method works on desktops too.

From the terminal (desktop or server):

sudo do-release-upgrade

The tool shows a summary (packages to be installed, upgraded and removed, and download size) and asks for confirmation. During the upgrade it asks about configuration files you have modified: if unsure, keep your current version (the default) and compare later with the .dpkg-dist file it leaves next to it. At the end, it offers to remove obsolete packages and to reboot.

Upgrading over SSH

Run the upgrade inside tmux or screen so a dropped connection doesn't kill it. When started over SSH, do-release-upgrade also starts a backup SSH server on port 1022; open that port in your firewall beforehand if you want it as a fallback.

Upgrade paths

You are onNext stepNotes
24.04 LTS26.04 LTSOpen since 26.04.1. 24.04 itself is supported until 2029, so there's no rush on servers.
25.1026.04 LTS25.10 reached end of life in July 2026; upgrade now.
22.04 LTS24.04 LTS, then 26.04Direct jumps over an LTS aren't supported. 22.04 standard support ends in April 2027.
20.04 LTS or olderEach LTS in turn, or reinstallOut of standard support. A fresh install of 26.04 is often quicker than three consecutive upgrades.

If do-release-upgrade says "No new release found", check the Prompt setting above and make sure the system is fully updated. The -d flag, often quoted online, means "upgrade to the development release" and isn't needed now that 26.04.1 is out.

What changes from 24.04 to 26.04

A few changes in 26.04 are worth knowing before you upgrade (from the official summary for LTS users):

  • GNOME 50, Wayland only. The "Ubuntu on Xorg" session is gone; X11 applications run through XWayland. See Wayland vs X11.
  • sudo-rs is the default sudo, and Rust coreutils replace the GNU versions by default (the GNU tools remain available with a gnu prefix). Scripts that rely on obscure GNU-only options are worth testing.
  • APT 3.1, and the long-deprecated apt-key command has been removed. Third-party repositories must use a keyring file with signed-by.
  • Linux 7.0 kernel, systemd 259, and Dracut instead of initramfs-tools for the initramfs.

After the upgrade

# Confirm the new version
cat /etc/os-release

# Pick up any remaining updates
sudo apt update && sudo apt full-upgrade

# Review leftover packages before removing them
sudo apt autoremove

Then re-enable the third-party repositories you still need: open each file in /etc/apt/sources.list.d/ (newer ones use the deb822 .sources format), re-enable it and change the suite name to the new codename, resolute, if the vendor supports it.

If something goes wrong

  • Upgrade interrupted: run sudo dpkg --configure -a then sudo apt -f install and sudo apt full-upgrade.
  • Logs: /var/log/dist-upgrade/ contains the upgrader's main log and the apt and terminal logs, the first thing to attach to a bug report or forum post.
  • Graphical session doesn't start: switch to a text console with Ctrl+Alt+F3, log in, and check journalctl -b -p err. The troubleshooting guide covers the usual causes.

Related reading