Старый 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?
Это продлевает обновления безопасности для части пакетов и даёт время. Но версии языков и баз данных остаются старыми, так что обновляться всё равно придётся — просто позже.
Будет ли сайт недоступен во время обновления?
При обновлении на месте короткий перерыв неизбежен. При новом сервере и переезде простой можно свести к минимуму, потому что старый сервер работает до момента переключения.
