Показательный сценарий: Майя использует рабочую станцию Bookworm под управлением Debian 12 для разработки. Она хочет использовать более новые пакеты из Debian Testing, но не может позволить себе оставить APT с частично обновленным набором пакетов. Самый безопасный подход — сначала перейти к поддерживаемой в настоящее время стабильной версии, а затем переключить чистую стабильную систему на текущее кодовое имя Testing. Этот пример описывает осторожную процедуру; это не отчет о реальном обновлении и не гарантия того, что на каждой машине будет одинаковый план пакетов.
По состоянию на 6 октября 2026 года Debian идентифицирует Debian 13 «Trixie» как стабильную версию, а Debian 14 «Forky» — как тестовую. В рекомендациях Debian по тестовой версии говорится, что переход с текущей стабильной версии на тестовую может привести к неожиданным ошибкам; предупреждается, что начало с более старой стабильной версии может вызвать непредвиденные ошибки. Для установки Bookworm это означает следование официальным инструкциям по обновлению с Bookworm до Trixie перед сменой репозиториев на Forky. Проверьте страницы релизов еще раз в день работы, поскольку кодовое название тестовой версии меняется, когда Debian публикует новый стабильный релиз.
Зачем изменять зависимости поэтапно?
APT разрешает зависимости, используя индексы пакетов и наборы релизов, настроенные в системе. Если вы укажете более старую установку напрямую на Testing, APT может предложить изменения в основных библиотеках, ядре, настольных приложениях, прошивке и сторонних пакетах за одну операцию. Моделирование может выявить сомнительный план, но оно не может сделать неподдерживаемую отправную точку безопасной.
Тестирование — это постоянно меняющаяся задача. Пакеты переносятся из нестабильной версии после выполнения критериев архивации, но временные пробелы в зависимостях и регрессии всё ещё могут возникать. Кроме того, Debian не обеспечивает такой же постоянной поддержки безопасности для тестовой версии, как для стабильной. Этот подход уменьшает количество предотвратимых конфликтов пакетов; он не может сделать тестовую версию такой же надёжной, как стабильную, или предотвратить все будущие сбои.
Показательный сценарий: подготовка машины «Книжный червь» для Майи.
1. Подтвердите начальный релиз и состояние пакетов.
Майя сначала проверяет, что это именно Debian, и записывает текущее состояние системы. Перед редактированием она читает сведения о текущем релизе и файлы репозитория:
cat /etc/os-release
cat /etc/debian_version
apt-cache policy
dpkg --audit
apt-get check
apt-mark showhold
Она проверяет /etc/apt/sources.listкаждый файл в /etc/apt/sources.list.d/и настройки APT в /etc/apt/preferencesи /etc/apt/preferences.d/. Цель состоит в том, чтобы выявить репозитории поставщиков, локально собранные пакеты, закрепленные релизы и заблокированные пакеты до того, как они начнут создавать путаницу во время обновления. Если dpkg --auditсообщается о незавершенной конфигурации пакета или apt-get checkо неработающих зависимостях, Maya сначала исправляет это состояние в Bookworm, а не вносит изменения в дистрибутив.
2. Обеспечьте возможность восстановления до внесения изменений в версии ПО.
Прежде чем работать с исходными файлами пакетов, Майя создает проверенную резервную копию личных данных и важных конфигурационных файлов, включая базы данных приложений и данные служб, где это применимо. Полный образ диска или снимок виртуальной машины позволяют ей восстановить операционную систему; одной копии домашнего каталога недостаточно. Она также убеждается в наличии локального доступа к консоли, загрузочного носителя для восстановления, достаточного свободного места в папках /, /var, и /boot, а также работающего сетевого соединения.
Если машина удаленная, она планирует время простоя и использует внеполосную консоль, если она доступна. Обновление пакета, которое перезапускает сеть или заменяет компоненты SSH, может разорвать удаленную сессию. Для важного сервера Майя сначала тестирует всю последовательность на клоне. В примечаниях к выпуску Debian содержатся рекомендации по подготовке и восстановлению; их следует прочитать перед каждым обновлением.
3. Завершите поддерживаемое обновление Bookworm до Trixie.
Майя следует процедуре обновления с Bookworm до Trixie, описанной в официальных примечаниях к выпуску Debian 13, включая проверку сторонних архивов, настроек APT, состояния пакетов и доступного дискового пространства. Она не пропускает поддерживаемый Bookworm шаг обновления, перезаписывая все исходные файлы на Forky. Debian подробно описывает обновление с Debian 12 до Debian 13; используйте этот документ, относящийся к конкретному выпуску, для получения точных сведений о пакетах и параметрах конфигурации, которые могут применяться к вашей системе.
После полного обновления системы она перезагружает Trixie и убеждается, что она запускается нормально. Она проверяет критически важные службы, доступ к сети, монтирование хранилищ, графическую подсистему или вход в систему рабочего стола, а также любое оборудование, зависящее от прошивки. Эта контрольная точка очень важна: если что-то не так, она может диагностировать проблему на этапе перехода на новую версию, прежде чем запускать тестирование.
Переключите проверенную стабильную систему в тестовый режим.
4. Удалите смешанные или устаревшие записи репозитория.
После того, как система на Trixie будет признана работоспособной, Майя сохраняет копию исходного кода APT и файлов настроек. Она временно отключает сторонние репозитории и специфические для Trixie бэкпорты или записи обновлений. Смешивание стабильных, тестовых и нестабильных пакетов без четкой политики закрепления может привести к несоответствию библиотек и конфликтам зависимостей. Пакеты от поставщиков, не входящих в Debian, могут еще не существовать для Forky; она проверяет информацию о совместимости каждого поставщика, а не предполагает, что репозиторий Trixie подходит.
В текущих установках исходные файлы могут использовать либо старый однострочный формат, либо .sourcesформат deb822. Отредактируйте уже используемый формат и убедитесь, что ни одна активная запись Debian больше не указывает на него bookworm, trixieкогда начнётся обновление Testing.
5. Перенаправьте основной архив Debian на Forky.
В этом примере, привязанном к конкретной дате, Forky — это текущее кодовое имя тестовой версии. Исходный файл deb822 может /etc/apt/sources.list.d/debian.sourcesиметь следующую структуру. Сохраните компоненты, соответствующие установке; этот пример включает в себя общие компоненты прошивки и несвободные области, но не включает их автоматически на каждой системе.
Types: deb
URIs: https://deb.debian.org/debian
Suites: forky
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Не копируйте этот фрагмент кода поверх существующей конфигурации, не проверив её предварительно. Сохраните выбранные зеркала и компоненты, необходимые системе, и удалите или закомментируйте повторяющиеся записи Debian. Избегайте использования псевдонима перемещения, testingесли вы планируете остаться на Forky после того, как он станет стабильным. Кодовое имя отслеживает Forky на протяжении всего процесса перехода на новый релиз; название пакета testingбудет соответствовать тому релизу, который в будущем будет находиться в стадии тестирования.
В тестовой среде не следует слепо сохранять URL-адрес безопасности стабильной версии trixie-securityили заменять его предполагаемым forky-securityнабором обновлений. В разделе часто задаваемых вопросов Debian говорится, что тестовая среда не получает таких же выделенных обновлений безопасности, как стабильная; исправления могут потребовать переноса из нестабильной версии, и сроки могут варьироваться. Читателям следует ознакомиться с текущими рекомендациями Debian по тестовой среде и информацией об уязвимостях и решить, приемлема ли такая модель поддержки.
6. Обновите индексы и смоделируйте полное изменение зависимостей.
После редактирования исходных файлов Maya обновляет метаданные пакета и запрашивает у APT имитацию полного обновления:
sudo apt update
sudo apt -s full-upgrade
Моделирование — это этап проверки, а не запрос на подтверждение, который должен приниматься автоматически. Майя читает список пакетов для установки, обновления, сохранения и удаления. Она останавливается, если предложение удаляет метапакет рабочего стола, SSH-сервер, загрузчик, сетевой менеджер, базу данных или другой пакет, от которого она зависит; если оно удаляет большой набор несвязанных пакетов; или если APT сообщает о неразрешенных зависимостях. Она проверяет, является ли причиной включенный сторонний источник, блокировка, привязка, недостаточно места на диске или временный переход в режим тестирования.
Пакет, который задерживается, не обязательно ломается. Для его установки могут потребоваться изменения зависимостей, которые консервативный upgradeподход не предпримет. Не следует принудительно устанавливать библиотеку или удалять метапакет только для того, чтобы количество пакетов достигло нуля. Если план непонятен, дождитесь завершения перехода в архив, ознакомьтесь с информацией об ошибке или переходе соответствующего пакета Debian или оставайтесь на стабильной версии.
Внедряйте обновление поэтапно, с возможностью проверки.
7. Выполните консервативное обновление, а затем еще раз проверьте полное обновление.
Если результаты моделирования приемлемы и резервная копия актуальна, Maya сначала выполняет обновление, которое не удаляет установленные пакеты:
sudo apt upgrade --without-new-pkgs
Она внимательно читает все вопросы, касающиеся конфигурационных файлов, и ведет учет локальных изменений. Затем она снова проводит моделирование, поскольку план выполнения пакета мог измениться:
sudo apt -s full-upgrade
Только когда предлагаемые изменения и дополнения становятся целесообразными, она приступает к фактическому выполнению операции:
sudo apt full-upgrade
full-upgradeМожет устанавливать новые зависимости и удалять пакеты для завершения перехода на новую версию. Именно поэтому важны моделирование и проверка человеком. Если программа предлагает необъяснимые удаления или выдает ошибки, связанные с зависимостями, Maya останавливается и сохраняет точный результат. Она не использует случайные действия apt --fix-broken install, принудительный выбор версий или ручное удаление библиотек; эти действия могут усугубить несоответствие. Сначала проверьте ошибку APT, конфигурацию исходного кода, блокировки и статус пакета, а затем повторите попытку только после выяснения причины.
Во время распаковки и настройки пакетов держите компьютер включенным и подключенным к сети. Избегайте одновременного запуска другого менеджера пакетов. Если процесс прервется, воспользуйтесь инструкциями по восстановлению после обнаружения ошибки и завершите настройку ожидающих пакетов только после подтверждения состояния базы данных пакетов.
8. Перезагрузите систему, проверьте зависимости и восстановите только совместимые репозитории.
После завершения работы APT без неустраненных ошибок Maya проверяет состояние пакета и при необходимости перезагружается:
sudo dpkg --audit
sudo apt-get check
sudo apt update
sudo reboot
После перезагрузки она подтверждает установленный релиз с помощью команды `npm install` /etc/os-release, проверяет, работает ли ожидаемое ядро с помощью команды `npm install` uname -r, просматривает systemctl --failedи тестирует свои основные приложения и службы. Она может проверить недавнюю активность пакетов в `npm install` /var/log/apt/history.logи `npm install` /var/log/dpkg.log. Успешного запуска APT недостаточно, если система больше не загружается, сеть недоступна или важная служба вышла из строя.
Только после того, как пакеты Debian будут в порядке, она рассматривает возможность повторного включения сторонних репозиториев, по одному, и только если поставщик документирует поддержку Forky. Затем она запускает apt updateи имитирует любое последующее обновление, прежде чем принять его. Она хранит резервную копию восстановления до тех пор, пока машина не станет стабильной при нормальном использовании.
Как определить, завершена ли миграция?
Майя считает миграцию завершенной, когда машина загружается под ожидаемым кодовым именем Testing, dpkg --auditявляется чистой, apt-get checkне сообщает о нарушенных зависимостях, APT обновляется из нужных репозиториев без ошибок подписи или выпуска, а ее критически важные рабочие нагрузки проходят собственные проверки. Она также записывает дату, изменения в исходном коде, удаление пакетов и любые решения по ручной настройке, чтобы в случае возникновения регрессии в будущем можно было ее отследить.
Если цель — просто обновить приложение, то использование стабильной версии Debian и официального бэкпорта, поддерживаемого поставщиком пакета, контейнера или изолированной тестовой среды может оказаться менее проблематичным. Если компьютер имеет критически важное значение для бизнеса, подключен к интернету или его невозможно быстро восстановить, то Debian Stable, как правило, является более подходящим выбором. Тестирование предназначено для пользователей, готовых отслеживать обновления, читать планы пакетов и устранять проблемы с временными архивами или зависимостями.
Официальные ссылки