Ваше первоначальное предположение было правильным. 15.04 поддерживается до 2016-02-04, поэтому do-release-upgrade
пытается обновить вас до следующей поддерживаемой версии по сравнению с той, которая у вас есть.
Вот описание нормального режима запроса на обновление от /etc/update-manager/release-upgrades
:
Проверьте, доступен ли новый выпуск. Если найдено более одного нового выпуска, средство обновления выпуска попытается выполнить обновление до выпуска, который немедленно следует за текущим выпуском.
Поэтому, если я нахожусь на 14.04, он должен попытаться перевести меня на 14.10, а сейчас do-release-upgrade
пытается вместо этого перевести ОП (и меня) на 15.04.
Таким образом, чтение /usr/lib/python3/dist-packages/DistUpgrade/MetaRelease.py
выглядит так, как будто мы пропускаем неподдерживаемые версии, когда выясняем, какую версию нужно обновить (если вы не используете флаг разработчика):
# then see what we can upgrade to
upgradable_to = ""
for dist in dists:
if dist.date > current_dist.date:
# 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:
continue
upgradable_to = dist
self._debug("new dist: %s" % upgradable_to)
break
Я должен добавить, что я не рекомендую пытаться обойти это с do-release-upgrade -d
. Когда я попробовал это prompt=normal
, я получил 404 с, так как 14.10 - EoL. Я также думаю, что в моем бреде я, должно быть, попытался do-release-upgrade -p
, который попытался привести меня прямо к 16.04. К тому времени, когда я понял, что это привело меня в xenial, все было сломано, и я должен был восстановить с завода. В конце концов я решил подождать до 16.04 и выпустить новую установку.
do-release-upgrade
в своей системе 14.04, он говорит: «Новая версия не найдена», как обычно, поскольку систему 14.04 можно было обновить только до 14.10, но теперь 14.10 - это EOL.