Гид по технологиям

Обновление Ubuntu на сервере через do-release-upgrade

4 min read Сервер Обновлено 20 Nov 2025
Обновление Ubuntu сервера через do-release-upgrade
Обновление Ubuntu сервера через do-release-upgrade

Введение

Эта инструкция показывает пошагово, как обновить Ubuntu на сервере с помощью утилиты do-release-upgrade. Предполагается, что у вас есть доступ root (или sudo), резервные копии и план отката. Кратко: обновление скачивает новые пакеты, применяет изменения и может потребовать перезапуска сервисов и самой машины.

В этом документе вы найдёте:

  • подробный пошаговый процесс;
  • контрольный список перед началом;
  • сценарии отката и действия при ошибках;
  • альтернативные подходы и критерии приёмки.

Предусловия

  • Доступ к серверу с правами root (или sudo).
  • Полные резервные копии файлов и, особенно, данных БД.
  • Доступ к консоли/дополнительному SSH (если основной SSH будет недоступен).
  • Достаточно свободного места на диске и стабильное соединение для загрузки ~нескольких сотен мегабайт.

Важно: перед началом убедитесь, что вы понимаете, какие пакеты на сервере критичны, и какие конфигурационные файлы были изменены вручную (они могут потребовать ручной правки после апгрейда).

Контрольный список перед обновлением

  • Сделана полная резервная копия файлов и БД.
  • Сохранена копия /etc для восстановления конфигураций.
  • Проверено свободное место: df -h
  • Проверено состояние apt: sudo apt-get update && sudo apt-get -f install
  • План отката и контакты администратора под рукой.
  • Выбрано окно обслуживания (минимальная нагрузка).

Шаги обновления (основной процесс)

Сначала войдите под root:

sudo su

Обновите списки пакетов:

apt-get update

Установите доступные обновления:

apt-get upgrade  

Установите пакет update-manager-core, если он не установлен:

apt-get install update-manager-core

Откройте файл /etc/update-manager/release-upgrades и убедитесь, что в нём указано Prompt=normal:

vi /etc/update-manager/release-upgrades

… и проверьте наличие строки в файле:

| [...] Prompt=normal |

Запустите процесс обновления дистрибутива:

do-release-upgrade

Ниже приведён пример вывода команды (интерактивная сессия):

root@server1:~# do-release-upgrade  
Checking for a new Ubuntu release  
Get:1 Upgrade tool signature [198 B]  
Get:2 Upgrade tool [1,206 kB]  
Fetched 1,206 kB in 0s (0 B/s)  
authenticate 'raring.tar.gz' against 'raring.tar.gz.gpg'  
extracting 'raring.tar.gz'  
  
Reading cache  
  
Checking package manager  
  
Continue running under SSH?  
  
This session appears to be running under ssh. It is not recommended  
to perform a upgrade over ssh currently because in case of failure it  
is harder to recover.  
  
If you continue, an additional ssh daemon will be started at port  
'1022'.  
Do you want to continue?  
  
Continue [yN] <-- y  
  
Starting additional sshd  
  
To make recovery in case of failure easier, an additional sshd will  
be started on port '1022'. If anything goes wrong with the running  
ssh you can still connect to the additional one.  
If you run a firewall, you may need to temporarily open this port. As  
this is potentially dangerous it's not done automatically. You can  
open the port with e.g.:  
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'  
  
To continue please press [ENTER] <-- ENTER  
  
[...]  
  
Do you want to start the upgrade?  
  
  
45 new packages are going to be installed. 327 packages are going to  
be upgraded.  
  
You have to download a total of 205 M. This download will take about  
48 seconds with your connection.  
  
Installing the upgrade can take several hours. Once the download has  
finished, the process cannot be canceled.  
  
Continue [yN]  Details [d] <-- y

Во время обновления некоторые сервисы могут потребовать перезапуска. Когда менеджер обновлений спросит, какие сервисы перезапустить (покажет список), можно принять значения по умолчанию, нажав ENTER.

В конце процесса удалите устаревшие пакеты, если система предложит:

Remove obsolete packages?

13 packages are going to be removed.

Continue [yN] Details [d] <– y

После завершения потребуется перезагрузка:

System upgrade is complete.

Restart required

To finish the upgrade, a restart is required.
If you select ‘y’ the system will be restarted.

Continue [yN] <– y

После перезагрузки проверьте версию, посмотрев /etc/issue:

cat /etc/issue

Пример:

root@server1:~# cat /etc/issue  
Ubuntu 13.04 \n \l

root@server1:~#

Что делать, если обновление прервали или SSH недоступен

Important: do-release-upgrade запускает дополнительный SSH-сервер на порту 1022, чтобы можно было подключиться при проблеме с основным sshd. Если основной SSH потерян, выполните следующее:

  1. Попробуйте подключиться к серверу через дополнительный порт:
ssh -p 1022 root@your-server-ip
  1. Если подключение возможно — проверьте статус apt и завершите установку:
dpkg --configure -a
apt-get -f install
  1. Если сервер не отвечает и у вас есть консоль провайдера (VNC/IPMI) — войдите и включите режим восстановления.

  2. В крайних случаях используйте резервную копию и восстановление данных на новой инстанции.

План отката / Инцидент-руководство

  • Шаг 0: Не приступать без резервной копии и плана отката.
  • Шаг 1: При обнаружении критической ошибки — сохранить логи /var/log/dist-upgrade/.
  • Шаг 2: Попытаться восстановить пакеты: dpkg –configure -a; apt-get -f install.
  • Шаг 3: Переключиться на дополнительный SSH (порт 1022).
  • Шаг 4: Если восстановить не удалось — развернуть резервную копию на отдельной машине и переключить трафик.

Примечание: «откат» версии дистрибутива (downgrade) обычно не поддерживается в автоматическом режиме и сопряжён с большими рисками — предпочтительнее восстановление из бэкапа.

Альтернативные подходы

  • Чистая установка и восстановление данных — самый безопасный путь для крупных версий и сильно кастомизированных систем.
  • Использовать LTS-версии для серверов и включить unattended-upgrades для мелких патчей безопасности.
  • Контейнеризация — перенос сервисов в контейнеры (Docker) упрощает миграцию между версиями хоста.

Совет и эвристика

  • Не обновляйте рабочие продакшн-серверы вне окна обслуживания.
  • Для критичных сервисов проверяйте совместимость приложений с новой версией перед апгрейдом.
  • Меньше кастомных изменений в системных конфигурациях — меньше ручной правки после обновления.

Критерии приёмки

  • Сервер загрузился и прошёл проверку основных сервисов (SSH, веб, БД).
  • Все критичные приложения работают в штатном режиме.
  • Нет нерешённых зависимостей apt и нет сломанных пакетов: dpkg –configure -a завершился без ошибок.
  • Проведено тестирование функциональности в течение контрольного окна.

Мини-глоссарий

  • do-release-upgrade — утилита для обновления версии Ubuntu.
  • Apt/apt-get — менеджер пакетов Debian/Ubuntu.
  • sshd — демон SSH, обеспечивающий удалённый доступ.

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Готовность системы?] -->|Да| B[Резервное копирование]
  A -->|Нет| Z[Подготовка: место/бэкап]
  B --> C[Запуск do-release-upgrade]
  C --> D{Произошла ошибка?}
  D -->|Нет| E[Проверить сервисы и перезагрузить]
  D -->|Да| F[Подключиться к SSH:1022]
  F --> G{Восстановление возможно?}
  G -->|Да| H[dpkg/apt восстановление]
  G -->|Нет| I[Восстановить из бэкапа на новой машине]

Полезные проверки после обновления

  • Проверить состояние пакетов: dpkg -l | grep -i broken
  • Проверить журналы systemd: journalctl -p err -b
  • Проверить доступность сервисов: systemctl status nginx mysql ssh

Ссылки

Резюме

Обновление через do-release-upgrade — стандартный путь для перехода между релизами Ubuntu. Главное — подготовиться: сделать резервные копии, проверить совместимость и иметь план восстановления. При соблюдении мер предосторожности процесс обычно проходит гладко.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Ярлык режима переводчика Google Assistant
How-to

Ярлык режима переводчика Google Assistant

VPN на Android TV — настройка OpenVPN
VPN

VPN на Android TV — настройка OpenVPN

Открыть недавно закрытые приложения в Windows
Windows

Открыть недавно закрытые приложения в Windows

Родительский контроль на Android TV
Инструкции

Родительский контроль на Android TV

Ошибка 30068 при установке Office — как исправить
Техподдержка

Ошибка 30068 при установке Office — как исправить

Проверка: готов ли ПК к VR
Железо

Проверка: готов ли ПК к VR