Как обновить Debian 12 до 13
Переход делается по Информации о выпуске Debian 13 — прочитайте хотя бы её главы об обновлении и о возможных проблемах. Ниже — основные шаги оттуда. Все команды — от root: через sudo или после su -.
Сначала сделайте копию важных данных и папки /etc, на виртуальной машине — снимок. Вернуться с Debian 13 на 12 нельзя — только восстановить копию или переустановить систему.
Шаг 1. Обновите Debian 12 полностью
sudo apt update
sudo apt full-upgrade
sudo rebootПосле перезагрузки cat /etc/debian_version должен показать последний корректирующий выпуск 12.x. Это важно и для SSH: в ранних версиях OpenSSH из Debian 12 была ошибка, из-за которой прерванное обновление по SSH могло закрыть доступ к серверу, — в свежих обновлениях Debian 12 она исправлена. Обновиться на 13 можно только с Debian 12 — с 11 сначала перейдите на 12.
Шаг 2. Проверьте систему
apt list '?narrow(?installed, ?not(?origin(Debian)))'
apt-mark showhold
sudo dpkg --audit
df -h /boot /- Первая команда показывает пакеты не из Debian — при обновлении их могут удалить, если они мешают.
apt-mark showhold— пакеты, закреплённые на своей версии: снимите закрепление (sudo apt-mark unhold имя), иначе обновление может не пройти.dpkg --auditдолжен ничего не вывести — значит, недоустановленных пакетов нет.- Если
/boot— отдельный раздел, ему нужно не меньше 768 МБ и около 300 МБ свободного места. - Если входите на сервер по SSH ключом DSA, заранее создайте ключ ed25519 и проверьте вход с ним: в Debian 13 ключи DSA не поддерживаются.
Если вы работаете по SSH, запустите дальнейшее внутри tmux (sudo apt install tmux, затем tmux): при обрыве связи обновление продолжится, а вернуться в сеанс можно командой tmux attach.
Шаг 3. Замените bookworm на trixie в источниках
Сохраните копию и замените кодовое имя:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
grep -r bookworm /etc/apt/sources.list /etc/apt/sources.list.d/sed меняет каждое слово bookworm на trixie, в том числе в bookworm-security и bookworm-updates. Последняя команда ищет упоминания старого выпуска в остальных файлах источников — их нужно поправить так же или закомментировать знаком # в начале строки.
- Backports. Строка с
bookworm-backportsпосле замены станетtrixie-backports. Официальная инструкция советует на время перехода backports отключить: закомментируйте эту строку, а после перехода верните, если она нужна. - Сторонние репозитории (Docker, браузеры, базы данных) правьте, только если у разработчика уже есть пакеты для trixie; если нет — закомментируйте строку до их появления.
Шаг 4. Обновитесь в два шага
sudo apt update
sudo apt upgrade --without-new-pkgs
sudo apt full-upgradeПервый шаг обновляет то, что обновляется без удаления и новых пакетов, второй — всё остальное. Перед вторым посмотрите, сколько пакетов apt собирается удалить: если в списке что-то важное, ответьте n и разберитесь. На вопросы о файлах настроек, которые вы правили, отвечайте «оставить свою версию» (N, вариант по умолчанию).
Шаг 5. Перезагрузка и уборка
Если диск зашифрован, перед перезагрузкой убедитесь, что стоит пакет systemd-cryptsetup (apt policy systemd-cryptsetup) — иначе зашифрованные разделы не откроются.
sudo reboot
cat /etc/debian_version
sudo apt autoremove
sudo apt modernize-sourcesПосле перезагрузки версия должна быть 13.x. autoremove удаляет ставшие ненужными пакеты, modernize-sources переводит источники в новый формат .sources — по желанию, старый формат тоже работает.
Что изменилось после перехода
- /tmp в памяти. В Debian 13 папка
/tmpпо умолчанию хранится в оперативной памяти (до половины её объёма). Файлы, оставшиеся в старой/tmp, станут не видны. Вернуть/tmpна диск:sudo systemctl mask tmp.mountи перезагрузка. - /etc/sysctl.conf больше не читается при загрузке. Свои настройки ядра перенесите в файл в
/etc/sysctl.d/. - 32-битные компьютеры (i386) на Debian 13 переводить нельзя: для них нет ядра и установщика.
Если что-то пошло не так
apt updateругается наRelease file— опечатка в имени выпуска или сторонний репозиторий без trixie: см. справку Ошибка «does not have a Release file».- Обновление прервалось — запустите
sudo dpkg --configure -a, затем сноваsudo apt full-upgrade. - Система не загружается — загрузитесь со старым ядром через пункт «Advanced options» в меню GRUB.