do-release-upgrade
Upgrade to the newest Linux distribution release
TLDR
Upgrade to the latest release
Upgrade to the latest development release
Upgrade to the latest proposed release
SYNOPSIS
do-release-upgrade [-d | --devel] [-p | --proposed] [-m MODE | --mode=MODE] [--allow-third-party]
PARAMETERS
-d, --devel
Upgrade to the latest development release (unstable)
-p, --proposed
Include proposed pocket in upgrade search
-m MODE, --mode=MODE
Run in specific mode: desktop (default), server, or lxd
--allow-third-party
Allow upgrading third-party drivers and applications
DESCRIPTION
The do-release-upgrade command is a utility script in Ubuntu Linux distributions for performing a distribution upgrade to the next stable release. It is part of the ubuntu-release-upgrader-core package and provides a safe, automated way to upgrade the entire system, including kernel, libraries, and applications.
It first checks the Meta-Release server (http://changelogs.ubuntu.com/meta-release) to determine if a new release is available. If so, it downloads the necessary upgrade tools, configures package sources to point to the new release's repositories, performs a simulated upgrade to check for issues, and then executes the actual upgrade using apt mechanisms like dist-upgrade. The process includes handling held packages, obsolete packages, and third-party repositories.
Designed for desktop use via update-manager, it can also be run from the command line. Upgrades are conservative, prompting for confirmation at key steps and preserving user data. It's recommended for LTS to LTS upgrades or interim releases. The process can take several hours depending on system size and internet speed.
CAVEATS
Backup data before running; requires stable internet; avoid on production servers without testing; interrupts may require manual recovery; not for downgrades.
USAGE EXAMPLE
sudo do-release-upgrade - Perform standard upgrade to next stable release.
sudo do-release-upgrade -d - Upgrade to development release.
HISTORY
Introduced in Ubuntu 6.06 (Dapper Drake) as part of Update Manager. Developed by Canonical's Ubuntu release team to simplify release upgrades, replacing manual apt-get dist-upgrade methods. Evolved with support for LTS, phased updates, and server modes in later versions like 12.04+.
SEE ALSO
update-manager(1), apt(8), dist-upgrade(8)


