Обновление с Debian 12 Bookworm на Debian 13 Trixie
Сегодня я хочу рассказать вам о самом экстремальном виде спорта в мире Linux — обновлении дистрибутива с одного мажорного релиза на другой. Мой «спортивный инвентарь»: верный Debian 12 Bookworm, крепкие нервы и безрассудная вера в apt-get
.
Bookworm был прекрасен. Стабильный, как швейцарские часы, предсказуемый, как восход солнца. Он не подводил меня ни в дождь, ни в зной. Но где-то на горизонте замаячил новый, юный и дерзкий Trixie. Он манил меня новыми пакетами и блестящим ядром. Я не выдержал. Решено: апгрейд!
Шаг 1: Готовимся морально и физически (спойлер: это одно и то же)
Первое правило клуба апгрейда Debian: бэкап. Нет, серьезно. Сделайте бэкап. Представьте, что вы идете по канату над пропастью. Бэкап — это ваша страховочная сетка. Без нее ваш поход может закончиться эпичным полетом в бездну с криком: «А почему /home
был на одном разделе с /
?!».
Заливаем кофе (или что-то покрепче), открываем терминал и произносим магическую мантру:
apt update && apt upgrade
Смотрим, как система судорожно обновляет все, что можно. Bookworm в последний раз тянется к своему стабильному прошлому.
Шаг 2: Меняем источники на смелые и нестабильные
Теперь нужно вежливо попросить систему забыть о старом друге и посмотреть на нового. Редактируем /etc/apt/sources.list
с помощью любимого редактора.
Меняем все упоминания bookworm
на trixie
. Это момент истины. Рука дрожит, но вы помните, ради чего все это затеялось.
Команда для быстрой замены:
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
Выглядеть это должно примерно так:
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb http://security.debian.org trixie-security main contrib non-free non-free-firmware
Сохраняем файл и чувствуем, как из монитора доносится легкий вздох обреченности.
Совет
Убедитесь, что не осталось репозиториев, специфичных для Debian Bookworm, в противном случае вы можете поместить #
символ в начале соответствующей строки для комментирования этих репозиториев. Проверьте все записи в файлах в папке /etc/apt/sources.list.d/
.
Шаг 3: Великий dist-upgrade
и интерактивный квест "Угадай конфиг"
Вот он, момент икс. Команда, которая отделяет мужчин от мальчиков. Делаем глубокий вдох и вводим заклинание:
apt update && apt dist-upgrade
Экран начинает мигать непонятными названиями пакетов. apt
с серьезным видом хирурга сообщает, что он собирается удалить половину системы, чтобы поставить новую, еще лучшую половину. Ваше сердце замирает. Вы доверяете ему? Выбора уже нет.
Процесс пополз. И вот тут apt
внезапно превращается в вежливого, но настойчивого дворецкого и начинает засыпать вас вопросами. Начинается самый интерактивный этап нашего квеста.
«Хозяин, а что прикажете сделать с этим конфигом?»
Система будет тыкать в вас обновленными конфигурационными файлами, как котенок — лапкой в мячик. Она вежливо поинтересуется: мол, у нас тут есть новый файл настроек от разработчиков, но и ваш, старый, тоже хорош. Что будем делать?
Что делать? Не паниковать. Это нормально.
- Для большинства конфигов, которые вы не трогали, смело можно соглашаться на новую версию.
- Если вы там что-то правили и помните об этом — выбирайте вариант «показать разницу». Это как
diff
для чайников: вам покажут, что поменялось. Если изменения адекватные — принимайте новые. Если боитесь сломать свой идеальный настроенный файл — оставляйте старую версию. Вы всегда сможете подправить его вручную потом.
Параллельно с этим вас может атаковать:
apt-listchanges
: Утилита, которая гордо продемонстрирует вам длиннющую простыню текста со списком изменений в обновляемых пакетах. Читать это — все равно что читать условия пользовательского соглашения: очень важно, но никто не делает. Смело жмитеq
, чтобы выйти и продолжить.- Вопросы про перезапуск служб: Система может спросить, можно ли ей перезапустить какие-нибудь демоны прямо посреди процесса. Если не уверены — просто жмите Enter, соглашаясь с вариантом по умолчанию. Не переживайте: даже если вы что-то пропустите, финальная перезагрузка после всего апдейта разом перезапустит всё, что нужно.
Но вот последний пакет установлен. Самое страшное позади. Можно выдыхать.
Шаг 4: Перезагрузка и встреча с неизвестностью
Команда reboot
звучит как приговор. Монитор гаснет. Вы смотрите на свое отражение в черном экране. Выглядите вы испуганно.
Запускается система. Долгие-долгие секунды (или минуты?) крутится инициализация. И... вот он, экран входа в систему! Логин. Пароль. Выдох. Кажется, все работает.
Но не расслабляемся. Проверяем самое важное:
cat /etc/debian_version
И видите долгожданную надпись: 13.1
.
Успех! Пингвин не только выжил, но и получил новые перья.
Шаг 5: Финальный штрих — выносим мусор и наводим марафет
Поздравляю, система завелась! Вы великолепны. Но на этом история не заканчивается. После такого масштабного действа в вашей системе остались «строительные леса» — куча ненужных больше старых пакетов и закэшированных .deb
-файлов, которые лишь пылятся и занимают место.
Самое время провести генеральную уборку. Открываем терминал и с чувством глубокого удовлетворения вбиваем две ритуальные команды:
apt --purge autoremove
— Эта команда сканирует вашу систему на предмет пакетов, которые были установлены как зависимости для других программ, но теперь стали никому не нужны (как одиночные носки после стирки). Флаг--purge
гарантирует, что их конфиги тоже будут безжалостно стерты с лица диска. Это освобождает гигабайты и дарит чувство невероятной лёгкости.apt autoclean
— А эта команда — как уборка в гараже после ремонта. Она удаляет все скачанные архивные пакеты (*.deb
), которые уже были установлены и теперь просто лежат мёртвым грузом в кеше. Новые версии вы в любой момент скачаете заново, а зачем хранить старый хлам?
Теперь ваш Debian Trixie не только новенький, но и чистенький, как будто только что из салона.
Бонус для перфекционистов: Переезжаем на стильные рельсы deb822
Пока вы тут с чувством выполненного долга потягиваете кофе, я расскажу вам про один элегантный апгрейд, который вы могли пропустить. Помимо пакетов, Debian незаметно улучшил и сам формат файлов репозиториев.
Ваш старый добрый /etc/apt/sources.list
— это как записная книжка, где всё свалкой в одну строку. Новый формат deb822 — это как аккуратный органайзер. Он более читаемый, структурированный и его сложнее испортить.
Если хотите идти в ногу со временем, можете перенести свои репозитории в этот новый формат. Вместо того чтобы править один файл, вы можете разложить всё по полочкам — создать отдельные файлы в папке /etc/apt/sources.list.d/
с расширением .sources
.
Вот как это выглядит:
Старый формат (одна длинная строка):deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
Новый, стильный формат deb822 (файл /etc/apt/sources.list.d/debian.sources
):
Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie
Components: main contrib non-free non-free-firmware
Такой формат проще читать, редактировать и добавлять новые источники. Apt понимает оба формата, так что это не обязательно, но очень круто!
Чтобы перенести все репозитории в рекомендуемый формат стиля deb822, выполните:
apt modernize-sources
Ответив на следующий запрос буквой n
, вы можете проверить изменения, которые внесет команда, прежде чем применять их. Чтобы применить их, просто запустите команду еще раз и ответьте на запрос буквой Y
.
Команда также сохранит старые .list
файлы рядом путем добавления .bak
им. Вы можете удалить их, как только убедитесь, что с новым форматом все работает гладко.
P.S. Ваш кофе во время этого процесса остынет. Это закон. Смиритесь.