A half-finished release upgrade is recoverable without reinstalling. Force-quitting the frozen updater left roughly two thousand packages unpacked but unconfigured, which is why the graphical tools now hang while the terminal reports a massive backlog of pending upgrades. Resume the interrupted work with sudo dpkg --configure -a, repair any dependency damage with sudo apt-get install -f, then complete the move to 26.04 with sudo apt-get dist-upgrade. Avoid rebooting until the configuration phase finishes.
What force-quitting actually did
Debian-style package management happens in two phases. First dpkg unpacks each .deb archive onto disk; afterwards it configures the packages by running their post-installation scripts and triggers. A release upgrade unpacks and configures thousands of packages, so for a long stretch the system is intentionally in a mixed state.
The dialog you force-quit was the graphical frontend, not the package manager itself. A window reporting that "Resolute" (the 26.04 codename) is not responding usually means a background script or a configuration-file prompt blocked the updater's event loop. Killing the window stopped the upgrade midway: packages half-installed, dependencies unresolved, the release only partly switched.
You can confirm this from a terminal:
dpkg --audit
apt list --upgradable | wc -l
The first command lists packages stranded between unpacked and configured. The second shows how much of the upgrade is still pending. The graphical Software Updater hangs because it cannot cope with this inconsistent state; apt in a terminal can.
Step 1: finish configuring the half-installed packages
Run these two commands in sequence and let each one run to completion:
sudo dpkg --configure -a
sudo apt-get install -f
dpkg --configure -a walks through every package that was unpacked but never configured and finishes the job: post-installation scripts, triggers, and database entries. With a backlog this large it can run for well over half an hour. As long as the disk is busy it is making progress, so do not interrupt it.
apt-get install -f then repairs whatever dependency breakage remains, installing or removing packages until the system is consistent again. If either command reports a specific package failing, note its name for the troubleshooting step below.
Step 2: complete the upgrade to 26.04
Once dpkg has no pending work, refresh the package lists and finish the release transition:
sudo apt update
sudo apt-get dist-upgrade
A plain apt upgrade never installs new packages or removes old ones, which is not enough for a release upgrade where dependencies change wholesale. dist-upgrade (equivalently apt full-upgrade) is allowed to add and remove packages, so it pulls in whatever the 26.04 package set requires. Keep your existing configuration files when prompted unless you have a reason to take the packaged default.
When it finishes, reboot and verify the result:
lsb_release -a
It should report 26.04, and the list of upgradable packages should be nearly empty.
If the recovery stalls
- Disk space. Run
df -h. A release upgrade needs several gigabytes free on the root filesystem; clear old kernels and cached archives withsudo apt autoremoveandsudo apt cleanif space is tight. - Third-party repositories. PPAs built for 24.04 can block the transition. Disable them in Software & Updates or move the files in
/etc/apt/sources.list.d/aside, then re-run the recovery commands. - One stubborn package. If
dpkg --configure -akeeps failing on the same package, check/var/log/dpkg.logfor the exact error, then trysudo apt-get install --reinstall <package>, or remove that package and re-run the recovery. - Non-interactive run. If repeated configuration-file prompts get in the way,
sudo apt-get -o Dpkg::Options::="--force-confold" dist-upgradekeeps your existing files instead of asking, though you lose the chance to review each change. - Unusable desktop. Switch to a text console with Ctrl+Alt+F3 and run the recovery there; the package tools do not need a GUI.
Preventing a repeat next time
- Run release upgrades from a terminal with
sudo do-release-upgradeinsidetmuxorscreen. If the window or session dies, the upgrade survives and you can reattach to it. - Never force-quit an upgrade. Switch to another console and inspect what is actually running with
ps aux | grep -E 'apt|dpkg'before deciding the process is stuck. - Do the pre-flight work: fully update 24.04, reboot, free disk space, take a backup, and disable third-party repositories before starting.
Frequently Asked Questions
Is it dangerous if the machine was rebooted during the upgrade?
Not fatal, but finish the pending configuration before rebooting whenever you can. A half-configured system may come up without a display manager or network. If a reboot already happened, log into a text console and run the same recovery commands.
Why dist-upgrade instead of apt upgrade?
apt upgrade only updates packages whose dependencies are already satisfied. A release upgrade changes dependencies wholesale, so packages must be added and removed; dist-upgrade or full-upgrade is what permits that.
How long should dpkg --configure -a take?
Anywhere from minutes to over an hour with a two-thousand-package backlog. Watch disk activity or tail /var/log/dpkg.log to confirm it is still making progress.
How do I confirm I am actually on 26.04 now?
Run lsb_release -a or read /etc/os-release. Also check that apt list --upgradable is short and that sudo apt update completes without errors.
Can I just wipe and reinstall instead?
Only if recovery fails after the steps above. In practice, resuming the configuration and finishing with dist-upgrade resolves the vast majority of interrupted upgrades while preserving your files and installed applications.
Should I use the graphical updater for the next release?
It works, but it hides what is happening and offers only Wait or Force Quit when a dialog stalls. A terminal upgrade with do-release-upgrade inside tmux gives you logs, prompts, and a session that survives accidents.