Релиз на пакетния мениджър APT 3.0.0

Създаден е релиз на инструмента за управление на пакети 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».
    Релиз на пакетния мениджър APT 3.0.0
  • Реализирано е автоматично разделяне на страниците на изхода на командите «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/» да бъде коригиран. Осъществена е поддръжка за самостоятелна проверка на хранилищата с ключове и извършване на операция 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster