Home » Linux » Debian » Обновление Debian 9 Stretch до 10 Buster

Обновление Debian 9 Stretch до 10 Buster

6 июля 2019 года вышло очередное обновление популярного linux дистрибутива Debian. Это уже 10-й выпуск Debian под кодовым названием Buster. Я подробно расскажу, как выполнить обновление с предыдущего выпуска Debian 9 Stretch до Debian 10 Buster. Процесс обновления не сложный, выполняется штатными средствами с помощью apt.

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.

Введение

Подробную информацию о новой версии Debian можно узнать из официальной новости или статьи на opennet. Из наиболее значимых изменений можно отметить:

  • Реализована поддержка UEFI Secure Boot.
  • Включена по умолчанию поддержка системы мандатного контроля доступа AppArmor.
  • На смену iptables, ip6tables, arptables и ebtables пришёл пакетный фильтр nftables.
  • Ядро Linux обновлено до версии 4.19.
  • Обновлены серверные приложения, в том числе Apache httpd 2.4.38, BIND 9.11, Dovecot 2.3.4, Exim 4.92, Postfix 3.3.2, MariaDB 10.3, nginx 1.14, PostgreSQL 11, Samba 4.9 (в ядре обеспечена поддержка SMBv3).
  • Обеспечена поддержка гостевых систем Xen в режиме PVH
  • В OpenSSL отключена поддержка протоколов TLS 1.0 и 1.1, в качестве минимальной поддерживаемой версии заявлена TLS 1.2.

Обновление системы выполнить не сложно, справится практически любой пользователь, используя данное руководство. Проблемы могут возникнуть в отдельных пакетах и зависимостях. Но тут уже готовых советов не дать, нужно разбираться по месту. По моему опыту, чаще всего все проходит нормально, можно обновляться, выполнив соответствующую подготовку.

Подготовка сервера к обновлению

Будем обновлять следующую систему:

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.9 (stretch)
Release:	9.9
Codename:	stretch

Для нее мы проведем обновление до 10-й версии Buster.

Первым делом перед любым обновлением нужно сделать бэкап всей важной информации и файлов конфигураций. В каждом конкретном случае это будет свой набор данных, так что сами решайте, какие данные для вас являются важными, и копируйте их куда-нибудь.

Я рекомендую сделать резервную копию папок: /etc, /var/lib/dpkg, файла /var/lib/apt/extended_states. Сохраните вывод команды:

# dpkg --get-selections "*"

Подготовка debian 9 к обновлению

Эти шаги позволят сохранить список установленных пакетов и настроек к ним. Если работаете на виртуальной машине, то сделайте резервную копию или снэпшот перед обновлением.

Теперь обновим текущую систему Stretch:

# apt update
# apt upgrade
# apt dist-upgrade

Заменяем репозитории в файле /etc/apt/sources.list. Я предпочитаю использовать репозиторий яндекса — http://mirror.yandex.ru. Комментируем или удаляем все содержимое файла и добавляем следующие строки:

deb http://mirror.yandex.ru/debian buster main
deb-src http://mirror.yandex.ru/debian buster main

deb http://mirror.yandex.ru/debian buster-updates main
deb-src http://mirror.yandex.ru/debian buster-updates main

deb http://security.debian.org/ buster/updates main
deb-src http://security.debian.org/ buster/updates main

Обновляем список доступных пакетов для нового выпуска:

# apt update

Обновление debian

Обновление debian с 9 до 10

Обновление системы будем делать в 2 этапа. Сначала минимальное обновление, потом полное. Если будете работать по ssh, обязательно выполняйте обновление через screen или tmux, чтобы обрыв связи не помешал обновлению. В противном случае вы можете получить неработающий сервер. Прерывать обновление очень опасно. Я сам не раз натыкался на это и потом тратил время на восстановление сервера.

Делаем минимальное обновление:

# apt upgrade

Это приведет к обновлению только тех пакетов, которые можно обновить без необходимости удаления или установки других пакетов. Перед началом установки вам будет представлен список изменений нового выпуска. Можно его пролистать вниз, либо сразу нажать клавишу q, чтобы закрыть информацию и продолжить установку.

Во время обновления у вас спросят разрешение на перезапуск некоторых служб. Надо дать разрешение.

upgrade stretch to buster

После завершения минимального обновления debian, запускаем полное:

# apt dist-upgrade

Эта команда произведёт полное обновление системы, установив последние доступные версии всех пакетов и разрешит все изменившиеся между выпусками Stretch и Buster зависимости. При необходимости будут установлены новые пакеты и удалены все вызывающие конфликты устаревшие пакеты.

Во время обновления пакетов вам могут быть заданы вопросы по поводу конфигурационных файлов. Это зависит от конкретного набора софта. Я рекомендую сохранять старые конфиги. Если с ними будут какие-то проблемы, то потом в ручном режиме их исправлять. Мне кажется так проще, чем переносить конфигурацию со старого файла в новый.

После завершения работы команды apt dist-upgrade обновление завершено. Можно перезагружаться:

# reboot

Проверяем версию после загрузки:

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

Обновление Debian 9 Stretch до 10 Buster

Обновление stretch прошло успешно. На выходе имеем последнюю версию Debian 10.0 Buster. У меня не возникло проблем во время обновления, надеюсь у вас будет так же. Если вам нужно поставить систему с нуля, то используйте статью - Как скачать и установить Debian 10 Buster.

Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

14 комментариев

  1. Слабаки, я на дебиане с х86 до х64 архитектуру на боевом сервере уже второй раз обновляю, причем первый раз вообще делал удаленно, серверам по 10-12 лет, железо и диски уже несколько раз поменялись там конечно, а софт спокойно переезжает
    Вот где треш с зависимостями!!! )))

    • 50 минут простоя на 12 летнем серваке с обновленной материнкой и новая архитектура! почти 800 пакетов заменил

      • Аноним

        а замена интерфейса кстати еще в дебиане 9 на последнем ядре произошла в 22 году

  2. Видимо, нужно было обновляться из голой консоли, а не из терминала, запущенного в XFCE, которое у меня после обновления рухнуло.
    Надо бы написать об этом в начале статьи - "Выйдите из графической оболочки..." и т.д.

  3. На серверах, ранее обновленных с debian 8, может использоваться старое именование сетевых интерфейсов, не поддерживаемое в buster. Некоторые хостинги vps для создания образов предустановленных систем не делают новую установку, а обновляют с предыдущих версий, поэтому ситуация возможна. После обновления в этом случае получим неработающую сеть. Об этом есть информация в официальном документе по обновлению, тут тоже следовало бы указать.

    • Мне не на чем было проверять, поэтому не указывал. При переходе с 8 на 9 менялись имена интерфейсов, писал об этом. В любом случае, обновлять с версии на версию можно только те сервера, к которым есть прямой доступ к консоли и которые терпят простой. Иначе лучше не затевать обновление, а делать миграцию сервисов на новую версию. Я вообще в проде практически никогда не обновляюсь с релиза на релиз. Всегда делаю перенос. При обновлении нет гарантий, что не случится проблем.

      • С выходом debian 9 сменилось именование интерфейсов. Автоматически, в процессе обновления, ничего не менялось, чтобы не создавать проблем. Предполагалось, что администраторы сделают это вручную (либо "мигрируют", как вы это называете).
        В любом случае, не вижу никаких проблем обновить дистрибутив без миграции, ведь по сути, это то же обновление, только количество затрагиваемых пакетов побольше. А решение (ну или хотя бы упоминание) большинства потенциальных проблем есть в официальной документации к релизу.

        • А зачем? По моему опыту, за время поддержки релиза чаще всего так или иначе придется переезжать. Сейчас очень быстро все меняется. Если нужно что-то настроить на долго (к примеру, почтовый сервер), я использую centos.

          В общем случае, обновиться не сложно. Проблемы могут возникнуть потом в софте, в его зависимостях. Так что как минимум, я бы проверил обновление на точной копии, перед тем, как обновлять прод. У меня всегда подход на максимальную стабильность.

          Если есть риск, я на него не иду. Считаю, что обновление релиза это риск. Это говорит мой опыт работы. Я начинал более 10-ти лет назад еще на freebsd и там тоже можно было переходить с релиза на релиз. В общем случае, все было нормально, но и проблемы иногда бывали там, где их не ждешь.

    • Обновился с 8 на 9, потом на 10, имя интерфейса осталось старым (eth0), сеть работает.

      • Георгий

        У нас есть сервер, которой со времен 6 обновляется - и ничего, жив-здоров

  4. Родион

    А iptables останутся и будут ли работать если делать обновление с 9 до 10?

    • У меня остались работать.

    • Георгий

      У buster по умолчанию работают nftables.
      Если вы обновляете шлюз, то может всё и повалиться. устанавливайте старые iptables, после апгрейда:

      update-alternatives --set iptables /usr/sbin/iptables-legacy

    • Обновил свой домашний маршрутизатор с 9 до 10, использую iptables, никаких проблем не возникло.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar