Как обновить Ubuntu 21.10 до 22.04 после EOL?
У меня есть Raspberry Pi 4 с сервером Ubuntu 21.10 Arm6. Я только что узнал, что он достиг своего EOL после попытки обновить/обновить программное обеспечение. Я вообще забыл, что установленная система не LTS(показывает, как редко я прикасаюсь к ее терминалу). У меня на этом сервере запущены некоторые сервисы, и я уже забыл, как его настроил (это был первый квартал 2021 года), поэтому предпочитаю просто обновить его, а не переустанавливать все с нуля.
1 ответ
Решение
Отредактируйте свой и замените на . Затем повторите команды.
Шаг за шагом:
- Сохраните резервную копию (хотя можно и закомментировать строки с помощью #, но резервную копию лучше для собственной справки, чтобы оставить систему как есть, на всякий случай)
- Замените URL-адреса в
/etc/apt/sources.list
используяhttp://old-releases.ubuntu.com/ubuntu/
вместоhttp://ports.ubuntu.com/ubuntu-ports
- Run , который теперь должен работать нормально.
- Run , который теперь также должен работать нормально.
- И, наконец, беги
do-release-upgrade
(перед выполнением этой команды может потребоваться перезагрузка)
Надеюсь, так и должно быть. Не стесняйтесь отключать все неисправные источники в вашем списке источников, пока вы не обновите систему успешно.
Контекст происходящего
Я только что столкнулся с этой же проблемой и вспомнил, что в Ubuntu хранится отдельный архив для старых неподдерживаемых/устаревших выпусков. После прекращения выпуска версии все пакеты удаляются из основных URL-адресов репозитория.
Просто чтобы дать немного предыстории: первая проблема, с которой я столкнулся, была, когда я запустилsudo apt-get update
Я получал такие ошибки:
Err:9 http://ports.ubuntu.com/ubuntu-ports impish Release
404 Not Found [IP: 185.125.190.39 80]
У меня аналогичная проблема при попытке запуститьsudo apt-get dist-upgrade
E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/pool/main/s/systemd/libpam-systemd_248.3-1ubuntu8.6_arm64.deb 404 Not Found [IP: 185.125.190.39 80]
Оказывается, Ubuntu Imish/Ubuntu 21.10 была удалена, поэтому ее нельзя было найти в основном архиве Ubuntu.
Следующее, что я вспомнил/понял, это то, что было вот этоold-releases.ubuntu.com
поэтому я решил попробовать. Оказывается, это сработало.
Концептуально единственное, что нужно было сделать, — это заменить URL-адреса и перезапустить команды. Подробные инструкции см. в верхней части этого решения.
ПРИМЕЧАНИЕ. Учтите, что речь идет не только об изменении имени домена в source.list, но и об установке правильной папки для URL-адресов пакетов Ubuntu. В данном конкретном случае на момент написания URL-адрес:
http://old-releases.ubuntu.com/ubuntu/
PS: Если вы обнаружите какие-то неточности в этом решении или другие крайние случаи, дайте мне знать. Я буду более чем рад их исправить.
Больше информации:
Если что-то не получается (например, не удалось выполнить обновление-релиз,...) или если вы хотите лучше понять, что происходит, взгляните на эту страницу: