Обновление Debian 9 (stretch) до Debian 10 (buster)

О чём эта инструкция
Debian 10, кодовое имя “Buster”, выпущен в июле 2019 года и содержит обновлённое ядро Linux 4.19, улучшения безопасности, поддержку современных окружений рабочего стола и обновлённую систему управления пакетами. Эта инструкция шаг за шагом объясняет, как безопасно перейти с Debian 9 (stretch) на Debian 10 (buster) на сервере или виртуальной машине.
Важно: перед началом убедитесь, что у вас есть рабочая резервная копия и план отката.
Кому это пригодится
- Системным администраторам и инженерам DevOps
- Владельцам серверов на Debian 9, которым нужны исправления безопасности и новые пакеты
- Любому, кто поддерживает производственные или тестовые среды на Debian
Что нового в Debian 10 — кратко
- Ядро: Linux 4.19 — лучшее аппаратное сопровождение и производительность.
- Безопасность: улучшения AppArmor, защита от stack clash, усилённая защита памяти на x86-64.
- Окружения рабочего стола: GNOME 3, KDE Plasma 5, Xfce с улучшениями удобства.
- Пакеты: поддержка современных форматов (Snap, Flatpak) вместе с классическими .deb и инструментами управления.
Предварительные требования
- Сервер или ВМ с Debian 9 (stretch).
- Доступ root или sudo с правами на выполнение операций по обновлению.
- Полная резервная копия важных данных и конфигураций (снимок диска/тома, экспорт БД, копии /etc).
- Стабильное подключение к интернету.
- Отключённые или удалённые внешние репозитории сторонних производителей (PPAs, нестандартные .list), по возможности — отключите их на время обновления.
Важно: если сервер в критичной среде, сначала протестируйте процедуру на копии (staging/VM).
Контрольный список перед обновлением
- Полная резервная копия данных и конфигураций
- Снимок виртуальной машины или LVM/ZFS-снимок
- Проверка свободного места на корневом разделе
- Отключение внешних репозиториев
- Документирование текущих версий (lsb_release, uname, dpkg -l)
Шаг 1 — Обновите текущую систему (stretch)
Обновите и поднимите текущие пакеты до последних версий в Debian 9. Это уменьшит риск конфликтов при переходе.
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -yУдалите ненужные пакеты и очистите кэш:
apt-get autoremove -y
apt-get cleanПерезагрузите сервер, чтобы применить обновления ядра и системных служб:
rebootПосле перезагрузки проверьте текущую версию системы:
lsb_release -aОжидаемый вывод до обновления:
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9 (stretch)
Release: 9
Codename: stretchШаг 2 — Обновите APT-источники на buster
Обновите записи в /etc/apt/sources.list и в /etc/apt/sources.list.d/*.list, заменив stretch на buster.
Автоматически:
sed -i 's/stretch/buster/g' /etc/apt/sources.list
sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*.listИли вручную откройте файл в редакторе и замените вхождения:
nano /etc/apt/sources.listТипичный набор записей для buster:
deb http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb http://security.debian.org/debian-security buster-security mainСохраните файлы и проверьте, что в /etc/apt/sources.list.d нет оставшихся ссылок на stretch.
Важно: сторонние репозитории (например, репозитории производителей ПО) могут не поддерживать buster. Отключите их и добавьте обратно только после проверки совместимости.
Шаг 3 — Обновление до buster
- Обновите индекс пакетов:
apt-get update -y- Обновите текущие пакеты без установки новых пакетов, чтобы снизить риск появления неожиданных зависимостей:
apt upgrade --without-new-pkgs -y- Запустите полное обновление, которое может установить новые зависимости и удалить устаревшие пакеты:
apt-get full-upgrade -yВо время обновления могут появляться вопросы от dpkg (конфигурационные файлы, systemd unit-файлы). Внимательно читайте подсказки: чаще всего безопасно принимать обновления конфигурации, но если вы вручную правили конфиги в /etc, сохраните копии перед подтверждением.
После завершения перезагрузите систему:
rebootШаг 4 — Проверки после обновления
Проверьте версию системы:
lsb_release -aОжидаемый вывод после успешного обновления:
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: busterДополнительные проверки:
- uname -r — проверьте версию ядра (должно быть ядро 4.19.x, если вы не используете сторонние ядра).
- systemctl status
— убедитесь, что ключевые службы (nginx, apache2, ssh, postgresql, mysql) активны. - journalctl -e — просмотрите последние ошибки systemd/journal.
- dpkg -l | grep -E “rc|ii” — проверьте состояние пакетов (нет ли конфликтов).
Если вы используете LAMP/LEMP/контейнеры, выполните тестовые запросы к приложению и проверьте логи.
Откат и план восстановления
Если обновление прошло некорректно и нужно вернуться к предыдущему состоянию:
- Если у вас есть снимок виртуальной машины или LVM/ZFS-snapshot — восстановите его.
- Если есть полная резервная копия /etc и данных — можно откатить конфигурации и переустановить необходимые пакеты в stretch-репозиториях (сложный и рискованный процесс).
Рекомендация: всегда используйте снимки/образ VM для быстрого отката. Ручной откат пакетов часто приводит к несогласованности зависимостей.
Частые проблемы и решения
Проблема: сервисы не запускаются после обновления. Решение: проверьте journalctl -u
. Посмотрите на изменения unit-файлов и зависимости. Возможно, нужно обновить конфигурацию или пересобрать сторонние модули. Проблема: конфликт конфигурационных файлов в dpkg. Решение: при появлении выбора сохраняйте текущую версию, если вы вносили правки; или сохраняйте новую, если конфигурация стандартная. Всегда сохраняйте резервные копии перед подтверждением.
Проблема: недостаточно места на /boot или /var. Решение: удалите старые ядра и неиспользуемые пакеты (apt-get autoremove), временно увеличьте диск или очистите кэш.
Риски и меры смягчения
Риск: сторонние репозитории несовместимы. Меры: отключите до обновления и протестируйте пакеты в тестовой среде.
Риск: потеря конфигураций. Меры: сделайте резервные копии /etc, экспорты баз данных и снимки дисков.
Риск: длительное время простоя. Меры: обновляйте в окне обслуживания, используйте кластер/план переноса нагрузки.
Роль‑базовые чеклисты
Системный администратор:
- Создать снимок/резервную копию
- Проверить совместимость ПО с buster
- Отключить внешние репозитории
- Выполнить обновление и проверить службы
DevOps инженер:
- Автоматизировать тесты на staging
- Проверить CI/CD на совместимость зависимостей
- Обновить образы Docker/VM
Разработчик приложения:
- Тестировать приложение на buster-стеке
- Проверить зависимости языка/пакетов (Python, Node, Ruby)
Критерии приёмки
- lsb_release показывает Debian 10 (buster)
- Ключевые сервисы запускаются без ошибок
- Приложения проходят smoke-тесты
- Логи не содержат критичных ошибок в течение 24–72 часов
Краткое резюме
Обновление с Debian 9 до Debian 10 — стандартная операция, если подготовиться заранее: сделать снимки/резервные копии, отключить сторонние репозитории, обновить пакеты поэтапно и выполнить контрольные проверки после перезагрузки. В критичных средах сначала прогоняйте процедуру на тестовой копии.
Важно: при любых сомнениях используйте снимки виртуальной машины для простого и быстрого отката.
Дополнительные ресурсы и команды для диагностики:
- Просмотр ядра: uname -a
- Просмотр пакетов: dpkg -l | less
- Проверка доступного места: df -h
- Просмотр журналов: journalctl -xe
Если нужны шаблоны playbook для Ansible или шаги для автоматизации обновления в кластере — добавлю примеры на запрос.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента