Ubuntu is a widely adopted open-source Linux distribution released on a predictable schedule, with Long Term Support (LTS) versions receiving security and maintenance updates for five years. Ubuntu 26.04 LTS, codenamed Resolute Raccoon, ships with the Linux 7.0 kernel, an updated set of default packages, and security improvements over Ubuntu 24.04. Upgrading an existing server carries forward your data and configurations to the newer release without requiring a fresh deployment.
This article explains how to upgrade a server from Ubuntu 24.04 LTS to Ubuntu 26.04 LTS. It covers verifying application compatibility, preparing the system, running the upgrade tool, testing the result, and resolving common post-upgrade issues.
Before you begin, you need to:
Have access to an Ubuntu 24.04 server instance as a non-root user with sudo privileges.
Ensure at least 5 GB of free disk space is available. Run the command below to check.
$ df -hOutput:
Filesystem Size Used Avail Use% Mounted on
tmpfs 96M 2.4M 93M 3% /run
/dev/vda2 23G 6.5G 16G 30% /
tmpfs 476M 0 476M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda1 511M 6.1M 505M 2% /boot/efi
tmpfs 96M 4.0K 96M 1% /run/user/0Some packages installed on Ubuntu 24.04 may not be compatible with Ubuntu 26.04, which can cause dependency conflicts or runtime errors after the upgrade. Auditing your installed software before starting reduces the chance of post-upgrade failures. Follow the steps below to export and review your package list.
Save a list of all installed packages to a file.
$ sudo dpkg --get-selections > packages-list.txtBrowse the exported package list.
$ cat packages-list.txt | moreReview the official Ubuntu 26.04 release notes to identify any known incompatible dependencies or removed packages.
Upgrading all existing packages before starting the release upgrade minimizes the risk of conflicts introduced by outdated software. Follow the steps below to bring the system up to date and remove unnecessary packages.
Confirm the server is running Ubuntu 24.04.
$ cat /etc/os-releaseUpdate the package information index.
$ sudo apt updateUpgrade all installed packages to their latest available versions.
$ sudo apt upgrade -yIf the system displays the following kernel warning after upgrading, restart the server before continuing.
Pending kernel upgrade!
Running kernel version:
6.8.0-107-generic
Diagnostics:
The currently running kernel version is not the expected kernel version 6.8.0-111-generic.
Restarting the system to load the new kernel will not be handled automatically, so you should consider rebooting.$ sudo rebootRemove packages that are no longer needed.
$ sudo apt autoremove -yClear the local package cache.
$ sudo apt autocleanThe do-release-upgrade tool starts an auxiliary SSH daemon on port 1022 during the upgrade. This fallback connection allows you to reconnect if the primary SSH session drops mid-upgrade. Follow the steps below to open this port in the firewall before launching the upgrade.
Allow port 1022 through UFW.
$ sudo ufw allow 1022/tcpReload UFW to activate the new rule.
$ sudo ufw reloadVerify that port 1022 appears in the active ruleset.
$ sudo ufw statusOutput:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
1022/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
1022/tcp (v6) ALLOW Anywhere (v6)With the server prepared, launch the release upgrade tool to begin the transition to Ubuntu 26.04 LTS. The tool downloads updated packages, asks you to resolve configuration file conflicts, and restarts the server when the upgrade is complete. Follow the steps below to run the upgrade.
Launch the release upgrade tool.
$ sudo do-release-upgrade -dEnter y and press Enter when prompted to confirm the upgrade to Ubuntu 26.04 LTS.
Checking for a new Ubuntu release
= Welcome to Ubuntu 26.04 LTS 'Resolute Raccoon' =
The Ubuntu team is proud to announce Ubuntu 26.04 LTS 'Resolute Raccoon'.
To see what's new in this release, visit:
https://discourse.ubuntu.com/t/resolute-raccoon-release-notes
Ubuntu is a Linux distribution for your desktop or server. It is fast
and easy to install, it has regular releases, a tight selection of
excellent applications installed by default, and almost any other
software you can imagine available through the network.
We hope you enjoy Ubuntu.
== Feedback and helping ==
To help shape Ubuntu, look at the list of ways to participate at:
https://documentation.ubuntu.com/project/community/contribute/
...
To sign up for future Ubuntu announcements, subscribe to Ubuntu's very
low-volume announcement list:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-announce
Continue [yN]Enter y and press Enter to allow the upgrade tool to open an auxiliary SSH daemon on port 1022.
Reading cache
Checking package manager
Continue running under SSH?
This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.
If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?
Continue [yN]Press Enter to acknowledge the auxiliary SSH daemon notice and proceed.
Starting additional sshd
To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'
To continue please press [ENTER]Enter y and press Enter to begin downloading and installing the upgrade packages.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Do you want to start the upgrade?
7 packages are going to be removed. 164 new packages are going to be
installed. 948 packages are going to be upgraded.
You have to download a total of 1,712 M. This download will take
about 5 minutes with a 40Mbit connection and about 45 minutes with a
5Mbit connection.
Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be canceled.
Continue [yN] Details [d]Use the arrow keys to select the country of origin for your keyboard and press Enter when the Configuring keyboard-configuration dialog appears.
Use the arrow keys to select the specific keyboard layout variant for your country and press Enter to confirm.
Press Enter to select N and keep the existing /etc/systemd/journald.conf file when prompted.
Configuration file '/etc/systemd/journald.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** journald.conf (Y/I/N/O/D/Z) [default=N] ?Select keep the local version currently installed and press Enter when the upgrade tool prompts about /etc/ssh/sshd_config.
Select keep the local version currently installed and press Enter when prompted about /etc/default/grub.
Press Enter to select N and keep the current /etc/cloud/cloud.cfg file.
Configuration file «/etc/cloud/cloud.cfg»
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** cloud.cfg (Y/I/N/O/D/Z) [default=N] ?Enter d to review the list of obsolete packages, then enter y and press Enter to remove them.
update-initramfs: Generating /boot/initrd.img-7.0.0-15-generic
...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Searching for obsolete software
Reading state information... Done
Remove obsolete packages?
109 packages are going to be removed.
Removing the packages can take several hours.
Continue [yN] Details [d]Wait for the upgrade to complete — the process typically takes 30 minutes or longer depending on the packages installed on the server. Enter y and press Enter when prompted to restart.
All snaps up to date.
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]After the server restarts, confirm that the upgrade succeeded and the system is running Ubuntu 26.04 LTS. Follow the steps below to verify the distribution version, kernel, and firewall configuration.
Display the active distribution information.
$ cat /etc/os-releaseOutput:
PRETTY_NAME="Ubuntu 26.04 LTS"
NAME="Ubuntu"
VERSION_ID="26.04"
VERSION="26.04 (Resolute Raccoon)"
VERSION_CODENAME=resolute
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=resolute
LOGO=ubuntu-logoCheck the running kernel version.
$ uname -mrsOutput:
Linux 7.0.0-15-generic x86_64Remove the temporary UFW rule for port 1022.
$ sudo ufw delete allow 1022/tcpThird-party APT repositories configured on the server may still reference the Ubuntu 24.04 (Noble Numbat) codename and fail to fetch updates until they are corrected. Follow the steps below to inspect repository sources and update all packages.
List the files in the APT sources directory.
$ ls /etc/apt/sources.list.dOutput:
docker.list.disabled ubuntu.sources ubuntu.sources.curtin.origUpdate any repository files that still reference the Ubuntu 24.04 codename to use the Ubuntu 26.04 sources instead.
Refresh the package information index.
$ sudo apt updateOutput:
Hit:1 http://ubuntu.mirror.constant.com resolute InRelease
Hit:2 http://ubuntu.mirror.constant.com resolute-updates InRelease
Hit:3 http://ubuntu.mirror.constant.com resolute-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu resolute-security InRelease
All packages are up to date.Verify that all repository entries reference resolute rather than noble.
Apply any available package upgrades.
$ sudo apt upgradeOutput:
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0Remove unused packages and clear the package cache.
$ sudo apt autoremove -y && sudo apt autocleanOutput:
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Del linux-headers-6.8.0-111 6.8.0-111.111 [13.7 MB]
Del linux-modules-6.8.0-111-generic 6.8.0-111.111 [39.2 MB]
Del linux-image-6.8.0-111-generic 6.8.0-111.111 [14.8 MB]
Del linux-modules-extra-6.8.0-111-generic 6.8.0-111.111 [113 MB]
...You have upgraded your server from Ubuntu 24.04 LTS to Ubuntu 26.04 LTS (Resolute Raccoon). The system now runs the Linux 7.0 kernel with updated packages, security patches, and the improvements introduced in this LTS release. For more information about new features and upgrade considerations, visit the official Ubuntu 26.04 release notes.