Upgrade from Ubuntu 24.04 to Ubuntu 25.04 with Step-by-Step Instructions
Ubuntu 25.04 delivers significant improvements tailored for modern workloads, including the Linux kernel 6.14, systemd v257.4, and an enhanced virtualization stack powered by QEMU 9.2 and libvirt 11.0. Developers benefit from the inclusion of LLVM v20, OpenJDK 24, and updated databases like MySQL 8.4 and PostgreSQL 17. System security is strengthened through broader AppArmor profile coverage and Chrony with NTS for secure timekeeping. Transitioning from Ubuntu 24.04 to 25.04 brings enhanced performance, modern development tools, and improved protection.
This guide outlines how to upgrade first from Ubuntu 24.04 LTS to Ubuntu 24.10 Non-LTS, followed by Ubuntu 24.10 to Ubuntu 25.04 Non-LTS. It focuses on updating your system and ensuring application compatibility throughout the process.
Requirements Before Upgrading
Before proceeding with the upgrade, make sure to:
- Access your Ubuntu 24.04 instance using a non-root sudo-enabled user account.
- Ensure that at least 5GB of available disk space exists on your system.
Check Available Disk Space
Run the command below to verify free space:
$ df -h
Expected output might look like this:
Filesystem Size Used Avail Use% Mounted on
tmpfs 794M 1.3M 793M 1% /run
efivarfs 256K 23K 229K 10% /sys/firmware/efi/efivars
/dev/vda2 150G 13G 131G 9% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda1 511M 6.2M 505M 2% /boot/efi
tmpfs 794M 12K 794M 1% /run/user/1001
Verify Application Compatibility
Ensure your installed software packages will work correctly with Ubuntu 25.04. Compatibility issues can cause runtime errors or package conflicts. Use the steps below to audit your installed applications.
List Installed Packages
$ sudo dpkg --get-selections > packages-list.txt
Review the Package List
$ cat packages-list.txt | more
Visit the official documentation of each application to confirm support for Ubuntu 25.04. Additionally, refer to the 25.04 release notes to find known issues and breaking changes that might impact your setup.
System Preparation for Upgrade
Before launching the upgrade process, ensure all APT repositories are current and all packages are up to date.
Confirm Your Current Version
$ cat /etc/os-release
You should see an output resembling this:
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
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=noble
LOGO=ubuntu-logo
Update APT Repositories
$ sudo apt update
Upgrade All Installed Packages
$ sudo apt upgrade -y
Reboot the System
$ sudo reboot
Remove Unused Packages
$ sudo apt autoremove -y
Clean Local Package Cache
$ sudo apt autoclean
Allow Temporary SSH Port During Upgrade
During the upgrade, the system might enable fallback SSH access via port 1022. This is a precaution in case your primary SSH connection is lost. To enable this, open the port in your firewall as follows.
Open Port 1022
$ sudo ufw allow 1022/tcp
Apply Firewall Rule Changes
$ sudo ufw reload
Verify Firewall Status
$ sudo ufw status
Your output should resemble the following:
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)
Validate Your Ubuntu 25.04 Upgrade
After completing the upgrade to Ubuntu 25.04, it’s essential to confirm that the system is stable and all packages were updated properly. Use the steps below to perform verification checks.
Check Current OS Version
Use the following command to confirm the active Ubuntu version:
$ cat /etc/os-release
The output should resemble:
PRETTY_NAME="Ubuntu 25.04"
NAME="Ubuntu"
VERSION_ID="25.04"
VERSION="25.04 (Plucky Puffin)"
VERSION_CODENAME=plucky
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=plucky
LOGO=ubuntu-logo
This confirms the system has been upgraded successfully to Ubuntu 25.04.
Verify the Installed Kernel Version
Use this command to check the active kernel:
$ uname -mrs
Expected result:
Linux 6.14.0-15-generic x86_64
Remove Temporary SSH Port 1022
If you had enabled fallback SSH access via port 1022, remove that rule:
$ sudo ufw delete allow 1022/tcp
Fix Post-Upgrade Issues
After the upgrade, it’s important to confirm that all software repositories are aligned with the new release and that package issues are addressed. Use the steps below for post-upgrade cleanup and validation.
Review Existing APT Sources
List current APT sources to identify any third-party entries:
$ ls /etc/apt/sources.list.d
Example output:
docker.list ubuntu.sources ubuntu.sources.curtin.orig
Check each repository file and ensure they are updated for Ubuntu 25.04.
Refresh Package Index
$ sudo apt update
Upgrade Packages After Update
$ sudo apt upgrade
Remove Unused Packages
$ sudo apt autoremove -y && sudo apt autoclean
Conclusion
You have now completed the upgrade from Ubuntu 24.04 LTS to Ubuntu 25.04 Non-LTS using the do-release-upgrade -d
method. This included reviewing upgrade prompts, allowing restarts, confirming the system version and kernel, and performing post-upgrade maintenance. Third-party repositories were also aligned with the new version. Note that Ubuntu 25.04 offers only nine months of support, so be sure to plan subsequent upgrades to keep your system secure and compatible. For more guidance, refer to Ubuntu’s official server upgrade documentation.