How To Upgrade from Ubuntu 24.04 LTS To 26.04 LTS

Upgrade from Ubuntu 24.04 LTS to 26.04 LTS

Ubuntu 26.04 LTS “Resolute Raccoon” landed on April 23, 2026, and if you are still running Ubuntu 24.04 LTS “Noble Numbat” on your desktop or server, the upgrade path is officially open. Staying on an older release is not automatically wrong — Ubuntu 24.04 LTS is still supported until April 2029 — but moving to 26.04 LTS puts you on a system that gets five years of fresh security patches, Linux kernel 7.0, and all the improvements that shipped across three interim releases since 2024.

This Linux server tutorial walks you through the complete process to upgrade from Ubuntu 24.04 LTS to 26.04 LTS using the official command-line tool, from pre-flight checks to post-upgrade validation. Every step includes an explanation of why it matters, not just what to type — because understanding a command is what separates an administrator who recovers gracefully from one who scrambles when things go sideways.

By the end of this guide you will have a clean, fully functional Ubuntu 26.04 LTS system with zero guesswork. The process typically takes between 30 and 90 minutes depending on your internet connection and hardware.

What Makes Ubuntu 26.04 LTS Worth Upgrading To

Before touching a single command, it helps to understand what you are actually gaining. Ubuntu 26.04 LTS “Resolute Raccoon” is a Long-Term Support release, which means Canonical commits to five years of security updates and critical bug fixes — support runs until April 2031. With an Ubuntu Pro subscription, that window extends to ten years through Expanded Security Maintenance.

Here is what changes under the hood when you move from 24.04 to 26.04:

  • Linux kernel 7.0, replacing kernel 6.8 that shipped with Ubuntu 24.04 LTS — better support for AMD Zen 5, Intel Arrow Lake CPUs, Wi-Fi 7 adapters, and modern NVMe hardware
  • Two years of cumulative improvements from Ubuntu 24.10, 25.04, and 25.10 land in one upgrade, covering scheduler improvements, memory management fixes, and I/O stack optimizations
  • Mesa 26.0.x for improved open-source GPU performance and better Wayland stability
  • Fresher upstream versions of Python, GCC, OpenSSL, and systemd — versions that Canonical does not backport to 24.04
  • A longer support runway: Ubuntu 24.04 LTS reaches end-of-life in April 2029; 26.04 LTS buys you until April 2031

The practical reason most sysadmins upgrade proactively is simple: a planned migration on your schedule is always cleaner than a forced one under deadline pressure when an older release hits end-of-life.

Understanding the Ubuntu LTS Upgrade Path

Ubuntu enforces a sequential upgrade model. You cannot skip LTS versions — meaning a server still on Ubuntu 22.04 LTS cannot jump directly to 26.04. It must pass through 24.04 LTS first, then proceed to 26.04 LTS as a separate operation.

If you are on Ubuntu 24.04 LTS, you are in the right place. This guide covers that exact path.

The upgrade channel is controlled by a single configuration file at /etc/update-manager/release-upgrades. The Prompt=lts value in that file tells the upgrade tool to only offer upgrades to the next LTS release, not to interim releases like 24.10 or 25.04. Step 3 in this guide confirms and enforces that setting before you start the upgrade.

One more important note: Canonical does not open the LTS upgrade channel until the first point release (26.04.1) ships, which typically happens several months after the initial release. Until then, you need the -d flag to access the upgrade. This is covered in Step 5.

Prerequisites Before You Start

Run through this checklist before executing any commands. Skipping these checks is the single most common reason upgrades fail halfway through.

System requirements:

  • Ubuntu 24.04 LTS fully installed and running (desktop or server)
  • At least 15 GB of free disk space on the root partition (/) for package downloads and installation
  • Active sudo or root access
  • Stable internet connection — wired Ethernet is strongly preferred for server upgrades; the process downloads 800 MB to 1.5 GB of packages

Before you touch the upgrade tool:

  • All pending system updates applied
  • No held-back or broken packages in apt
  • A verified backup of your data stored off the system (covered in Step 1)
  • A list of active third-party PPAs — the upgrade tool disables them automatically, so you need the list to restore them afterward

For remote/SSH-managed servers:

  • screen or tmux installed and active before starting the upgrade (covered in Step 5)
  • A console or out-of-band access fallback in case SSH drops

Step 1: Back Up Your System

This step is not optional for production systems. A major release upgrade replaces hundreds of core packages simultaneously. If a power cut, network failure, or unexpected package conflict hits mid-process, the system may not boot. A backup is your only guaranteed path to recovery.

Option A: Timeshift or Clonezilla (Recommended for Desktops)

Both tools create a full system snapshot that restores in minutes. If you have Timeshift installed, create a snapshot before proceeding.

Option B: tar Archive (CLI / Server-Friendly)

sudo tar czf /backup-2404lts.tar.gz \
     --exclude=/backup-2404lts.tar.gz \
     --exclude=/dev \
     --exclude=/run \
     --exclude=/mnt \
     --exclude=/proc \
     --exclude=/sys \
     --exclude=/tmp \
     --exclude=/media \
     --exclude=/lost+found \
     /

What this does: Creates a compressed .tar.gz archive of the entire filesystem.

Why each --exclude flag matters: The directories /dev, /proc, /sys, and /run are virtual filesystems that exist only in memory — they have no real data to archive. Excluding /tmp and /media keeps the archive clean by dropping ephemeral and mount-point data. Without these exclusions, the archive grows unnecessarily large and may include unstable runtime files.

After the archive is created, move it off the system immediately:

# Move to external drive, NAS, or remote server
scp /backup-2404lts.tar.gz user@remote-server:/backups/

A backup stored on the same physical disk does not protect you against disk failure. Store it somewhere independent.

Step 2: Fully Update Ubuntu 24.04 LTS

Before running the upgrade tool, bring your current system to a fully patched state. The do-release-upgrade tool calculates dependency resolution based on your current package state — unresolved upgrades or held packages cause the tool to abort or install a broken dependency chain.

Run these commands in sequence:

sudo apt update

What it does: Refreshes the local package index from all configured repositories.

Why it matters: Without this, apt works from a stale index and may miss recent package versions.

sudo apt upgrade -y

What it does: Installs all pending upgrades without adding or removing packages.

Why it matters: This resolves all known updates before the upgrade tool takes over, giving it the cleanest possible starting point.

sudo snap refresh

What it does: Updates all installed Snap packages.

Why it matters: The do-release-upgrade tool does not manage Snap packages. Leaving stale Snaps creates version mismatches post-upgrade.

sudo apt autoremove --purge

What it does: Removes orphaned dependency packages and their configuration files.

Why it matters: Orphaned packages from previous updates increase the upgrade surface unnecessarily and occasionally trigger dependency conflicts.

After these commands complete with no errors, reboot the system:

sudo reboot

Why reboot now: If apt upgrade updated the kernel or core libraries, running processes still use the old binaries loaded in memory. A reboot forces the system to start clean on the updated stack, which prevents version mismatches when the upgrade tool runs.

Step 3: Configure the Release Upgrade Prompt

After rebooting, verify that the upgrade tool is configured to follow the LTS upgrade channel. This is a quick check that takes less than one minute and prevents the upgrade tool from offering the wrong release or finding nothing at all.

Check the current configuration:

cat /etc/update-manager/release-upgrades

Expected output:

[DEFAULT]
Prompt=lts

If the Prompt line reads normal or never, correct it:

sudo sed -i 's/Prompt=.*/Prompt=lts/' /etc/update-manager/release-upgrades

What this does: Uses sed to find and replace the Prompt= value in the file in-place, without opening a text editor.

Why the three values matter:

  • Prompt=lts — only offers upgrades to the next LTS release; correct for production systems
  • Prompt=normal — offers every six-month interim release; appropriate only for bleeding-edge desktops
  • Prompt=never — disables all upgrade prompts entirely

For servers managed with Ansible, Puppet, or Chef, enforce Prompt=lts as a configuration management policy to prevent team members from accidentally running an interim upgrade.

Step 4: Install the Upgrade Manager Tool

The update-manager-core package provides the do-release-upgrade binary that drives the entire upgrade process. On Ubuntu Desktop installations it is typically pre-installed. On minimal server installations it may be missing. Either way, refreshing the package ensures you have the latest version with current upgrade metadata.

sudo apt install update-manager-core -y

Verify the tool can reach Canonical’s upgrade metadata servers before starting the real upgrade:

sudo do-release-upgrade --check-dist-upgrade-only

What it does: Contacts Canonical’s upgrade infrastructure and reports whether an upgrade is available, without actually starting the upgrade process.

Why verify first: A proxy issue, DNS failure, or firewall rule caught at this stage is straightforward to fix. The same problem discovered mid-upgrade, after the package database has already been switched to 26.04 repositories, can leave the system in an inconsistent state requiring manual recovery.

Step 5: Run the Upgrade from Ubuntu 24.04 LTS to 26.04 LTS

This is the core step in the process to upgrade from Ubuntu 24.04 LTS to 26.04 LTS. Read this section fully before executing the command.

For Remote / SSH-Managed Servers: Start a screen Session First

This is not optional for remote systems. If your SSH connection drops after the upgrade has already switched the package sources and started installing packages, the process dies mid-installation — leaving the system potentially unbootable.

sudo apt install screen -y
screen -S ubuntu-upgrade

What this does: Creates a persistent terminal session named ubuntu-upgrade that continues running on the server even if your SSH connection is interrupted.

If your SSH session drops during the upgrade: Reconnect via SSH and run screen -r ubuntu-upgrade to reattach to the session. The upgrade will still be running.

Run the Upgrade Command

sudo do-release-upgrade -d

What the -d flag does: Forces the upgrade tool to check Canonical’s development/latest channel. This flag is currently required because Canonical does not open the standard LTS upgrade channel until 26.04.1 ships. The -d flag is safe to use — Ubuntu 26.04 LTS is a fully released, stable version.

Once 26.04.1 is available on the regular LTS channel, the standard command without the -d flag will work:

sudo do-release-upgrade

What Happens During the Upgrade

The tool runs through these stages automatically:

  1. Checks your current system state and prerequisites
  2. Switches all entries in /etc/apt/sources.list from Ubuntu 24.04 (“noble”) to Ubuntu 26.04 (“resolute”) repositories
  3. Displays a package summary: number of packages to install, upgrade, and remove
  4. Downloads all required packages
  5. Installs packages and handles service restarts

At the service restart prompt: Select Yes when asked whether services should be restarted automatically. This keeps the upgrade smooth and avoids a chain of individual service prompts for every affected daemon.

At the configuration file prompt: If the tool detects a locally modified config file (common with SSH, Nginx, MySQL, or Postfix), it pauses and asks what to do. On servers with custom configurations, choose Keep the local version currently installed and review the maintainer’s new defaults manually after the upgrade.

At the “Remove obsolete packages?” prompt: Confirm with y. Packages from Ubuntu 24.04 that have no equivalent in 26.04 are left behind otherwise, wasting disk space and occasionally creating security exposure from unmaintained old library versions.

Step 6: Reboot and Verify the Upgrade

When the upgrade finishes, the tool will prompt you to reboot. Confirm:

# The upgrade tool prompts this automatically — confirm with y
# Or reboot manually:
sudo reboot

Why a reboot is mandatory: The upgrade replaced the kernel, systemd, and core C libraries. Every currently running process still belongs to the old Ubuntu 24.04 stack loaded in memory. Without a reboot, the new system cannot fully initialize and some services will behave unexpectedly or fail.

After logging back in, confirm the upgrade succeeded:

lsb_release -a

Expected output:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 26.04 LTS
Release:        26.04
Codename:       resolute

Confirm the new kernel is active:

uname -r

You should see a kernel version starting with 7.0.

Run one final update pass to catch any packages the upgrade tool missed:

sudo apt update && sudo apt upgrade -y
sudo apt autoremove --purge
sudo snap refresh

Post-Upgrade Checklist

The upgrade gets the OS to 26.04, but it does not validate your applications or custom configurations. Run through this checklist before putting the system back into production:

  1. Re-enable third-party PPAs: Open /etc/apt/sources.list.d/ and look for lines commented out with # disabled on upgrade to resolute. Manually un-comment repos that have 26.04-compatible packages available.
  2. Check GPU drivers: If you use proprietary Nvidia drivers, verify they loaded correctly:
    nvidia-smi

    AMD GPU users can confirm with glxinfo | grep "OpenGL renderer".

  3. Test critical services: Databases, web servers, and custom application stacks should be smoke-tested before declaring the upgrade complete.
    sudo systemctl status nginx
    sudo systemctl status mysql
  4. Scan for boot-time errors:
    journalctl -p err -b

    This filters the system journal for error-level messages from the current boot session. Address any unfamiliar errors before continuing.

  5. Confirm Ubuntu Pro status (if enrolled):
    pro status

Troubleshooting Common Upgrade Errors

Error 1: “No new release found”

Cause: The LTS upgrade channel is not yet open (26.04.1 has not shipped) or Prompt is misconfigured.

Fix: Use the -d flag to access the latest channel:

sudo do-release-upgrade -d

Also confirm Prompt=lts is set in /etc/update-manager/release-upgrades.

Error 2: “Could not calculate the upgrade” or Broken Packages

Cause: Unresolved dependencies or held packages exist from before the upgrade.

Fix:

sudo apt -f install
sudo dpkg --configure -a
sudo apt autoremove --purge
sudo do-release-upgrade -d

Run these in order. The -f flag tells apt to fix broken dependencies; dpkg --configure -a resumes any packages stuck in a half-configured state.

Error 3: Third-Party Repository Conflicts

Cause: A PPA or external repository does not have packages compatible with Ubuntu 26.04, blocking dependency resolution.

Fix: Identify and disable all third-party repositories before upgrading:

sudo add-apt-repository --remove ppa:repository-name/ppa

Re-add them after the upgrade once you confirm 26.04-compatible versions exist.

Error 4: SSH Session Drops Mid-Upgrade

Cause: Network interruption kills the terminal session and the upgrade process with it.

Fix: Reconnect via SSH and run:

screen -r ubuntu-upgrade

If the screen session ended because the upgrade process exited, resume the interrupted installation:

sudo dpkg --configure -a
sudo apt -f install

This is why starting a screen session before the upgrade is so important.

Error 5: System Drops to initramfs After Reboot

Cause: The new kernel cannot find the root filesystem — usually a missing or mismatched initramfs image.

Fix: At the initramfs prompt, run:

update-initramfs -u -k all
exit

If the system cannot proceed from the initramfs prompt, boot from an Ubuntu 26.04 LTS live USB, mount the broken installation, chroot into it, and run:

sudo mount /dev/sdX1 /mnt
sudo chroot /mnt
update-initramfs -u -k all

Replace /dev/sdX1 with your actual root partition.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!
r00t is a Linux Systems Administrator and open-source advocate with over ten years of hands-on experience in server infrastructure, system hardening, and performance tuning. Having worked across distributions such as Debian, Arch, RHEL, and Ubuntu, he brings real-world depth to every article published on this blog. r00t writes to bridge the gap between complex sysadmin concepts and practical, everyday application — whether you are configuring your first server or optimizing a production environment. Based in New York, US, he is a firm believer that knowledge, like open-source software, is best when shared freely. "Linux is not just an operating system. It is a philosophy — and the terminal is where that philosophy comes to life."

Related Posts