APT 3.2 добавляет встроенный откат транзакций и историю операций

2026-04-08 92 комментарии
Пакетный менеджер APT 3.2 получил команды history-undo, history-redo и history-rollback для управления пакетными транзакциями. Также улучшен движок разрешения зависимостей и добавлена блокировка спящего режима при работе dpkg

Пакетный менеджер APT 3.2 получил встроенную поддержку истории транзакций, отмены, повтора и отката — функциональность, которой давно располагал DNF в дистрибутивах на базе Red Hat. Помимо этого разработчики доработали движок разрешения зависимостей и добавили защиту от перехода системы в спящий режим во время установки пакетов. APT 3.2 станет штатным пакетным менеджером в Debian 14 «Forky», а воспользоваться откатом можно будет уже года — в составе Ubuntu 26.04 LTS «Resolute Raccoon».

Откат, отмена и история транзакций

Ключевое нововведение APT 3.2 — набор команд для работы с историей пакетных операций. Раньше пользователям Debian и Ubuntu приходилось разбирать лог /var/log/apt/history.log вручную и откатывать изменения поштучно через dpkg. Теперь весь цикл покрывается пятью командами:

  • apt history-list — вывод списка всех транзакций;
  • apt history-info ID — подробности конкретной транзакции (какие пакеты установлены, удалены, обновлены);
  • apt history-undo ID — отмена конкретной транзакции;
  • apt history-redo ID — повторное выполнение ранее отменённой транзакции;
  • apt history-rollback ID — откат системы к состоянию на момент указанной транзакции.

Логика работы аналогична DNF: сначала командой apt history-list можно просмотреть все совершённые операции, затем через apt history-info ID уточнить, какие пакеты затронуты, и при необходимости отменить изменения командой apt history-undo ID.

Функциональность отката впервые появилась в разработческой версии APT 3.1.7 в октябре 2025 года, а в APT 3.2 вошла как часть стабильного выпуска.

Доработки движка разрешения зависимостей

Начиная с APT 3.1 в пакетном менеджере используется обновлённый движок разрешения зависимостей (solver). В версии 3.2 он получил несколько важных доработок.

Движок теперь поддерживает обновление по исходному пакету (source package). Это полезно на мультиархитектурных системах, где бинарные пакеты для разных архитектур публикуются не одновременно: ранее APT мог случайно удалить критически важное ПО при обновлении, если бинарники одной из архитектур ещё не появились в репозитории. В APT 3.2 такой сценарий исключён.

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

Движок разрешения зависимостей (solver) — внутренний компонент APT, который определяет, какие пакеты нужно установить, обновить или удалить, чтобы удовлетворить все зависимости без конфликтов. В APT 3.0 был представлен Solver3 с алгоритмом поиска с возвратом (backtracking).

Журналирование производительности и блокировка спящего режима

В APT 3.2 добавлено журналирование счётчиков производительности в формате JSONL. Каждая строка лога представляет собой отдельный JSON-объект, что упрощает автоматический разбор и мониторинг работы пакетного менеджера.

Ещё одно практичное изменение — APT 3.2 блокирует переход компьютера в спящий режим на время выполнения dpkg. Прерывание распаковки или настройки пакетов из-за засыпания системы могло привести к повреждению пакетной базы; теперь этот сценарий исключён.

JSONL (JSON Lines) — текстовый формат, в котором каждая строка файла содержит самостоятельный JSON-объект. Удобен для потоковой обработки логов и интеграции с инструментами вроде jq.

Доступность

APT 3.2 войдёт в состав Debian 14 «Forky», релиз которого ожидается в июне–июле 2027 года. Однако попробовать откат и остальные нововведения можно будет значительно раньше — в Ubuntu 26.04 LTS «Resolute Raccoon», выход которого запланирован на года.

Пользователи Debian Sid (Unstable) могут установить APT 3.2 уже сейчас, обновив систему стандартными командами:

sudo apt update && sudo apt install apt

Подробности о выпуске опубликованы на tracker.debian.org.

Заключение

Встроенный откат транзакций закрывает одну из самых давних претензий к APT со стороны пользователей, привыкших к DNF. Особенно это актуально для администраторов, которым приходилось вручную разбирать последствия неудачных обновлений. Вместе с улучшенным движком разрешения зависимостей и защитой от засыпания во время работы dpkg APT 3.2 заметно повышает надёжность управления пакетами на Debian-based системах.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте