LINUX.ORG.RU

APT 3.2.0 с новым механизмом разрешения зависимостей

 , ,


0

2

Сформирован релиз инструментария управления пакетами APT 3.2.0 (Advanced Package Tool) на основе изменений экспериментальной ветки 3.1. Ожидается, что новая версия будет интегрирована в Debian Unstable и Testing, а также войдёт в состав будущего релиза Debian 14; в Ubuntu 26.04 используется близкая версия 3.1.16.

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

Добавлены новые диагностические команды apt why и apt why-not, позволяющие определить причины установки пакета или невозможности его установки. В отличие от аналогичных средств в aptitude, они опираются на фактические данные Solver-а зависимостей, а не на вероятностные оценки.

Расширены средства управления репозиториями: в файлах .sources появились опции Include и Exclude для формирования белых и чёрных списков пакетов. Также реализована поддержка вариантов микроархитектуры CPU (amd64v1–amd64v4), позволяющая использовать оптимизированные сборки пакетов под конкретные уровни x86-64.

Часть изменений касается управления историей операций. Добавлены команды history-list, history-info, а также средства отката и повторного выполнения транзакций (history-undo, history-redo, history-rollback), что повышает управляемость пакетной системы и упрощает восстановление состояния.

Среди прочих улучшений:

  • добавлена поддержка HTTPS в утилите dselect;
  • реализована защита от перехода системы в спящий режим во время работы dpkg;
  • появилась возможность запускать apt-daily при подключении ноутбука к сети питания;
  • внедрён механизм журналирования с метриками производительности в формате JSONL.

>>> Источник (OpenNet)

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

Отдельный блок изменений касается управления историей операций.

Какой еще отдельный блок? Опять нейрослоп?

dicos ★★★
()

что позволило повысить точность разрешения конфликтов

А что, раньше конфликт мог разрешится как-то не так?

mikhalich ★★
()

более агрессивная очистка неиспользуемых зависимостей

раньше autoremove удалял не всю ОС, а теперь всю

err
()
Ответ на: комментарий от mikhalich

А что, раньше конфликт мог разрешится как-то не так?

В стоковых установках все конечно ок, но если юзер навернет каких-то ppa особенных, что-то там запинит, то все может быть.

goingUp ★★★★★
()
Ответ на: комментарий от dicos

По-моему, вполне человеческая языковая конструкция. Блок бумаги, блок законов, блок изменений. Но да, я поменял на «часть изменений», так действительно лучше. Спасибо, что обратил внимание.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от mikhalich

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

r--r--r--
()
Ответ на: комментарий от Camel

Guix 1.5.0 у меня почему-то в виртуалке зависал через 20 минут «инактива», с чем это связано я так и не выяснил, зависал намертво, в логах тишина.

gagarin0
()
Ответ на: комментарий от kneedeep

В принципе можно поэкспериментировать, виртуалка у меня еще осталась, могу начать с обновления ядра, да

$ virsh list --all
 Id   Name                     State
-----------------------------------------
...
 -    guix-latest              shut off
...
gagarin0
()

У кого дебианоподобный дистр вы отпишитесь, как у вас там с подключёнными репозиториями софта, система не самовыпиливается и в dependency hell не скатывается?

temak
()
Ответ на: комментарий от zabbal

Nala работает через libapt, емнип, улучшение и на неё должно повлиять.

Aceler ★★★★★
()

может лучше так?

нового решателя зависимостей

-->

функции/механизма разрешения зависимостей


что повышает управляемость пакетной системы

-->

что улучшает упавление пакетной системы

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 2)

а собственно зачем ? лет бы 10 назад, а сейчас поздно

сейчас всё что потенциально может нарваться на конфликт убирается в отдельные контейнеры и машины. Постепенно идёт к микросервисной архитектуре но с другого конца и очень толстыми сервисами.

MKuznetsov ★★★★★
()
Ответ на: комментарий от mikhalich

что позволило повысить точность разрешения конфликтов

А что, раньше конфликт мог разрешится как-то не так?

Недостаточно точно. ;P ;))

Ну а теперь, нам на радость, повысили «точность разрешения конфликтов»... :)))

Somebody ★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.