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

Solution 1:

It seems like there is an issue about certificates:

result of meta-release download: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)>

As a workaround, I edited the file /usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py and added these lines to the beginning:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

Solution 2:

The problem is the used ca:

$ python3 -c 'import ssl; print(ssl.get_default_verify_paths().openssl_cafile)'
/usr/lib/ssl/cert.pem

But:

$ ll /usr/lib/ssl/cert.pem
ls: cannot access '/usr/lib/ssl/cert.pem': No such file or directory

You can fix it by linking the global ca-certificates to the file Python uses:

ln -s /etc/ssl/certs/ca-certificates.crt /usr/lib/ssl/cert.pem

After that running do-release-upgrade works just fine.

For a temporary solution:

SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt do-release-upgrade

Solution 3:

This is an Ubuntu bug that has been fixed, but I'm not sure if the patch will be available in updates for 18.04.2 LTS.

From 2018:

update-manager (1:18.10.3) cosmic; urgency=medium

  • Add support for HTTPS proxies; this breaks UpdateManager.Core.utils.init_proxy() API - the return value is now a dict, rather than a string (LP: #1771914).
    ...
    The verification of the Stable Release Update for update-manager has completed successfully and the package has now been released to -updates.