Обновление установки End of Life (лунной)

Вопрос или проблема

Я наконец-то добрался до возможности попробовать обновить свою установку Ubuntu Lunar. К сожалению, мой опыт обновления до Lunar был крайне неприятным, поэтому я всё время этого откладывал.

Я вижу, что Lunar больше не поддерживается do-release-upgrade. Основываясь на https://help.ubuntu.com/community/EOLUpgrades, я вручную обновил свой sources.list, чтобы указать на old-releases. В частности:

deb http://old-releases.ubuntu.com/ubuntu/ lunar main restricted
deb http://old-releases.ubuntu.com/ubuntu/ lunar-updates main restricted

deb http://old-releases.ubuntu.com/ubuntu/ lunar universe
deb http://old-releases.ubuntu.com/ubuntu/ lunar-updates universe

deb http://old-releases.ubuntu.com/ubuntu/ lunar multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lunar-updates multiverse

deb http://old-releases.ubuntu.com/ubuntu/ lunar-backports main restricted universe multiverse

deb http://old-releases.ubuntu.com/ubuntu lunar-security main restricted
deb http://old-releases.ubuntu.com/ubuntu lunar-security universe
deb http://old-releases.ubuntu.com/ubuntu lunar-security multiverse

Тем не менее, выдает 404 на apt update:

❯ sudo apt update
Игнорирование:13 http://old-releases.ubuntu.com/ubuntu lunar InRelease
Игнорирование:17 http://old-releases.ubuntu.com/ubuntu lunar-updates InRelease
Игнорирование:20 http://old-releases.ubuntu.com/ubuntu lunar-backports InRelease
Игнорирование:22 http://old-releases.ubuntu.com/ubuntu lunar-security InRelease
Ошибка:23 http://old-releases.ubuntu.com/ubuntu lunar Release
  404  Not Found [IP: 91.189.91.124 80]
Ошибка:24 http://old-releases.ubuntu.com/ubuntu lunar-updates Release
  404  Not Found [IP: 91.189.91.124 80]
Ошибка:25 http://old-releases.ubuntu.com/ubuntu lunar-backports Release
  404  Not Found [IP: 91.189.91.124 80]
Ошибка:26 http://old-releases.ubuntu.com/ubuntu lunar-security Release
  404  Not Found [IP: 91.189.91.124 80]
Чтение списков пакетов... Готово

(Различные lp ppas и другие сторонние репозитории не указаны. Я ожидаю, что они вызовут свои собственные проблемы, но буду разбираться с ними, когда дойду до этого момента.)

Я посмотрел на http://old-releases.ubuntu.com/ubuntu/dists/ и вижу, что Lunar, похоже, отсутствует здесь.

Какие у меня есть варианты для относительно безопасного обновления этой установки Lunar? Я использую эту конкретную установку с Focal и не очень хочу пробовать переустановку, если это возможно.

Кажется, мне удалось разобраться с проблемой, хотя я еще не знаю, насколько функциональна моя система. Я оставляю это здесь в качестве ответа для следующего человека, который будет искать.

Сообщение об ошибке do-release-upgrade указывает, и URL, на который оно ссылается, не существует. Вместо этого оно перенаправляет на https://ubuntu.com/about/release-cycle, который на самом деле не рассматривает ошибку или как с ней обращаться. Таблица релизов, к которой вы можете получить доступ отсюда, в настоящее время показывает Lunar как End Of Life.

Отдельный поиск приведет вас к https://help.ubuntu.com/community/EOLUpgrades. Этот документ может быть устаревшим или не адекватно освещать сообщения, которые могут выдать do-release-upgrade. Более того, сообщения об ошибках, которые порождает do-release-upgrade, довольно бесполезны.

В частности, документ начинает с предположения, что вам нужно перейти на old-releases. В данном конкретном случае, т.е. Lunar в июле 2024 года, это не нужно и на самом деле не сработает, поскольку репозитории Lunar все еще находятся в обычном архиве. Это противоречит документации, предполагающей, что потребуется old-releases, поскольку он явно является EOL. Поэтому прежде чем пытаться переключиться на old-releases, вручную проверьте, где находятся репозитории вашего релиза, проверив http://old-releases.ubuntu.com/ubuntu/dists/ и http://archive.ubuntu.com/ubuntu/dists/. Если ваш релиз уже находится в old-releases, обновите свой sources.list соответственно согласно инструкциям.

В том же документе, однако, скрыто в “Неподдерживаемых обновлениях”, находится настоящая проблема. Хотя это нигде в этих документах не указано явно, do-release-upgrade не может перескакивать через несколько версий, и do-release-upgrade пытается перейти на последнюю версию независимо от того, какая версия была установлена. Сообщение об ошибке просто указывает, что нельзя обновить с <installed codename> на <latest codename> и не предоставляет никакой дополнительной информации о причине. Оно не предлагает, что требуется многопроходное обновление. Документация говорит, что многопроходные обновления могут иногда быть необходимы, но я подозреваю, что вам всегда потребуется это сделать.

Чтобы действительно выполнить обновление, вам нужно следовать инструкциям в разделе о неподдерживаемых обновлениях на https://help.ubuntu.com/community/EOLUpgrades. В частности, для каждого промежуточного релиза ubuntu между вашим текущим и тем местом, куда вы хотите попасть, вам нужно будет скачать UpgradeTool с https://changelogs.ubuntu.com/meta-release и выполнить его один за другим.

Когда вы это сделаете, все обычные предостережения о том, что делать, когда вы применяете крупные обновления, применимы. Мое обновление с Lunar на Mantic полностью поломало Grub, например, и потребовалось использовать BootRepair для удаления и переустановки grub. Поэтому лучше всего иметь под рукой liveUSB какой-либо конфигурации, когда вы собираетесь это делать. Также сделайте резервную копию всех данных, которые вам важны, на случай, если что-то сломается безвозвратно.

Однако имейте в виду, что я не уверен, что произойдет, если ваш текущий релиз находится в old-releases, и после него есть дополнительные релизы, которые также находятся в old-releases. Если первое обновление сработает, вам возможно придется обновить sources.list еще раз при запуске следующего обновления. Я не уверен, сработает ли первое обновление или нет, поскольку целевые репозитории не существуют там, где их ожидают увидеть.

ИЗМЕНЕНИЕ: Дополнительные заметки

С 24 ноября 2024 года mantic находится в old-releases, в то время как lunar все еще в архиве. Я предполагаю, что есть кто-то, где-то, кто понимает, почему это так.

Необходимый путь обновления:

  lunar     -> mantic -> noble     -> oracular
  (релизы)   (старый)   (релизы)   (релизы)

UpgradeTool для mantic не работает, потому что не может найти репозитории в archive. Единственный способ, который кажется решаемым, это вручную обновить с lunar на mantic, т.е. изменить apt sources.list, чтобы указать на репозитории mantic в old-releases и выполнить upgrade и dist-upgrade. Другие сторонние репозитории и PPA (обычно sources.list.d) лучше отключить для этого процесса. Хотя вы можете повезти, планируйте на значительные поломки, пытаясь это сделать.

После перехода на mantic, do-release-upgrade или UpgradeTool для noble должны помочь вам перейти на noble.

Ответ или решение

Обновление установки Ubuntu Lunar, достигшей конца жизненного цикла

Обновление операционной системы — это одна из ключевых задач для поддержания работоспособности и безопасности вашего программного обеспечения. Если вы столкнулись с проблемой обновления своего дистрибутива Ubuntu Lunar, который достиг конца жизненного цикла, вы не одиноки. В данной статье мы разберёмся, как безопасно и эффективно выполнить такой процесс, учитывая конкретные проблемы, с которыми вы, возможно, уже столкнулись.

1. Проблемы с репозиториями

Согласно вашему описанию, вы заметили, что стандартная команда do-release-upgrade больше не поддерживает вашу версию Lunar. Вы правильно обновили файл sources.list, указав репозитории old-releases. Однако, несмотря на это, вы столкнулись с ошибками 404 при попытке обновить пакеты через Apt. Это связано с тем, что на данный момент репозитории для Lunar могут быть недоступны в old-releases.

Решение:
Прежде чем предпринимать дальнейшие шаги, важно проверить доступность репозиториев для вашего текущего дистрибутива. Вы можете сделать это, перейдя по ссылкам http://old-releases.ubuntu.com/ubuntu/dists/ и http://archive.ubuntu.com/ubuntu/dists/. Убедитесь, что ваша версия ещё находится в доступных репозиториях.

2. Многоуровневая миграция

Согласно документации, do-release-upgrade не поддерживает многоуровневые обновления. Это означает, что вы не сможете выполнить обновление напрямую с одной устаревшей версии на последнюю. Вам может понадобиться пройти через каждый промежуточный релиз, например:

  • lunar -> mantic -> noble -> oracular

Рекомендации:
Для выполнения такого обновления следует использовать инструмент для обновления (UpgradeTool). Перед этим вам потребуется:

  • Защитить ваши данные, создав резервные копии.
  • Отключить сторонние репозитории и PPA для минимизации рисков.
  • Поочерёдно изменять ваш sources.list, указывая на репозитории каждой промежуточной версии.

3. Процесс обновления

  1. Измените sources.list на mantic:
    Замените все упоминания lunar на mantic в вашем файле sources.list, указав корректные репозитории (если они существуют).

  2. Обновите систему:
    Выполните команды:

    sudo apt update
    sudo apt upgrade
    sudo apt dist-upgrade
  3. Обновите до mantic:
    После успешного обновления системы, проверьте, сможете ли вы снова запустить do-release-upgrade для перехода к следующему релизу noble.

4. Восстановление загрузчика

Обратите внимание, что после обновлений может возникнуть необходимость в восстановлении загрузчика GRUB. Если возникнут проблемы с загрузкой, имейте под рукой Live USB, чтобы воспользоваться инструментами восстановления, такими как Boot-Repair.

5. Заключение

Процесс обновления устаревших версий Ubuntu может быть сложным, требующим внимания к деталям и внимательного выполнения инструкций. Регулярные резервные копии и отключение сторонних репозиториев помогут минимизировать потенциальные проблемы. Всегда оставайтесь в курсе текущих обновлений и документации от Ubuntu для получения свежей информации и рекомендаций. Если вы следуете всем указанным шагам, вы сможете успешно обновить вашу версию Ubuntu, выйдя на современные и поддерживаемые релизы.

Оцените материал
Добавить комментарий

Капча загружается...