Урок 8. Обновления и переход на новый выпуск
Обновления в Debian бывают двух видов, и делаются они по-разному:
- внутри выпуска — исправления ошибок и безопасности для Debian 13 (или 12). Это повседневная работа: две команды раз в несколько дней;
- переход на новый выпуск — например, с Debian 12 на 13. Раз в два года, по отдельной инструкции.
Обновления внутри выпуска
sudo apt update
sudo apt upgradeПервая команда скачивает список пакетов, вторая ставит обновления. Перед установкой apt покажет, что будет обновлено, и спросит подтверждение. Список доступных обновлений без установки — apt list --upgradable.
Отсюда приходит всё:
- обновления безопасности (набор
trixie-security) — сразу, как только готовы. О каждом важном исправлении Debian публикует сообщение — DSA (Debian Security Advisory); - срочные исправления (
trixie-updates); - корректирующие выпуски 13.1, 13.2… — примерно раз в два месяца. Отдельно ничего делать не нужно: после
apt upgradeсистема уже на последнем корректирующем выпуске.
Обновлять сервер стоит регулярно, а обновления безопасности удобно поручить самой системе — как это сделать, рассказано в справке Автоматические обновления безопасности.
Новое ядро и перезагрузка
Обновление ядра Linux приходит новым пакетом вида linux-image-…-amd64 и ставится рядом со старым ядром. Работать новое ядро начнёт после перезагрузки:
uname -r
sudo rebootuname -r показывает версию ядра, которое работает сейчас. Старые ядра со временем убирает sudo apt autoremove.
После обновления библиотек некоторые службы продолжают работать со старыми версиями в памяти, пока их не перезапустить. Пакет needrestart после каждого обновления сам показывает, какие службы перезапустить и не пора ли перезагрузить компьютер:
sudo apt install needrestartВопросы во время обновления
Иногда apt останавливается и спрашивает. Самые частые случаи:
- Изменённый файл настроек. Новая версия пакета принесла свой файл настроек, а вы правили старый. Варианты:
YилиI— поставить новый файл,NилиO— оставить свой (так по умолчанию),D— показать разницу. Если вы правили файл сами, оставляйте свой: иначе ваши изменения пропадут. Новая версия при этом обычно сохраняется рядом — с окончанием.dpkg-dist(или.ucf-dist). Некоторые пакеты задают этот вопрос в окне со списком тех же вариантов. - Перезапуск служб при обновлении системной библиотеки — обычно можно согласиться.
- Важные изменения пакета. Если стоит
apt-listchanges, он покажет новости пакетов перед установкой. Прочитайте и нажмитеq, чтобы продолжить.
Переход на новый выпуск
Новый выпуск — это тысячи обновлённых программ сразу, поэтому переход делают аккуратно и только по официальной инструкции из Информации о выпуске (Release Notes). Общий порядок одинаков для всех выпусков:
- Прочитать Информацию о выпуске — раздел про обновление и раздел о проблемах: там то, что может сломаться именно у вас.
- Сделать копию важных данных и настроек (
/etc), на виртуальной машине — снимок. - Полностью обновить текущий выпуск до последнего корректирующего:
apt update,apt full-upgrade, перезагрузка. - Убрать лишнее из источников: backports, сторонние репозитории, у которых ещё нет пакетов для нового выпуска.
- Заменить кодовое имя в источниках пакетов: старое на новое.
- Обновиться в два шага: сначала
apt upgrade --without-new-pkgs— только то, что обновляется без удалений, потомapt full-upgrade— всё остальное. - Перезагрузиться и убрать ненужное:
apt autoremove.
Переходят только на соседний выпуск: с 11 на 13 — через 12, двумя переходами подряд. Пропускать выпуски Debian не поддерживает. По шагам для перехода с 12 на 13 — справка Как обновить Debian 12 до 13.
Не начинайте переход, если не можете дождаться его конца: обновление занимает от нескольких минут до часа. Прерванное на середине обновление может оставить систему, которая не загружается. Ноутбук подключите к зарядке, удалённый сервер обновляйте внутри tmux или screen (программ, которые держат сеанс терминала на сервере и после обрыва связи), чтобы обрыв не остановил работу.
Почему в источниках кодовое имя, а не stable
В источниках можно написать stable вместо trixie. Но stable в день выхода нового выпуска начинает означать уже его: достаточно согласиться с предупреждением apt update о смене выпуска — и обычное обновление начнёт незапланированный переход на новую систему. С кодовым именем переход случится только тогда, когда вы сами поменяете имя в файле. Поэтому и установщик, и официальная инструкция используют кодовые имена.
Не смешивайте выпуски
Пакеты из testing, из другого выпуска или из Ubuntu, поставленные в стабильную систему, ломают зависимости — такую систему в сообществе Debian называют FrankenDebian. Если нужна программа новее, чем в выпуске, ищите её в backports (справка Пакет из backports), в контейнере Docker или на официальном сайте программы.
Коротко
- Внутри выпуска:
sudo apt updateиsudo apt upgrade; корректирующие выпуски приходят сами. - Новое ядро работает после перезагрузки;
needrestartподсказывает, что перезапустить. - Изменённый вами файл настроек при вопросе оставляйте свой (
N). - Переход на новый выпуск — по Информации о выпуске: копия, полное обновление, замена кодового имени,
apt upgrade --without-new-pkgs,apt full-upgrade, перезагрузка. - Выпуски не пропускают и не смешивают.