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

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

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

2 Сервер

Сначала станьте root-пользователем:

sudo su

Затем обновите индекс пакетов:

apt-get update

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

apt-get install update-manager-core

Откройте файл /etc/update-manager/release-upgrades:

vi /etc/update-manager/release-upgrades

и убедитесь, что в нём указано Prompt=normal:

| [...] Prompt=normal |

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

do-release-upgrade

В процессе вы увидите стандартный вывод утилиты. Пример типичного сеанса:

root@server1:~# do-release-upgrade
Checking for a new ubuntu release
Get:1 Upgrade tool signature [198B]
Get:2 Upgrade tool [1307kB]
Fetched 1307kB in 0s (0B/s)
extracting 'natty.tar.gz'
authenticate 'natty.tar.gz' against 'natty.tar.gz.gpg'

Утилита постепенно проверяет кэш и менеджер пакетов:

Reading cache
Checking package manager
Continue running under SSH?

Если вы запускаете обновление по SSH, система предупредит вас:

Эта сессия запущена по SSH. В настоящее время не рекомендуется выполнять обновление по SSH, так как при ошибке восстановление усложняется.

Если вы согласны продолжать, дополнительный sshd будет запущен на порту ‘1022’. Это облегчит восстановление в случае потери основной SSH-сессии.

Система спросит:

Продолжить [yN] <– y

В ответ будет показано инициализирующее сообщение:

Starting additional sshd

Пояснение: дополнительный sshd слушает на порту 1022. Если основная служба SSH перестанет отвечать, подключитесь по альтернативному порту и завершите восстановление.

Нажмите [ENTER], чтобы продолжить. <– ENTER

Далее утилита попросит подтвердить начало обновления и покажет объём действий и загрузок:

Do you want to start the upgrade?

3 packages are going to be removed. 34 new packages are going to be installed. 291 packages are going to be upgraded.

You have to download a total of 171M. This download will take about 1 minute with your connection.

Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be cancelled.

Continue [yN] Details [d] <– y

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

Если появится сообщение про grub: “What do you want to do about modified configuration file grub?”, выберите установку версии от поставщика пакета (install the package maintainer’s version). Это обычно безопасно и поддерживает стандартную конфигурацию загрузчика.

Если будет предложение удалить устаревшие пакеты, подтвердите удаление:

Remove obsolete packages?

6 packages are going to be removed.

Continue [yN] Details [d] <– y

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

Restart required

Выберите ‘y’ для немедленной перезагрузки:

Continue [yN] <– y

После перезагрузки система будет работать под новой версией Ubuntu (в примере — Ubuntu 11.04).

Важные замечания

  • Перед началом обновления сделайте резервную копию важных данных и снимок состояния (snapshot) виртуальной машины, если это возможно.
  • Если сервер предоставляет критичные сервисы, планируйте окно обслуживания: процесс может занять часы и привести к кратковременным простоям.
  • Оставьте доступ к консоли (IPMI/iDRAC/виртуальная консоль) на случай, если SSH недоступен.

Подготовка и проверка перед обновлением

  1. Проверка свободного места на / и /boot:
df -h

Недостаток места в /boot часто ломает обновление ядра. Освободите место заранее.

  1. Список установленных сторонних репозиториев и PPAs:
ls /etc/apt/sources.list.d/

Удалите или отключите неподдерживаемые репозитории, чтобы избежать конфликтов зависимостей.

  1. Отключите автоматические задач cron/Ansible/Puppet/Chef, которые могут вмешиваться в процессе.

  2. Проверьте текущую версию ядра и дистрибутива:

lsb_release -a
uname -r
  1. Сделайте резервную копию конфигурационных файлов, особенно /etc/fstab, /etc/default/grub и /etc/ssh/sshd_config.

Процедура восстановления при проблемах (краткий план)

  • Если SSH недоступен, попробуйте подключиться к дополнительному sshd на порту 1022.
  • Если система не загружается, используйте консоль управления хоста (IPMI, виртуальная консоль) для входа в режим восстановления (recovery mode).
  • Если проблема вызвана конфликтом пакетов, загрузитесь в однопользовательском режиме и откатите последние обновления через apt или восстановите snapshot.

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

  • Сервер успешно загружается и доступен по SSH.
  • Основные сервисы (веб, БД, приложения) работают и проходят smoke-тесты.
  • Не наблюдается критических ошибок в /var/log/syslog и /var/log/dpkg.log в течение заданного окна наблюдения.

Чек-лист по ролям

Администратор:

  • Сделал snapshot/резервную копию.
  • Проверил свободное место и отключил сторонние репозитории.
  • Запустил do-release-upgrade и подтвердил действия.

Оператор приложения:

  • Подготовил план отката для приложения.
  • Проверил конфигурации, зависящие от версий библиотек.

Мониторинг/DevOps:

  • Убедился, что алерты корректны и сохранены.
  • Подготовил сценарии smoke-тестов после перезагрузки.

Когда этот способ не подходит / альтернативы

  • Если у вас кластер с высокой доступностью, лучше выполнять поэтапные обновления узлов с контролем состояния кластера.
  • Для крупных инфраструктур рассмотрите создание новых серверов с нужной версией Ubuntu и миграцию сервисов (blue/green).
  • Если используете неподдерживаемые PPA/пакеты, лучше протестировать обновление в staging-среде.

Быстрая сводка (факт-бокс)

  • Что требуется: доступ root, подключение к интернету, свободное место на диске.
  • Команды: apt-get update; apt-get install update-manager-core; do-release-upgrade.
  • Резервные меры: snapshot VM, резервная копия конфигураций, доступ к консоли.

3 Ссылки


Краткое резюме:

  • Подготовьте резервные копии и снимки VM.
  • Убедитесь, что Prompt=normal и установлен update-manager-core.
  • Запустите do-release-upgrade, следуйте подсказкам, сохраняйте альтернативный доступ по SSH и перезагрузите сервер.

Важно: всегда тестируйте обновления в копии инфраструктуры перед применением в продакшн.

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

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

Настройка AWS IoT Enterprise Button
IoT

Настройка AWS IoT Enterprise Button

Удалить чат в Microsoft Teams — как и что важно
Microsoft Teams

Удалить чат в Microsoft Teams — как и что важно

Скриншоты на Oculus Quest 2 — как сделать
How-to

Скриншоты на Oculus Quest 2 — как сделать

Исправить ошибку DDE Server Window в Windows
Windows

Исправить ошибку DDE Server Window в Windows

Minecraft Realms на Windows 10 — как исправить проблемы
Игры

Minecraft Realms на Windows 10 — как исправить проблемы

Печать веб‑страниц без лишнего
Браузеры

Печать веб‑страниц без лишнего