Use do-release-upgrade to move Ubuntu to a new release. Use apt to update software inside the release you already have. That is the clean rule. Ubuntu’s own server upgrade guide uses sudo do-release-upgrade for moving between Ubuntu versions [source: Ubuntu].

TLDR: do-release-upgrade is the safer tool for jumping from Ubuntu 22.04 to 24.04, or from 23.10 to 24.04. apt update and apt upgrade are for normal package updates, like getting a newer Firefox build or kernel patch. Example: if a laptop has 2,100 packages and 5 third party PPAs, do-release-upgrade can pause, warn you, and disable risky sources before the big move. Doing the same by editing APT files by hand can turn a 45 minute job into a sad two hour cleanup.

Two tools. Two jobs.

Ubuntu upgrades can sound like soup.

There is apt update. There is apt upgrade. There is apt full-upgrade. Then there is do-release-upgrade.

They all sound like they should upgrade Ubuntu. Annoying, right?

But they are not the same.

Think of APT as the mechanic who changes tires, oil, and brake pads. Think of do-release-upgrade as the person who moves your whole car to a new model year. Similar garage. Very different job.

What APT actually does

APT stands for Advanced Package Tool. It is the everyday workhorse on Ubuntu.

You use it like this:

APT is great. It is fast. It is boring in the best way.

But APT does not plan a full Ubuntu release upgrade by itself. It does not politely check your upgrade path. It does not read Ubuntu release rules for you. It does not manage all the messy bits that happen when moving from one Ubuntu version to another.

What do-release-upgrade does

do-release-upgrade is the official upgrade manager for Ubuntu releases.

It does a pile of checks before it starts breaking furniture.

Honestly, it feels like the tool was built after years of users doing weird things with sources.list. Because yes, we have all been tempted.

The big mistake: editing APT sources by hand

Some users try this move:

  1. Open /etc/apt/sources.list.
  2. Replace jammy with noble.
  3. Run sudo apt update.
  4. Run sudo apt full-upgrade.
  5. Hope the screen does not turn into a crime scene.

Can this work?

Sometimes. On very simple systems. With clean sources. With no weird PPAs. With no drivers. With luck.

Should you do it?

No, not for a normal Ubuntu system.

Manual APT release upgrades skip helpful checks. They can leave old packages behind. They can pull packages from the wrong place. They can mix old and new release files. That is how you get a system that boots, but feels cursed.

Expect to waste time on tiny errors like held packages, broken drivers, or a desktop that logs in to a black screen. It is not fun. It is not brave. It is just unpaid sysadmin cosplay.

When to use each command

Use this simple table.

Task Best tool Example
Install security updates apt sudo apt update && sudo apt upgrade
Install a new app apt sudo apt install htop
Move from Ubuntu 22.04 LTS to 24.04 LTS do-release-upgrade sudo do-release-upgrade
Move from Ubuntu 23.10 to 24.04 do-release-upgrade sudo do-release-upgrade
Fix broken package installs apt sudo apt --fix-broken install

A safe release upgrade flow

Here is the simple path. Do this before a release upgrade.

  1. Back up your files. Yes, really.
  2. Install current updates with sudo apt update.
  3. Then run sudo apt upgrade.
  4. Reboot if a kernel update landed.
  5. Remove junk packages with sudo apt autoremove.
  6. Start the release upgrade with sudo do-release-upgrade.

On a server, use tmux or screen. A lost SSH session during an upgrade is pure pain. It is the kind of pain that makes coffee taste like regret.

If you run an LTS release, you may not see the next LTS upgrade right away. Ubuntu often waits for the first point release before offering it to many LTS users. That helps dodge early upgrade bugs. Boring? Yes. Sensible? Also yes.

What about apt dist-upgrade?

This one confuses people.

apt dist-upgrade and apt full-upgrade can remove or install packages to complete upgrades. They are powerful. They are useful.

But they still work inside the package system. They do not replace do-release-upgrade.

So yes, do-release-upgrade may use APT behind the scenes. That does not mean you should skip the manager and drive the engine with a spoon.

Common user story

Meet Sam.

Sam has Ubuntu 22.04 LTS on a work laptop. It has Docker, VS Code, a graphics driver, and three PPAs. Sam wants Ubuntu 24.04 LTS.

If Sam uses apt by hand, the PPAs may still point to the old release. One may not support the new release at all. A graphics package may block the upgrade. Sam may spend Friday night reading error messages. Nobody wants that.

If Sam uses do-release-upgrade, the tool disables many third party sources, shows package changes, and gives Sam a chance to stop. It is still not magic. But it is a seatbelt.

Before you press Enter

Check three boring things first.

Also check PPAs. If you rely on a special app repo, see if it supports the target Ubuntu version. If not, remove it now. Future you will be less grumpy.

Best rule

Use APT for normal updates.

Use do-release-upgrade for Ubuntu release upgrades.

That one rule saves time. It prevents weird package mixes. It keeps the upgrade process closer to what Ubuntu expects. You still need backups. You still need patience. But you are using the right tool for the job, and that matters.

If you remember nothing else, remember this: APT updates the house. do-release-upgrade moves you to a new house.