Обновление сервера Ubuntu с помощью do-release-upgrade
Краткое руководство — что делает этот документ
Дальше описаны шаги для обновления сервера Ubuntu (повышение версии дистрибутива) с примерами команд, выводом утилиты и рекомендациями по откату и проверкам после обновления.
Подготовка (корневые привилегии и обновления пакетов)
- Сначала получите привилегии root:
sudo su- Обновите индекс пакетов:
apt-get update- Установите последние версии пакетов:
apt-get upgrade- Установите необходимый пакет менеджера обновлений:
apt-get install update-manager-core- Откройте файл конфигурации менеджера релизов и убедитесь, что в нём стоит Prompt=normal:
vi /etc/update-manager/release-upgradesПример содержимого файла:
[...]
Prompt=normalВажно: Prompt=normal позволяет переходить между обычными релизами (не только LTS). Если вы хотите только LTS-обновления, установите Prompt=lts.
Шаги обновления дистрибутива
- Запустите процесс обновления дистрибутива:
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,200 kB]
Fetched 1,200 kB in 0s (0 B/s)
authenticate 'quantal.tar.gz' against 'quantal.tar.gz.gpg'
extracting 'quantal.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 an 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?
1 package is going to be removed. 58 new packages are going to be
installed. 587 packages are going to be upgraded.
You have to download a total of 353 M. This download will take about
1 minute 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?
18 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.10 \n \lВажные замечания и предосторожности
- Обязательно сделайте резервную копию важных данных и конфигураций перед обновлением.
- Обновление по SSH рискованнее: утилита предложит запустить дополнительный sshd на порту 1022 для спасения в случае проблем. Убедитесь, что вы знаете, как подключиться к нему и при необходимости открыть порт во фаерволе.
- Обновление может занять много времени и требует достаточного дискового пространства.
- На production-серверах предпочитайте плановые окна обслуживания и тестирование на стенде.
Мини-методология: пошаговый план
- Снимите снапшот/резервную копию (VM snapshot или бэкап конфигураций и данных).
- Обновите текущие пакеты (apt-get update && apt-get upgrade).
- Проверьте /etc/update-manager/release-upgrades: Prompt=normal или Prompt=lts.
- Запустите do-release-upgrade и внимательно читайте подсказки.
- Разрешайте перезапуск сервисов по умолчанию, если не уверены в последствиях.
- При запросе — удалите устаревшие пакеты.
- Перезагрузите систему и проверьте /etc/issue и работающие сервисы.
- Мониторьте систему 24–48 часов после обновления.
Чек-лист по ролям
- Системный администратор: бэкап, проверка свободного места, запуск обновления, мониторинг логов.
- DevOps-инженер: тестирование миграции в staging, проверка CI/CD, откат конфигураций.
- Служба поддержки: уведомление пользователей о возможных простоях, готовность принять инциденты.
План восстановления (инцидентный runbook)
- Если SSH перестал отвечать, подключитесь к дополнительному sshd на порту 1022 (если он был запущен).
- Если порт не открыт во фаерволе — при необходимости откройте временно: iptables -I INPUT -p tcp –dport 1022 -j ACCEPT.
- Восстановите конфигурационный файл из резервной копии или откатите пакет, вызвавший проблему через apt.
- Если система не загружается, загрузитесь в режим восстановления (recovery mode) или с live-образа и восстановите состояние из снапшота.
Совместимость и советы по релизам
- Prompt=normal: переход между обычными релизами (не только LTS).
- Prompt=lts: обновление только между LTS-релизами.
- На серверах с критичными сервисами рекомендован переход между LTS-релизами с предтестированием.
Факт-бокс: ключевые цифры (как в примере вывода)
- Пакетов для обновления в примере: 587 пакетов.
- Новых пакетов: 58; удаляемых: 1 (в другом моменте — 18 устаревших пакетов для удаления).
- Объём скачивания в примере: 353 M (≈353 МБ).
- Ожидаемое время загрузки в примере: около 1 минуты (зависит от канала).
Глоссарий (одна строка каждый)
- do-release-upgrade — утилита для обновления версии Ubuntu.
- Prompt — параметр в /etc/update-manager/release-upgrades, управляющий типом релизов.
- sshd — демон SSH, обслуживающий удалённые подключения.
Резюме
Следуйте последовательности: бэкап → обновление пакетов → проверка Prompt → do-release-upgrade → удаление устаревших пакетов → перезагрузка и верификация. На production-серверах тестируйте и планируйте окно обслуживания.
Ссылки
- Ubuntu: http://www.ubuntu.com/
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента