Сформиран е релиз на инструмента за управление на пакети APT 3.0.0 (Advanced Package Tool), който включва изменения, натрупани в експерименталната версия 2.9. Новото издание е прието в клон Debian Unstable и скоро ще бъде интегрирано в репозитория Debian Testing, в който се разработва изданието Debian 13, и в който вече се използва експерименталната версия APT 2.9, а също така ще бъде добавено в пакетната база на Ubuntu.
Сред най-важните промени:
- Променен е потребителският интерфейс, който реализира по-ясно представяне на списъка със зависимости, необходими за изтегляне при инсталиране на пакет. Ако преди имената на пакетите с зависимости се изписваха в единен списък, то сега те се разделят на колони по стил "ls -C", а различните блокове на изхода се подсветят в свои цветове (например, премахваните пакети се подчертават в червено, а инсталираните — в зелено). При изхода са премахнати дублиращи се споменавания на допълнителни и нови пакети (обединени са секциите „NEW packages“ и „additional packages“). За управление на оцветяването са добавени настройки „APT::Color::*“ и „APT::Configuration::color“, а също така опции „—color“ и „—no-color“.

- Реализирано е автоматично разделяне на страниците на изхода от командите „show“, „policy“, „list“, „search“ и „showsrc“. Разбиването на страницата се активира чрез настройката Binary::apt::Pager, а приложението за разделяне на страницата се определя чрез променливата на средата PAGER.
- Реализиран е подобрен двигател за разрешаване на зависимости Solver3 (активира се чрез опцията „—solver 3.0“), който използва алгоритъм за търсене с обратно проследяване (backtracking) за разрешаване на конфликти между зависимости. В новия двигател е подобрен и изборът на версии, осигурена е поддръжка за извършване на актуализации в няколко етапа, значително е увеличена производителността (apt-test сега се изпълнява два пъти по-бързо), добавена е опция „—no-strict-pinning“ за инсталиране на експериментални версии, добавена е защита срещу ръчно премахване на инсталирани пакети, повишена е агресивността на автоматичното премахване на неизползвани зависимости. Добавени са по-понятни обяснения за обикновените потребители относно грешките, свързани с зависимостите.
- Спирането на използването на утилитата apt-key за управление на ключовете, използвани за верификация на цифрови подписи на пакети, е обявено. Утилитата apt-key беше обявена за остаряла преди няколко години, в резултат на преминаването от старата моделна верификация на целостта на пакети, в която се използваше общо хранилище на ключове ( /etc/apt/trusted.gpg ) и нямаше привязка на ключовете към репозиторите. Т.е. ключ, добавен за някой външен репозиторий, беше валиден за проверка на пакети във всички репозитории. Новият метод за работа с ключове предвижда разделяне на хранилищата на ключове за всеки репозиторий ( /etc/apt/trusted.gpg.d/ или /etc/apt/keyrings/).
- Добавена е възможност за използване на утилитата sqv от проекта Sequoia за проверка на цифровите подписи вместо извикване на gpgv. В списъка с пътища за извикване на gpg е добавена утилитата gpg-sq, написана на Rust, която приема същите аргументи като утилитата gpg, но имитира нейната работа чрез Sequoia, реализация на OpenPGP на Rust. Извикването на gpg-sq е с по-висок приоритет от gpg, т.е. за да се използва gpg-sq вместо gpg, е достатъчно да се инсталира съответният пакет.
- Добавен крипто-бекенд за библиотеката OpenSSL, която замени GnuTLS и Gcrypt.
- Осигурена е привязка на типовете ключове към разширенията на файловете: разширението «.asc» е свързано с ascii-armored ключовете, «.gpg» — винаги с бинарни ключове, а всички останали разширения на файлове ще предизвикат грешка. Например, при използване на файл с ключ «/etc/apt/keyrings/winehq-archive.key», трябва да бъде преименуван на «/etc/apt/keyrings/winehq-archive.gpg» и да бъде коригиран пътят в файла в «/etc/apt/sources.list.d/». Реализирана е поддръжка за самостоятелна проверка на хранилищата на ключове (keyring) и за операцията dearmor (преобразуване на ключ от ASCII-armored формат в бинарен формат) без да се налага да се обръща към apt-key.
- Много функции са пренасочени за използване на класа «std::string» вместо «const char *» (определен в стандарта C++17 клас std::string_view, който работи по-ефективно с низове, благодарение на използването на референции към съществуващи данни и избягването на ненужно копиране на данни, докато не бъдат включени в кода).
- Предложен е абстрактен интерфейс за работа с хешове, реализиран в рамките на усилията за освобождаване от стриктната привязка към една криптографска библиотека.
- В извода на командата „apt show —full“ е добавена информация за закрепването на пакети (pinning), получена от полетата APT-Pin, APT-Candidate и APT-Release.
- Официално се препоръчва именуването на файловете в каталога /etc/apt/sources.list.d/ с името на текущия доставчик с малки букви («$(dpkg-vendor —query Vendor | tr A-Z a-z).sources»).
- В pkgDepCache е добавена поддръжка за транзакции и броячи на обновления.
- Добавена е опцията «—comment» за оставяне на коментар, който се съхранява в историята на извършените операции.
- Добавена е поддръжка за HTTP заглавие Retry-After за оптимизиране на възобновяването на прекъснати изтегляния.
- В командата «apt list» е добавена опцията «—target-release».
- Добавен е новия тип грешки «audit», включен чрез опцията «—audit».
Допълнително могат да се отбележат промените, появили се в експерименталната версия на APT 2.7 (разработката на версия 2.7 плавно преминава в разработката на версия 2.9), които ще станат налични в Debian 13 (в Debian 12 се използва версия APT 2.6):
- Добавена е поддръжка за снимки на състоянието, управлявана чрез опцията «—snapshot» («-S»), с която можете да се свържете с репозиторни сървъри, поддържащи снимки, и да изберете определено състояние на архива. Например, задавайки «—snapshot 20250405T081400Z», можете да работите със състоянието на репозитория, записано на 5 април 2025 година в 08:14:00. Снимките се конфигурират в секцията APT::Snapshot в файловете sources-list.
- Реализирана е опцията «—update» («-U»), която позволява по време на изпълнение на команди за инсталиране или обновление на пакети (apt install или apt upgrade) автоматично да се стартира операция «apt update» за синхронизиране на индексите преди отварянето на кеша и обработката на sources.list.
- Добавена е командата ‘dist-clean’ за премахване на пакетите и списъците с изтеглени пакети, съхранени в кеша.
Източник: opennet.ru

