Как обновить Debian 12 до Debian 13 Trixie

Релиз Debian 13 Trixie состоялся 9 августа 2025 года. На текущий момент он уже достаточно настоялся, так что можно потихоньку переходить к обновлению. В статье подробно расскажу, как обновиться с прошлого релиза Debian 12 до 13-й версии Trixie.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Реклама ИП Скоромнов Д.А. ИНН 331403723315

Что нового в Debian 13

Debian традиционно славится своей стабильностью и консерватизмом. Это не та система, где тестируются и внедряются революционные изменения. В ней обычно поддерживается и обновляется привычная пакетная база и инструменты установки и обслуживания. Так что среди основных обновлений нового релиза обычно идут обновления пакетов. Конкретно мне такой подход нравится, поэтому Debian - базовая система для моих боевых серверов.

Не буду перечислять все изменения. Сделаю акцент только на том, что мне показалось наиболее интересным и полезным.

  • Обновился менеджер пакетов APT. Наконец-то в интерфейсе появились колонки, подсветка, более наглядный прогресс бар. Удивительно, что столько лет в Debian стоял такой архаичный в плане визуализации менеджер пакетов. Никогда не понимал, почему его немного не доработают, чтобы было удобнее. Но даже эта свежая версия APT не дотягивает до удобства того, что было в YUM и DNF лет 15 назад. Казалось бы, немного форматирование добавить, чтобы было удобно. Но почему-то никто этим не занимался. Отдельно отмечу, что для APT появился новый формат файла конфигурации репозиториев.
  • Немного поменялся установщик. Я уже лично посмотрел на его. По описанию показалось, что он сильно поменялся. На деле не увидел изменений. Основные изменения под капотом. Внешний вид точно такой же остался. Упоминалось, что изменился алгоритм автоматического выбора точек монтирования. Заметил только, что размер раздела под swap немного по-другому выбирается. Больше никакой разницы не увидел со старым установщиков, который я знаю ещё со времён 6-й версии.
  • Удалена поддержка архитектуры i386. Не знаю, кто и зачем её до сих пор использует, но изменение знаковое, указывающее на то, что держаться за эту архитектуру уже давно не стоит, раз даже такой консерватор, как Debian, от неё отказывается.
  • Разработчики обещают существенный прирост производительности на популярных в наши дни процессорах AMD EPYC. Прирост заметный (13%), но как всё это тестировалось и на каких задачах, я не изучал. Обычно такие заметные приросты бывают не вообще, а в каких-то отдельных задачах, с которыми сталкиваются далеко не все пользователи.
  • Раздел /tmp перенесли в оперативную память и стали чаще очищать. Это стоит иметь ввиду. Бывают деятели, которые что-то размещают в /tmp, забывают и потом используют на постоянку. А после перезагрузки случается сюрприз.
  • Убраны утилиты last, lastb и lastlog. Вместо них можно использовать wtmpdb (пакет libpam-wtmpdb), lastlog2 (пакет libpam-lastlog2) и команду lslogins --failed.

Вроде всё более-менее значимое перечислил, на что обратил внимание. Основное, конечно apt. С новым стало удобнее.

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

Для обновления с версии Debian 12 (bookworm) есть официальное руководство. В общем случае стоит следовать этой инструкции. С другой стороны, там очень много всего написано, а по факту обновление простое. Проходит в несколько шагов и всё это вычитывать не имеет большого смысла. Самое интересное и полезное написано в разделе Issues to be aware of for trixie. Отмечу основное:

  1. В случае обрыва связи при обновлении по SSH, возникнут непредвиденные проблемы. Это факт! Если есть возможность, запускайте прямо с консоли. Но в общем случае и по SSH всё пройдёт нормально, если не будет обрывов связи. Даже с ними не обязательно, что всё сломается. Но шанс есть.
  2. Поддержки архитектуры i386 нет. Обновлять такие системы на версию 13 Trixie не надо.
  3. Если у вас /boot на отдельном разделе (у меня обычно нет), то убедитесь, что там есть 300 МБ доступного места.
  4. В 13-й версии /tmp переезжает, как я уже говорил, в оперативную память. Имейте это ввиду, если каким-то образом используете этот раздел. Он может занимать до 50% доступной памяти, если она свободна. Поменять это можно в systemd tmp.mount.
  5. Если у вас на сервере установлена MariaDB, имейте ввиду, что режим recovery запустится только с теми же бинарниками, с которыми база упала. То есть если аварийно завершите работу СУБД версии 10.11 и обновитесь до 11.8, восстановление не сработает. Поэтому перед обновлением корректно завершите работу СУБД, чтобы она остановилась без каких-либо ошибок.
  6. Если в системе используется служба systemd-sysctl, то файл /etc/sysctl.conf больше ею не поддерживается. Вместо него используется /usr/lib/sysctl.d/50-default.conf. Важное изменение. Имейте ввиду. Настройки лучше хранить в /etc/sysctl.d/*.conf.
  7. Заметно изменилась конфигурация dovecot в новых версиях. Если у вас установлен этот imap сервер, то сначала протестируйте и отладьте новую конфигурацию, а потом уже обновляйте почтовый сервер.

Остальные замечания показались очень специфичными и узкими по тематике. Я не увидел, где бы мог с ними столкнуться.

Начинаем обновлять Debian 12 до 13. Сохраним перед этим на всякий случай список установленных пакетов. После обновления часть из них может быть по разной причине удалена или заменена. Полезно знать, что было изначально:

# dpkg --get-selections "*" > ~/dpkg.list

Эта команда из руководства по обновлению. Я бы сюда добавил ещё и версии пакетов:

# dpkg -l > ~/dpkg-full.list

Перед обновлением до нового релиза, надо установить все обновления на старый:

# apt update && apt upgrade && apt dist-upgrade && apt --purge autoremove

На всякий случай проверьте, что вы точно обновляете 12-ю версию, а не более раннюю. Обновление с релиза на релиз поддерживается только последовательно. Через 2 релиза прыгать нельзя:

# hostnamectl
# lsb_release -a
# cat /etc/debian_version

Проверка системы перед обновлением

У вас должна быть версия Debian 12.12.

Если у вас используются пакеты не из стандартного репозитория, то в общем случае их рекомендуется удалить и потом установить заново. Чаще всего репозитории привязаны к конкретной версии релиза ОС. После его изменения, эти репозитории работать не будут. Старый софт из них может быть привязан к старым версиям пакетов и с новыми работать не будет. Его надо будет тоже обновлять. Для этого нужно будет подключить другие репозитории уже под новую версию Trixie.

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

Посмотреть пакеты из сторонних репозиториев можно так:

# apt list '?narrow(?installed, ?not(?origin(Debian)))'

Список пакетов из нестандартных репозиториев

В моём примере у меня только что-то из Docker установлено из стороннего репозитория. С ним скорее всего проблем не будет, либо я их решу потом по ходу дела.

Это я так думал по опыту прошлых обновлений. Дополняю уже после обновления. На деле же, если не удалить пакеты docker-compose и docker-buildx, то в процессе обновления будет конфликт с новыми пакетами docker-compose-plugin и docker-buildx-plugin. Так что лучше удалите заранее.

dpkg --remove docker-compose-plugin docker-buildx-plugin

Обновление репозиториев на новую версию trixie

Теперь обновляем репозитории в файле /etc/apt/sources.list на новую версию релиза с bookworm на trixie. Для этого релиза есть рекомендация уходить от настроек в файле sources.list на размещение их в директории /etc/apt/sources.list.d/ в новом формате. Сделаем, как рекомендуем, хотя можно остаться и на старом формате. Создаю в этой директории файл debian.sources следующего содержания:

Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

В новом формате используется служба APT CDN, которая автоматически выбирает наиболее близкий и быстрый к вам источник пакетов. Старый файл sources.list нужно удалить. Если же хотите остаться на нём, то вот пример его обновления под версию trixie:

deb http://deb.debian.org/debian trixie main
deb http://deb.debian.org/debian trixie-updates main
deb http://security.debian.org/debian-security trixie-security main
deb http://ftp.debian.org/debian trixie-backports main

Обновляем список пакетов из нового репозитория:

# apt update

Обновление пакетов для новой версии Debian 13 Trixie

Посмотрим, сколько нужно доступного места для обновления.

apt -o APT::Get::Trivial-Only=true full-upgrade

Проверка необходимого места для обновления

В этом релизе скромно по месту получилось. Обычно больше надо. В любом случае убедитесь, что места хватает.

Обновление Debian 12 до 13 Trixie

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

Запускаем минимальное обновление, которое не требует установки новых пакетов или удаления старых. Просто обновятся версии тех пакетов, которые могут это сделать.

# apt upgrade --without-new-pkgs

Обновление до Debian 13 Trixie

Далеко не уходите, вам будут задавать вопросы. Например, перезапускать ли службы?

Вопросы в процессе обновления

Соглашайтесь.  Потом ещё раз. Процесс должен завершиться без ошибок.

Частичное обновление

Если это так, то выполните полное обновление Debian 12 до Debian 13:

# apt full-upgrade

Полное обновление Debian 12 до Debian 13

Вам опять будут задавать вопросы. На всё можно отвечать по умолчанию.

В процессе обновления я всё же получил ошибку на пакеты Docker из его собственного репозитория. Дело в том, что в Debian 13 пакет docker-compose заменяется пакетом docker-compose-plugin. Это приводит к конфликту. Пришлось удалить этот пакет и его хвосты:

# dpkg --remove --force-all docker-compose
# rm -f /usr/libexec/docker/cli-plugins/docker-compose
# dpkg --configure -a
# apt -f install

И продолжить обновление:

# apt full-upgrade

Опять словил ошибку с докером:

Errors were encountered while processing:
/tmp/apt-dpkg-install-pamhQT/11-docker-buildx_0.13.1+ds1-3_amd64.deb
needrestart is being skipped since dpkg has failed
Error: Sub-process /usr/bin/dpkg returned an error code (1)

Теперь конфликтует пакет docker-buildx. Удалил его тоже. И дальше обновление прошло без ошибок. После его завершения, выполнил очистку старых пакетов:

# apt autoremove

Теперь можно перезагрузиться:

# systemctl reboot

Заходим в систему после перезагрузки и проверяем версию:

# hostnamectl
# lsb_release -a

Проверка новой версии Debian 13

Теперь можно подключать удалённые ранее репозитории с прошлой версией. Только не забудьте выбрать новый релиз trixie. И заново установите удалённые пакеты. В моём случае это не понадобилось, так как они были установлены в процессе из базового репозитория.

Заключение

Как показал мой опыт обновления этой версии Debian, сторонние пакеты лучше всё же удалять. Не припоминаю раньше проблем с пакетами от Docker, а тут словил их. Вот для этого и нужно заранее тестировать обновление. У меня очень много где стоит Docker. Нужно будет его останавливать и удалять, а потом ставить заново. На существующие контейнеры и настройки это не повлияет.

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Реклама ИП Скоромнов Д.А. ИНН 331403723315

Автор Zerox

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

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

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

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