3

We have Ubuntu servers (20.04 LTS) without Internet connection. In order to get new apt packages, we have a JFrog Artifactory server with Internet access and connection to our Ubuntu servers mirroring archive.ubuntu.com for specific requests. The sources.list file is changed accordingly. This works fine for apt install <package> and package upgrades.

With the release of 22.04 LTS, we now tried to do a distribution upgrade. However, sudo do-release-upgrade fails with the error message

Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings

Ignoring that currently, 22.04 LTS is not yet in this file, I do not know how to circumvent the tool's desire to download this file from the Internet and do the upgrade using our private package repositories.

I see that do-release-upgrade offers the option --data-dir. It is only shown using --help and unfortunately not within its man page (at least not that I can see). Can this be used? Is there any other switch? I am fine with providing my own meta-release-lts file pointing to our private repositories, if necessary.

2 Answers 2

5

With help from this question and the source code from ubuntu-release-upgrader-core, it appears that, in your case, you need to provide both the https://changelogs.ubuntu.com/meta-release-lts file and all the corresponding files in a local webserver :

You will want to modify the links from the meta-release-lts and provide all the files :

Release-File: http://archive.ubuntu.com/ubuntu/dists/focal-updates/Release
ReleaseNotes: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/ReleaseAnnouncement
ReleaseNotesHtml: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/ReleaseAnnouncement.html
UpgradeTool: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz
UpgradeToolSignature: http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/dist-upgrader-all/current/focal.tar.gz.gpg

UPDATE : It appears that you also need to modify the UpgradeTool files themselves :

Modify mirrors.cfg and provide the base URL for your repositories

And, to provide your custom link to the meta-release-lts, change the URI_LTS in /etc/update-manager/meta-release (be sure to also resign the UpgradeTool as it might not like the mismatched key)

1
  • Thank you for your answer with the detailed instructions. I will try it out and report back.
    – fbindel
    Apr 28, 2022 at 14:53
3

You can edit /etc/update-manager/meta-release (which is, according to the source code the configuration file responsible).

# cat /etc/update-manager/meta-release    
# default location for the meta-release file

[METARELEASE]
URI = https://changelogs.ubuntu.com/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed

If edit that file to use an non-existent domain, like changelog.ubuntu.com, I see the expected error:

# do-release-upgrade -cd
Checking for a new Ubuntu release
Failed to connect to https://changelog.ubuntu.com/meta-release-lts-development. Check your Internet connection or proxy settings
There is no development version of an LTS available.
To upgrade to the latest non-LTS development release 
set Prompt=normal in /etc/update-manager/release-upgrades.

You'll need to edit URI_LTS for an LTS release like 20.04.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .