Does do-release-upgrade jump between Ubuntu 16.04 to 22.04?

Silly question, I want to know if I run the do-release-upgrade on Ubuntu 16.04, what version will I get after upgrades? Is it 18.04 or 22.04? Does the do-release-upgrade command jumps between Ubuntu 16.04 to 22.04?

Yes, it can be confusion but there is no upgrade path from 16.04 to 22.04. There are three possible values in the /etc/update-manager/release-upgrades

  1. never - Never check for, or allow upgrading to, a new release.
  2. normal - Check to see if a new release is available. If more than one new release is found, the release upgrader will attempt to upgrade to the supported release that immediately succeeds the currently-running release.
  3. lts - Check to see if a new LTS release is available. The upgrader will attempt to upgrade to the first LTS release available after the currently-running one. Note that if this option is used and the currently-running release is not itself an LTS release the upgrader will assume prompt was meant to be normal.

In other words, when you set Prompt=lts in the /etc/update-manager/release-upgrades you will get 18.04.xx upgrade. Then you can run the do-release-upgrade again to get to 20.04.xx and finally to 22.04.xx LTS. That is how it works.

Also the do-release-upgrade will skip unsupported releases when figuring out what release to upgrade to /usr/lib/python3/dist-packages/DistUpgrade/

        # then see what we can upgrade to
        upgradable_to = ""
        for dist in dists:
            if >
                # Only offer to upgrade to an unsupported release if running
                # with useDevelopmentRelease, this way one can upgrade from an
                # LTS release to the next supported non-LTS release e.g. from
                # 14.04 to 15.04.
                if not dist.supported and not self.useDevelopmentRelease:
                upgradable_to = dist
                self._debug("new dist: %s" % upgradable_to)

For more read: AutomaticUpgrade - Ubuntu Wiki