skip to content

Your fleet still runs Ubuntu 20.04 LTS, whose five-year standard support window has ended. What concretely stops happening on those machines, and what are your options?

level: seniorimportance: should knowfreq 46%

answer

  1. nothing breaks; publishing stops
  2. the risk is silent, not loud
  3. one LTS at a time, no skipping
  4. main was covered, universe never was
  5. ESM buys time, not a strategy

basics

~20 s

Nothing breaks on the day support ends, which is the danger: the release's security pocket simply goes quiet, so newly disclosed vulnerabilities in installed packages are never patched. The options are upgrading one LTS at a time, rebuilding on a current image, or buying Ubuntu Pro's ESM.

solid answer

~50 s

End of standard support is a publishing event, not a runtime one. The machines keep running and APT still works, but Canonical stops publishing fixes into that release's `-security` pocket, so every CVE disclosed afterwards stays unfixed on those boxes. Three realistic options. First, upgrade: `do-release-upgrade` moves one LTS at a time, so 20.04 goes to 22.04 and then to 24.04, and you cannot skip. Second, and usually safer for cloud or config-managed fleets, rebuild the machines from a current LTS image and redeploy, so you get a known-clean base rather than an in-place mutation. Third, attach **Ubuntu Pro** and enable ESM, which resumes security updates for main via `esm-infra` and extends coverage to universe via `esm-apps`; that buys time but is not a substitute for eventually moving. Worth noting: universe packages were never covered by the free five years anyway.

go deeper

for a junior

Know that an LTS has a five-year clock and that after it expires the machine keeps running but stops receiving security fixes. Say plainly that the fix is to move to a newer LTS.

for a middle

Explain the mechanics: which pocket goes quiet, that release upgrades go one LTS at a time, that third-party sources are disabled during an upgrade, and that end-of-life releases eventually move off the primary mirrors.

for a senior

Show production judgment — rebuild disposable machines from a current image rather than mutating them, snapshot before any in-place upgrade, and inventory which installed packages were ever covered in the first place.

for a principal

Own the policy: how often the fleet moves LTS-to-LTS, when paying for ESM is genuinely cheaper than upgrading on time, and how to stop teams from accumulating machines whose expiry nobody is tracking.

## What actually changes at end of support The end of an Ubuntu LTS's five-year standard support window is invisible from inside the machine. Nothing stops, no service refuses to start, `apt` keeps working, and the repositories usually keep serving the packages that are already there. What stops is **publishing**: Canonical's security team no longer prepares and pushes fixes into that release's `-security` pocket. From that day, every newly disclosed vulnerability in OpenSSL, the kernel, glibc, your web server or any other installed package remains unfixed on those hosts, permanently. That silence is exactly what makes it dangerous. A stale release does not page anyone. It sits there passing health checks while its exposure grows monotonically, and the only signals are external — a vulnerability scanner, a compliance auditor, or an incident. Eventually the archive itself moves: end-of-life releases are removed from the primary mirrors and relocated to the historical archive, at which point even ordinary installs start failing with 404s until the sources are repointed. That is a second, later shock, and it often arrives at the worst moment, in the middle of an emergency change. ## The support boundary you probably already crossed Ubuntu's five-year promise applies to **main** (and restricted) — the components Canonical maintains. **universe** and **multiverse** are community-maintained on a best-effort basis. A busy server usually has a meaningful share of its installed packages from universe, so "we are on a supported LTS" was never the same as "everything installed is being patched". On 22.04 and later you can see the split per package with `pro security-status`, which reports how many installed packages are covered by standard maintenance, how many would be covered by ESM, and how many nobody is patching. ## Option 1: in-place release upgrade Ubuntu's supported upgrade tool is `do-release-upgrade` (from the `ubuntu-release-upgrader` package). Two constraints govern it. First, **you cannot skip an LTS**: 20.04 upgrades to 22.04, and 22.04 upgrades to 24.04. Second, whether the upgrade is offered at all is controlled by `Prompt=` in `/etc/update-manager/release-upgrades` — set to `lts`, the machine is only offered the next LTS, and only once that target's first point release exists. An in-place upgrade is a large, stateful mutation: it rewrites the APT sources to the new series, **disables third-party repositories and PPAs**, upgrades every package, and runs every maintainer script. Configuration files you edited produce conffile prompts. Services restart. It works, and for a pet machine with irreplaceable local state it is often the right call — but do it on a snapshot or a clone first, and expect to revisit anything you installed outside the archive. ## Option 2: rebuild rather than upgrade For anything cloud-hosted, image-based or configuration-managed, replacing the machine is usually the better answer. Build a fresh instance from the current LTS image, let your provisioning re-apply the configuration, cut traffic over, destroy the old one. You end up on a base identical to every new machine you will ever build, instead of a one-off artifact carrying five years of upgrade sediment. The work is not the upgrade; the work is discovering which of your automation, package versions and configuration assumed the old release. That discovery is the same either way, and rebuilding at least lets you do it on a machine that is not yet serving traffic. ## Option 3: buy time with Ubuntu Pro / ESM **Ubuntu Pro** is Canonical's subscription (free for personal use on a small number of machines, paid otherwise). Attaching it and enabling **ESM** resumes security patching for the expired release: `esm-infra` covers main, extending an LTS's coverage to ten years, and `esm-apps` covers universe — which is a genuine upgrade in coverage even on a release that is still in its standard window. Pro also bundles Livepatch for kernel fixes without reboot, and hardening and certification tooling. ESM is the right tool when you have a real constraint — a certified appliance, a vendor application unsupported on newer releases, a migration that genuinely needs another two quarters. It is the wrong tool as a permanent strategy, because you are still accumulating the same upgrade debt while paying to defer it, and the software stack keeps aging away from what the ecosystem targets. ## How to answer this in an interview The strong answer names the mechanism (publishing stops; the risk is silent), states the constraint (no skipping LTS releases), and then makes a judgment call rather than reciting all three options: rebuild what is disposable, upgrade in place what is not, and use ESM only to buy a scheduled, finite amount of time. The strongest answers finish with prevention — an LTS has a five-year clock that is known on day one, so the upgrade belongs on the roadmap years before it becomes an incident.

  • Why can't do-release-upgrade take a 20.04 server straight to 24.04?
    Ubuntu only tests and supports the step to the next release in sequence, so LTS machines move one LTS at a time: 20.04 to 22.04 to 24.04. Package maintainer scripts and conffile handling are written to migrate from the previous version, not from an arbitrary older one. Skipping by hand-editing sources leaves you in a state nobody has tested.
  • How would you find out whether a specific installed package is actually being patched?
    On 22.04 and later, `pro security-status` breaks the installed set down by coverage: packages from main under standard maintenance, packages that ESM would cover, and packages nobody patches. That is the honest inventory, because "we are on a supported LTS" only ever spoke for main and restricted, not for everything a team apt-installed over five years.
  • What does Ubuntu Pro give you beyond ESM on an expired release?
    On any LTS it adds esm-apps coverage for universe packages, which the free five years never included. It also includes Livepatch, which applies kernel security fixes to a running system so high-severity kernel CVEs do not force an immediate reboot, plus hardening and compliance tooling. Those are useful on a current LTS too, not only an expired one.

saying these in an interview costs you the question

  • Thinks the machine stops working or refuses to boot
  • Assumes updates keep flowing because apt still succeeds
  • Plans to edit sources and jump two LTS releases at once
  • Treats ESM as a permanent alternative to upgrading
  • Believes the five-year window covered every installed package

context