Обновление сервера Ubuntu через do-release-upgrade
Подготовка
- Подключитесь к серверу и получите root-права:
sudo su- Обновите индекс пакетов и установите обновления безопасности:
apt-get updateapt-get upgrade - Установите вспомогательный пакет для управления релизами:
apt-get install update-manager-core- Убедитесь, что в конфигурации разрешены нормальные обновления релизов. Откройте файл:
vi /etc/update-manager/release-upgradesВ файле должна быть строка с Prompt=normal. В исходном примере это показано в таблице:
| [...] Prompt=normal |
Если там Prompt=lts, то можно изменить на normal, если вы хотите переход на промежуточный релиз. Сохраняйте осторожность: смена политики релизов меняет поведение обновлений.
Important: Сделайте полную резервную копию важных данных и конфигураций перед обновлением. Снимите снимок диска (snapshot) или резервную копию БД.
Пошаговое выполнение обновления
Запустите процесс обновления дистрибутива:
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 [1550 kB]
Fetched 1550 kB in 0s (0 B/s)
authenticate 'precise.tar.gz' against 'precise.tar.gz.gpg'
extracting 'precise.tar.gz'Reading cacheChecking package managerContinue running under SSH?При запуске под SSH программа предупреждает, что обновление через SSH рискованно. Для снижения риска она автоматически запустит дополнительный SSH-демон на порту 1022. Если основной SSH упадёт, можно переподключиться через запасной демон.
Когда будет предложено, подтвердите продолжение (в примере ответ был y):
Continue [yN] <-- yИ вы увидите сообщение о запуске дополнительного sshd:
Starting additional sshdПосле этого следуйте подсказкам на экране. В примере процесс просит нажать ENTER и затем подтверждать дальнейшие шаги:
- Запуск обновления и скачивание пакетов.
- Подтверждение удаляемых/устанавливаемых/обновляемых пакетов.
- Решения по перезапуску служб.
Пример статистики из интерактивной сессии (взято из примера):
- 5 пакетов будут удалены
- 52 новых пакета будут установлены
- 426 пакетов будут обновлены
- Нужно загрузить 286 M
- Оценочное время загрузки: ~2 минуты (зависит от скорости соединения)
Потверждение продолжения в примере:
Continue [yN] Details [d] <-- yЕсли менеджер обновлений попросит выбрать, какие службы перезапустить, обычно безопасно принять значения по умолчанию — нажмите ENTER.
Во время обновления — на что обратить внимание
- Следите за доступностью SSH. Если соединение прервалось, попробуйте подключиться к запасному порту 1022.
- Если менеджер задаёт вопросы о файлах конфигурации (заменить/сохранить), внимательно оцените изменения. В большинстве случаев сохраняйте текущие конфигурации, если вы не уверены.
- Обновление может занять часы на сильно нагруженных системах. Не прерывайте процесс вручную.
Завершение и перезагрузка
В конце процесса вам предложат удалить устаревшие пакеты. В примере было:
Remove obsolete packages?
19 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После перезагрузки проверьте версию системы:
cat /etc/issueПример вывода:
root@server1:~# cat /etc/issue
Ubuntu 12.04 LTS \n \l
root@server1:~#Проверьте также:
- Версию ядра: uname -r
- Статус служб: systemctl status <имя_сервиса>
- Логи: /var/log/dist-upgrade/ и /var/log/apt/
Incident runbook — если обновление прошло с ошибками
- Если основной SSH упал, подключитесь к запасному порту 1022 (если он был запущен).
- Просмотрите логи в /var/log/dist-upgrade/ для выявления причин.
- Если система не загружается после перезагрузки:
- Перейдите в режим восстановления (Recovery mode) через загрузчик.
- Восстановите старые версии критичных пакетов из кеша APT (/var/cache/apt/archives) или из резервной копии.
- При повреждении конфигурации сервиса восстановите конфигурационный файл из резервной копии и перезапустите сервис.
- Если нужно откатиться полностью: восстановите снимок диска (snapshot) или загрузите резервную копию всей системы.
Важно: заранее планируйте окно обслуживания и проверяйте доступность резервных копий.
Альтернативные подходы
- Чистая установка: установить новую версию с нуля и перенести данные и конфигурации. Это часто безопаснее для крупных версий и при сильной кастомизации.
- Использование контейнеризации/VM: развернуть новую версию в VM или контейнере и переключить трафик после тестирования.
- Обновление поэтапно: сначала тестовая среда → препрод → прод.
Чеклист ролей
Администратор:
- Сделать полную резервную копию данных.
- Проверить диск на свободное место.
- Выполнить apt-get update && upgrade перед запуском do-release-upgrade.
- Проверить /etc/update-manager/release-upgrades.
Оператор/DevOps:
- Назначить окно обслуживания и уведомить пользователей.
- Обеспечить доступ к консоли провайдера (VNC/Serial) на случай недоступности SSH.
QA/Тестировщик:
- Протестировать ключевые сервисы после обновления.
- Проверить логи ошибок и целостность данных.
Критерии приёмки
- Сервер успешно загружен и отвечает на SSH.
- Ключевые сервисы (веб, база данных, мониторинг) запущены и проходят базовые проверки.
- Логи не содержат критичных ошибок, связанных с пакетами.
- Файлы конфигурации целы, а важные настройки совпадают с контрольной суммой/резервной копией.
Факты (по примеру сессии)
- Количество пакетов, подлежащих обновлению: 426
- Новых пакетов для установки: 52
- Удаляемых пакетов: 5 (в ходе обновления), затем 19 устаревших пакетов при очистке
- Размер загрузки: 286 M (около 286 МБ)
Эти цифры зависят от установленного ПО и могут отличаться на вашем сервере.
Советы и распространённые ошибки
- Не игнорируйте предупреждение об обновлении по SSH — приготовьте запасной доступ.
- Перед массовым обновлением проверьте совместимость критичных приложений с целевой версией Ubuntu.
- Не прерывайте процесс обновления вручную; это может привести к несогласованности пакетов.
Ссылки
- Ubuntu: http://www.ubuntu.com/
Резюме
- Подготовьте резервные копии и доступ к консоли провайдера.
- Обновляйте через do-release-upgrade с осторожностью при подключении по SSH.
- Проверьте систему после обновления и удалите устаревшие пакеты.
- При проблемах используйте запасной SSH-порт, логи и резервные снимки диска для отката.
Похожие материалы
Как объединить Google Drive и Google Photos
Экономия энергии в Windows: настройка питания
Вкладки Firefox постоянно крашатся — причины и решения
Opera GX — мини‑плеер не работает: исправление
Присоединение к домену в Windows 10 и 8.1