Cybersecurity Updates & Tools

Upgrade to Ubuntu 26.04 from 25.10 and 24.04 LTS: Complete Guide

Ubuntu 26.04 LTS “Resolute Raccoon” arrived on April 23, 2026 with Linux kernel 7.0, GNOME 50, Python 3.14, PHP 8.5, Java 25, TPM-backed full-disk encryption, post-quantum cryptography in OpenSSL, and a Wayland-only GNOME session.

You can upgrade to Ubuntu 26.04 directly from Ubuntu 25.10 or Ubuntu 24.04 LTS. Ubuntu 25.10 reached end of life on July 9, 2026, and should be upgraded now. The 24.04 path has a timing restriction covered in the third section below.

<strong>Prerequisite:</strong>&nbsp;You need sudo access. Back up your data, or take a VM snapshot, before starting. If you prefer a clean setup, follow the install Ubuntu 26.04 guide instead.

Upgrade to Ubuntu 26.04: Pre-Upgrade Steps and Package Cleanup

Bring the current system fully up to date before starting the release upgrade.

Check for held packages first. Held packages can block the release upgrader from resolving dependencies correctly:

bashsudo apt-mark showhold

An empty output means no packages are held. Unhold any that no longer need to be pinned:

bashsudo apt-mark unhold package_name

Upgrade all packages, including phased updates. Ubuntu rolls out some updates gradually in phases. Without the flag below, phased-update packages stay held back and can prevent do-release-upgrade from running cleanly:

bashsudo apt updatesudo apt dist-upgrade -o APT::Get::Always-Include-Phased-Updates=true

Use dist-upgrade, not apt upgrade. The difference matters here: dist-upgrade resolves dependency changes and removes conflicting packages where needed, while upgrade only installs what fits without removing anything.

If the kernel was updated, reboot now and log back in before continuing. Then remove packages that are no longer needed:

bashsudo apt --purge autoremove

Run do-release-upgrade and Handle Prompts During the Upgrade

The do-release-upgrade command works for both desktop and server upgrades. It is included in the ubuntu-release-upgrader-core package, which is installed by default on most Ubuntu systems.

Check the Prompt setting in /etc/update-manager/release-upgrades before running the upgrade. This setting controls which releases the tool will offer:

  • Prompt=normal: any newer Ubuntu release
  • Prompt=lts: LTS releases only via Canonical’s LTS metadata
  • Prompt=never: upgrades blocked entirely

On Ubuntu 25.10, the value must be Prompt=normal. With Prompt=lts, the tool consults Canonical’s LTS metadata, which does not list Ubuntu 26.04 as available until the 26.04.1 point release — so interim releases see nothing:

bashgrep ^Prompt /etc/update-manager/release-upgradessudo sed -i 's/^Prompt=.*/Prompt=normal/' /etc/update-manager/release-upgrades

If upgrading over SSHdo-release-upgrade opens a backup SSH daemon on port 1022 in case the main session drops. Open that port before starting:

bashsudo ufw allow 1022/tcp

Start the upgrade:

bashsudo do-release-upgrade

The tool runs inside a GNU screen session, so an SSH disconnection does not kill the process. Reconnect and run sudo screen -r to re-attach.

During the upgrade, you will be prompted several times:

  • “Restart services automatically?” → type y
  • Config file conflicts → type d to review the diff before deciding; keep local customizations only after confirming you still need them
  • “Remove obsolete packages?” → type d to review the list, then y to proceed
  • “Restart now?” → type y

Upgrading from Ubuntu 24.04 LTS and Verifying the Upgrade

Ubuntu 24.04 systems are not offered Ubuntu 26.04 immediately after release. Canonical opens the LTS-to-LTS upgrade path only after the first point release, Ubuntu 26.04.1 (scheduled August 27, 2026), to detect and fix upgrade blockers before the broad rollout. Running sudo do-release-upgrade on a current 24.04 system returns “No new release found” — this is expected, not a broken system.

To evaluate the upgrade early on a test or non-production system, Canonical documents the -d flag:

bashsudo do-release-upgrade -d

Do not use -d on production servers. Wait for 26.04.1 on machines you cannot easily restore.

After the upgrade completes, remove the temporary firewall rule if you added it:

bashsudo ufw delete allow 1022/tcp

Verify the upgrade:

bashlsb_release -auname -r

The Description should show Ubuntu 26.04 LTS and the kernel version should be 7.0.x.

Ubuntu 26.04 is now running. Re-enable any third-party repositories you disabled before the upgrade, verify critical services are healthy, and review the official Ubuntu 26.04 release notes for known issues. Leave a comment below if you run into any problems.