Обновление Debian 8 (Jessie) до Debian 9 (Stretch)
Зачем это нужно
Коротко: Debian 9 (Stretch) содержит исправления безопасности, обновлённые пакеты и улучшения производительности по сравнению с Debian 8 (Jessie). “dist-upgrade” — это команда apt, которая обновляет зависимости и при необходимости удаляет или устанавливает пакеты для перехода на новую версию дистрибутива.
Важно: прежде чем начинать, убедитесь, что у вас есть валидные резервные копии и план отката.
Предварительные шаги — резервное копирование
Сделайте резервные копии всех критичных данных. Особое внимание уделите конфигам в /etc, домашним каталогам /home, данным веба (/var/www), почтовым данным (/var/vmail) и базам данных (MySQL/PostgreSQL). Храните архивы на внешнем диске, удалённом сервере или в облаке.
Примеры с tar (сохраняйте файлы .tar.gz и .sql на безопасном носителе):
tar -pczf etc.tar.gz /etctar -pczf www.tar.gz /var/wwwtar -pczf home.tar.gz /homeДля ISPConfig 3 (почтовые файлы):
tar -pczf vmail.tar.gz /var/vmailРезервная копия MySQL (дамп всех баз):
mysqldump --defaults-file=/etc/mysql/debian.cnf -cCeQ --hex-blob --quote-names --routines --events --triggers --all-databases -r all_databases.sqlПримечание: если у вас PostgreSQL, используйте pg_dumpall или специализированный инструмент для репликации.
Проверка /etc/apt/sources.list (ключевой шаг)
Откройте /etc/apt/sources.list в редакторе (nano/vi) и убедитесь, что текущие записи указывают на “jessie”, а не на “stable”. Если оставить “stable”, apt может перейти на stretch раньше времени.
nano /etc/apt/sources.listПример корректных строк для Jessie:
deb http://httpredir.debian.org/debian jessie main contrib non-free
deb http://httpredir.debian.org/debian jessie-updates main contrib non-free
deb http://security.debian.org jessie/updates main contrib non-freeВажно: если вы используете локальные зеркала или прокси-пакетов, отредактируйте соответствующие URL.
Обновление пакетов для Debian 8 (Jessie)
Чтобы система была в устойчивом состоянии перед переходом, установите все доступные обновления Jessie’s:
apt-get updateapt-get upgradeapt-get dist-upgradeОпределение: “apt-get upgrade” обновляет пакеты без удаления существующих; “apt-get dist-upgrade” может менять зависимости, устанавливать или удалять пакеты.
Проверка состояния пакетов
Убедитесь, что нет пакетов в состоянии “on hold” или повреждённых/неполных установок. Исправьте такие проблемы перед продолжением.
dpkg --audit
dpkg --get-selections | grep holdЕсли команды ничего не возвращают, можно продолжать.
Замена записей на Stretch (Debian 9)
Отредактируйте /etc/apt/sources.list и замените jessie на stretch:
nano /etc/apt/sources.listЗамените содержимое на:
deb http://httpredir.debian.org/debian stretch main contrib non-free
deb http://httpredir.debian.org/debian stretch-updates main contrib non-free
deb http://security.debian.org stretch/updates main contrib non-freeСохраните файл и обновите список пакетов:
apt-get updateПроверка доступных обновлений
Посмотреть, какие пакеты будут обновлены:
apt list --upgradableОбновление в два шага (рекомендуется)
Выполните сначала простое обновление, затем распределённое:
apt-get upgradeЗатем — основной переход на новую версию:
apt-get dist-upgradeПосле успешного завершения перезагрузите систему, чтобы загрузить новый ядро и службы:
rebootПроверка версии после обновления
Проверьте файл /etc/os-release:
cat /etc/os-release
Критерии приёмки
- Система загрузилась без ошибок.
- /etc/os-release показывает “stretch” или VERSION_ID=”9”.
- Все критичные сервисы (веб, БД, почта) запущены и проходят базовые тесты.
- Резервные копии доступны и проверены.
План отката — быстрый runbook
- Немедленно после неудачного обновления не перезагружайте систему, если возможно.
- Если система не загружается после обновления — загрузитесь с резервного ядра или live-CD.
- Восстановите /etc, /var/www, /home и дампы БД из резервных архивов на временной системе.
- Если требуется — восстановите полный образ диска из резервного хранилища.
- Проанализируйте логи apt (/var/log/apt) и dpkg (/var/log/dpkg.log) перед повторной попыткой.
Риски и рекомендации (матрица)
| Риск | Вероятность | Влияние | Митигирование |
|---|---|---|---|
| Некорректные конфигурации служб | Средняя | Высокое | Тестовое окружение, резервные копии, проверка конфигов |
| Прерывание обновления (напр. отключение питания) | Низкая | Высокое | Источник бесперебойного питания, чекпоинты, зеркальные копии |
| Конфликты версий PHP/Perl/модулей | Средняя | Среднее | Проверить совместимость, тестовая среда, план миграции модулей |
Чек-листы по ролям
- Системный администратор:
- Сделать резервные копии и проверить их целостность.
- Проверить свободное место на / и /var.
- Обновить все пакеты Jessie.
- Провести dist-upgrade и перезагрузку.
- DBA:
- Сделать дамп всех баз и проверить восстановление на тестовом хосте.
- При необходимости поставить репликацию для минимизации простоя.
- DevOps/Release:
- Прогнать smoke-тесты приложений после обновления.
- Мониторить логи и метрики 24–48 часов.
Советы по совместимости и миграции
- Проверьте версии PHP, MySQL, OpenSSL и других критичных библиотек в stretch.
- Прогоните приложение в тестовом окружении с теми же пакетами Stretch.
- Для устаревших пакетов рассмотрите backports или сборку из исходников.
Полезные команды — шпаргалка
- Обновить индексы: apt-get update
- Простое обновление пакетов: apt-get upgrade
- Полный переход: apt-get dist-upgrade
- Проверить состояние dpkg: dpkg –audit
- Список доступных обновлений: apt list –upgradable
Краткий словарь
- Jessie — кодовое имя Debian 8.
- Stretch — кодовое имя Debian 9.
- dist-upgrade — режим обновления, который может менять зависимости и устанавливать/удалять пакеты.
Когда обновление может не подойти
- Если у вас устаревшее проприетарное ПО, не совместимое со Stretch.
- Если критичны определённые версии пакетов, которые больше не доступны. В таких случаях рассмотрите перенос сервисов на отдельные контейнеры или виртуальные машины.
Заключение
Следуйте плану: полные резервные копии → обновления Jessie → замена источников на stretch → dist-upgrade → перезагрузка → проверка сервисов. Тестируйте в staging перед продакшеном и имейте готовый план отката.
Примечание: ссылки на официальную документацию Debian всегда полезны: http://www.debian.org/
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента