Серверы

Старый Ubuntu на сервере: переход на новую LTS

Сервер работает, сайт открывается, никто не жалуется. Но если при входе система сообщает, что стандартная поддержка вашей версии закончилась, это не значит, что всё в порядке. Это значит, что исправления безопасности больше не приходят.

У каждой LTS-версии Ubuntu пять лет стандартной поддержки. Всё это время обновления безопасности ставятся сами. Потом поддержку можно частично продлить (Ubuntu Pro / ESM), но это отсрочка, а не план. Рано или поздно сервер придётся перевести на новую LTS.

Ниже — какие есть варианты, какой я советую в какой ситуации и что обязательно проверить до начала работ.

Что на самом деле означает версия без поддержки

В день окончания поддержки сервер не выключается. Проблемы приходят тихо:

  • Уязвимости остаются незакрытыми. Если в OpenSSL, SSH или ядре находят ошибку, исправление до вашего сервера не доходит. Публично известная уязвимость на незалатанном сервере — именно то, что ищут автоматические сканеры.
  • Новое ПО не устанавливается. Новая версия приложения требует более свежий PHP, Python или библиотеку, которых в старой версии нет.
  • Проблема растёт со временем. Обновление на один шаг LTS — рутина. Отставание на три шага — уже отдельный проект.

Два пути: обновление на месте или новый сервер

Обновление на месте (do-release-upgrade)

Штатный инструмент Ubuntu переводит систему на следующую LTS. Важное ограничение: один шаг LTS за раз — например, 22.04 → 24.04 → 26.04. Перепрыгнуть через версию нельзя. Переход с LTS на LTS обычно предлагается только после первого корректирующего выпуска новой версии.

Подходит, если сервер в нормальном состоянии, отставание — один шаг, конфигурация известна и приложений немного.

Риски: если что-то сломается посередине, сервер останется в полуобновлённом состоянии. Сторонние репозитории (PPA) на время обновления отключаются, и их нужно вернуть вручную. Если шагов несколько, каждый проходится и тестируется отдельно.

Новый сервер на Ubuntu 26.04 и переезд

Новая машина ставится с нуля, приложения и данные переносятся, а старый сервер работает, пока новый не проверен.

Подходит, если отставание в несколько версий, за годы накопились недокументированные изменения или вы и так собирались менять хостинг или железо.

Преимущество: путь назад есть всегда. Новые серверы я ставлю на Ubuntu 26.04, и это хороший момент наконец задокументировать настройку. Как проходит сам переезд, описано отдельно: перенос сервера без простоя.

Моё практическое правило: один шаг LTS и аккуратный сервер — обновление на месте. Два шага и больше или «никто толком не знает, что там крутится» — новый сервер.

Чек-лист перед обновлением

1. Полная резервная копия или снимок

Прежде всего — снимок всего сервера (если хостинг это позволяет) и отдельно дампы баз данных и копия файлов. И проверьте, что из копии действительно можно восстановиться. Копия, которую ни разу не восстанавливали, — это надежда, а не план.

2. Сначала на клоне

Скопируйте сервер и сначала обновите копию. Вы увидите, что ломается, не останавливая рабочий сайт. Это самый ценный шаг во всём списке.

3. Скачки версий языков и баз данных

Здесь ломается чаще всего. Новая Ubuntu приносит новый PHP, Python, PostgreSQL или MySQL/MariaDB:

  • старый PHP-код с удалёнными функциями начинает выдавать ошибки;
  • виртуальное окружение Python-приложения нужно пересоздать на новом Python;
  • новая основная версия PostgreSQL требует переноса данных из старого кластера в новый;
  • между MySQL и MariaDB и между их версиями меняются настройки по умолчанию.

Заранее выясните, какие версии используются сейчас и что поддерживает приложение.

4. Различия в конфигурационных файлах

Если конфигурационный файл правили вручную, обновление спросит, оставить вашу версию или взять новую из пакета. Неверный ответ может стереть годами накопленные настройки — или оставить старый файл, который с новой версией уже не работает. Сделайте копию /etc, чтобы было с чем сравнить.

5. Сторонние репозитории

PPA и репозитории производителей (например, для базы данных, Docker или Elasticsearch) не обновляются вместе с системой. Составьте их список, проверьте, есть ли версия под новую Ubuntu, и после обновления настройте их заново.

6. Планирование простоя

Обновление на месте означает период, когда службы перезапускаются. Выберите спокойное время, предупредите пользователей и запускайте обновление внутри tmux или screen, чтобы оборванное SSH-соединение не оставило процесс незавершённым.

7. План отката

До начала запишите: в какой момент вы решаете, что всё пошло не так, и что тогда делаете. Восстановление из снимка, DNS обратно на старый сервер — что бы это ни было, решение должно быть принято заранее, а не посреди ночи.

После обновления

Проверьте журналы, состояние служб, продление сертификата, задания по расписанию (cron), резервное копирование и отправку почты. Затем пересмотрите настройки безопасности — новая система хороший повод навести порядок. Для этого есть отдельный чек-лист защиты Linux-сервера.

Если удобнее передать это мне

Я ежедневно администрирую Linux-серверы — предпочтительно Ubuntu, но также Debian и семейство RHEL — вместе с Nginx, Apache2, PostgreSQL, MySQL/MariaDB, Docker, Tomcat и Elasticsearch/OpenSearch. Я также переводил на актуальные версии приложения старше десяти лет так, что бизнес-функциональность сохранялась. Подробнее — на странице администрирования Linux-серверов.

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

Часто задаваемые вопросы

Можно ли перепрыгнуть сразу через несколько версий?

При обновлении на месте — нет, каждый шаг LTS проходится отдельно. Если шагов несколько, новый сервер и переезд часто быстрее и надёжнее.

Решает ли проблему Ubuntu Pro / ESM?

Это продлевает обновления безопасности для части пакетов и даёт время. Но версии языков и баз данных остаются старыми, так что обновляться всё равно придётся — просто позже.

Будет ли сайт недоступен во время обновления?

При обновлении на месте короткий перерыв неизбежен. При новом сервере и переезде простой можно свести к минимуму, потому что старый сервер работает до момента переключения.

Читайте также

Связанные услуги

Кто следит за вашим сервером?

Установка, обновления, резервные копии и мониторинг — Linux-сервер, за которым стоит человек, которому можно позвонить.