2

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

4

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 at 14:53
2

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.