Я не могу перейти с Ubuntu 18.10 на 19.04.
Я подтвердил, что 19.04 был официально выпущен, и появляется в https://changelogs.ubuntu.com/meta-release .
Когда я запускаю sudo update-manager -c
, я получаю следующее сообщение об ошибке в терминале (хотя графический интерфейс радостно сообщает, что обновления недоступны):
Не удалось подключиться к https: //changelogs.ubuntu.com/meta-release. Проверьте подключение к Интернету или настройки прокси-сервера
blockquote>Я попытался получить доступ к файлу с помощью
wget changelogs.ubuntu.com/meta-release
и получил следующее сообщение об ошибке- 2019-04-20 21: 01: 27-- https://changelogs.ubuntu.com/meta-release Разрешение changelogs.ubuntu.com (changelogs.ubuntu.com) ... 91.189.95.15, 2001: 67c: 1560: 8008 :: 11
Подключение к changelogs.ubuntu.com (changelogs.ubuntu.com) | 91.189.95.15 |: 443 ... подключено.
ОШИБКА: не удается проверить сертификат changelogs.ubuntu.com, выданный ‘CN = Let's Encrypt Authority X3, O = Let's Encrypt, C = US’: невозможно локально проверить полномочия эмитента.
Чтобы небезопасно подключиться к changelogs.ubuntu.com, используйте `--no-check-certificate '.
blockquote>Хотя, когда я попытался получить доступ к тому же файлу с помощью
curl changelogs.ubuntu.com/meta-release
, загрузка прошла успешно (я где-то читал, что его сертификаты могут быть более современными).Как я уже говорил, я перезагружал свою систему несколько раз, ждал более 24 часов и пытался удалить локальный
~/.cache/update-manager-core/meta-release
, но это не помогло.Я проверил сертификаты сайта на https://www.ssllabs.com/ssltest/analyze.html?d=changelogs.ubuntu.com&latest и получил A +.
Я бы предпочел решения, которые не требуют, чтобы я передавал файл по http вместо https.
Вот как я решил свою проблему:
Я скачал файл мета-релиза через https, используя curl: curl http://changelogs.ubuntu.com/meta-release > ~/.cache/update-manager-core/meta-release
.
Затем я отредактировал локальный /etc/update-manager/meta-release
следующим образом:
# default location for the meta-release file
[METARELEASE]
#URI = https://changelogs.ubuntu.com/meta-release
URI = file:///home/YOUR-USERNAME/.cache/update-manager-core/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed
Обратите внимание, что вам нужно изменить ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ на соответствующее значение в вашей системе.
Обновление работает без проблем!
Мои машины настроены на использование apt-кэша, который я исправил, добавив PassThroughPattern в мой /etc/apt-cacher-ng/acng.conf
PassThroughPattern: ^changelogs\.ubuntu\.com:443$
Если у вас уже есть PassThroughPattern вам нужно отредактировать это, например если у вас есть:
PassThroughPattern: soandso.com:443
измените его на
PassThroughPattern: ^(soandso\.com|changelogs\.ubuntu\.com):443$
Если это не поможет, вы можете попробовать следующее:
$ ( sed -ne 's/^ *\(from\|import.*\)/\1/p' \
/usr/bin/do-release-upgrade \
echo "init_proxy()" \
echo "MetaReleaseCore.DEBUG = True" \
echo "MetaReleaseCore(useProposed=True)"\
) | python3
Это должно дать вам дополнительную информацию о том, что вызывает его сбой.