Обновление Ubuntu 12.04 до 14.04 LTS
Коротко: сделайте полную резервную копию, убедитесь в статическом IP и работоспособности сервисов, затем выполните apt-get update, установите update-manager-core, проверьте /etc/update-manager/release-upgrades с Prompt=lts и запустите do-release-upgrade. После обновления проверьте версию через cat /etc/lsb-release и перезагрузите сервер.
Предварительное примечание
Этот материал описывает последовательность действий для обновления сервера с Ubuntu 12.04 на Ubuntu 14.04 LTS. Выполняйте операции с правами root или через sudo. Перед началом убедитесь, что у вас есть базовая установка Ubuntu 12.04 Server и статический IP-адрес. В примерах используется IP 192.168.0.100 и hostname server1.example.com — замените их на ваши значения.
Важно: LTS-релизы Ubuntu (например, 12.04, 14.04) выходят примерно каждые 2 года и получают обновления безопасности и исправления в течение 5 лет.
Что будет сделано (кратко)
- Полный бэкап данных
- Обновление списка пакетов и установка менеджера обновлений
- Настройка механизма обновлений на LTS-обновления
- Запуск do-release-upgrade
- Проверка и перезагрузка
Подготовка и резервное копирование
- Создайте полную резервную копию данных и конфигураций на внешний носитель или сетевой ресурс (например, rsync на другой хост или копия на USB-диск). Пример:
rsync -avz /etc /var /home backup-host:/backups/server1/
- Зафиксируйте список установленных пакетов:
dpkg --get-selections > /root/package-list-12.04.txt
- Снимите копию важных конфигурационных файлов (nginx, apache, mysql/postgres и т.д.).
Важно: не продолжайте без рабочей резервной копии. При ошибке это позволит быстро восстановиться.
1. Обновление менеджера и подготовка к релизу
Обновите индекс пакетов и установите update-manager-core:
apt-get update
apt-get install update-manager-core
Отредактируйте файл /etc/update-manager/release-upgrades и убедитесь, что Prompt установлен в lts:
vi /etc/update-manager/release-upgrades
В файле должно быть примерно так:
# Default behavior for the release upgrader.
[DEFAULT]
# Default prompting behavior, valid options:
#
# never - Never check for a new release.
# normal - Check to see if a new release is available. If more than one new
# release is found, the release upgrader will attempt to upgrade to
# the release that immediately succeeds the currently-running
# release.
# lts - Check to see if a new LTS release is available. The upgrader
# will attempt to upgrade to the first LTS release available after
# the currently-running one. Note that this option should not be
# used if the currently-running release is not itself an LTS
# release, since in that case the upgrader won't be able to
# determine if a newer release is available.
Prompt=lts
Если вы хотите перейти на обычный (non-LTS) релиз — используйте Prompt=normal. Для нашей задачи оставьте Prompt=lts.
2. Запуск обновления релиза
Запустите процесс обновления:
do-release-upgrade -d
Примечание: опция -d в некоторых случаях требуется для обнаружения следующего релиза, особенно если репозитории или зеркала обновлены с задержкой. Во время выполнения обновления вам будут заданы вопросы о перезаписи конфигурационных файлов и остановке сервисов — выбирайте опции осознанно. Если не уверены, сохраняйте текущие конфигурации (обычно ответ «n» для автоматической перезаписи) и разберитесь после обновления.
Время обновления зависит от объёма пакетов и скоростей каналов — на примере автора это заняло около 20 минут, но у вас может занять от десятков минут до нескольких часов.
После завершения обновления система предложит перезагрузку. Перезагрузите сервер.
3. Проверка успешности обновления
После перезагрузки проверьте версию:
cat /etc/lsb-release
Пример вывода:
root@server1:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
root@server1:~$
Если видите DISTRIB_RELEASE=14.04 — обновление успешно.
Критерии приёмки
- Система грузится и выдает DISTRIB_RELEASE=14.04
- Все критичные сервисы (веб, БД, SSH) стартуют и работают
- Конфигурационные файлы проверены и, при необходимости, восстановлены
- Резервные копии успешно созданы и доступны
Откат и аварийный план (runbook)
- Если сервер не загружается — загрузитесь в single-user или recovery mode и восстановите /etc/fstab или другие критичные файлы из резервной копии.
- При серьёзных проблемах откатитесь к полному образу диска из бэкапа (raw-образ или снимок LVM/VM).
- В крайнем случае — разверните новую систему 12.04 из образа, восстановите данные и попробуйте миграцию снова после анализа ошибок.
Совет: перед окончательной перезагрузкой сохраните список пакетов и конфигураций — это упростит откат.
Частые проблемы и способ их решения
Проблема: do-release-upgrade не находит релиз. Решение: проверьте файл /etc/update-manager/release-upgrades, зеркала в /etc/apt/sources.list и наличие подключения к интернету.
Проблема: конфликт конфигураций при установке пакетов. Решение: временно сохраните старую конфигурацию (имя.conf.old) и примите новую по умолчанию, затем вручную объедините отличия.
Проблема: сервис не запускается после обновления. Решение: проверьте журналы systemd (journalctl -u
) и сравните версии зависимостей (lib*, python, php, etc.). Иногда требуется пересобрать модуль или переконфигурировать сервис.
Альтернативные подходы
- Чистая установка: разверните сервер с Ubuntu 14.04 и восстановите данные и конфигурации. Это часто чище, но требует больше времени на настройку.
- Переход через промежуточный релиз: для некоторых сценариев целесообразно тестировать на staging-сервере перед production.
Контроль совместимости и советы по миграции
- Проверьте версии приложений и модулей (PHP, Python, MySQL/Postgres). Некоторые пакеты могли изменить названия или иметь несовместимые версии.
- Пересмотрите init-скрипты: между 12.04 и 14.04 растет распространение systemd/Upstart — убедитесь, что сервисы корректно запускаются.
- Тестируйте конфигурации на тестовом сервере с теми же пакетами.
Чек-лист для администратора перед обновлением
- Полная резервная копия данных
- Сохранён список пакетов (dpkg –get-selections)
- Копии конфигураций (nginx/apache, БД)
- Проверено свободное место на / и /boot
- Обновлены все текущие пакеты (apt-get update && apt-get upgrade)
- План отката и доступ к бэкапам
Краткий словарь
- LTS: Long Term Support — длительная поддержка (обычно 5 лет для Ubuntu LTS).
- do-release-upgrade: утилита для обновления дистрибутива Ubuntu.
Итог
Обновление с Ubuntu 12.04 на 14.04 LTS — прямой и поддерживаемый путь: подготовьте резервные копии, настройте Prompt=lts, выполните do-release-upgrade и проверьте систему. При проблемах используйте созданные бэкапы и runbook для отката.
Примечание: после обновления рекомендуется просмотреть журналы, запустить тесты сервисов и при необходимости применить дополнительные меры безопасности и обновления конфигураций.
Ссылки
- Ubuntu: http://www.ubuntu.com/
Похожие материалы

Как активировать аккаунт Twitch быстро

Как проверить конденсатор мультиметром

Вернуть старое окно создания письма в Gmail

Как заблокировать YouTube на роутере через OpenDNS

Как создать ярлык в Snapchat — инструкция
