Обновление пакетного менеджера APT 2.9.20

Опубликован выпуск инструментария для управления пакетами APT 2.9.20 (Advanced Package Tool). Ветка 2.9.x является экспериментальной и используется для разработки функциональности будущей стабильной версии APT 3.0, которая после стабилизации будет интегрирована в Debian Testing и войдёт в следующий значительный релиз Debian, а также будет добавлена в пакетную базу Ubuntu.

Изменения со времени прошлого анонса:

  • APT 2.9.16: Исправлена регрессия, возникшая после изменения методов работы с хранилищами ключей в версии 2.9.15 и вызвавшая недовольство сопровождающего dpkg из-за прекращения работы с некоторыми репозиториями.
  • APT 2.9.17:
    • Введён абстрактный интерфейс для работы с хэшами, реализованный в рамках работы по избавлению от жёсткой привязки к одной криптографической библиотеке.
    • Исправлена проблема в алгоритме сравнения версий, проявляющаяся при использовании опции “–no-strict-pinning”.
    • При выводе диагностических сообщений обеспечен учёт отладочного уровня.
    • Проведена чистка упоминаний утилиты apt-key.

      В man-страницу apt-secure добавлено руководство по безопасной настройке источников.

    • В gpgv возвращено слияние всех хранилищ ключей (keyring) во время работы. Так как файл c общим хранилищем ключей размещается в файловой системе tmpfs, содержимое которой может вытесняться в раздел подкачки, подобный подход может привести к повышенному износу SSD-накопителей, основанных на Flash-памяти. Автор новости рекомендует использовать анонимный канал (fifo), удалённый конец которого можно передать другому процессу как файл “/proc//fd/<дескриптор>”, либо как страницу памяти, доступную схожим образом в виде файла.
    • Произведён небольшой рефакторинг: создана отдельная функция для проверки подписи файла.
  • APT 2.9.18:
    • Реализовано автоматическое разделение на страницы вывода команд “show”, “policy”, “list”, “search” и “showsrc”, работающее в стиле git и включаемое через настройку Binary::apt::Pager. Приложение для разделения страниц определяется через переменную окружения PAGER.
    • В вывод команды “apt show –full” добавлена информация о закреплении пакетов (pinning), получаемая из полей APT-Pin, APT-Candidate и APT-Release.
    • Устранена уязвимость, приводящая при вызове команды “apt show” к чтению из области памяти вне выделенного буфера.
  • APT 2.9.19:
    • Добавлен крипто-бэкенд для библиотеки OpenSSL, которая пришла на смену GnuTLS и Gcrypt.
    • Добавлена возможность использования утилиты sqv от проекта Sequoia для проверки цифровых подписей вместо вызова gpgv. В коде обвязки над sqv при работе с ключами продолжается сомнительное использование временных файлов.
    • До 2026 года разрешено использование самоподписанных подписей на базе алгоритма SHA-1.
  • APT 2.9.20: Добавлена официальная рекомендация именовать файлы в /etc/apt/sources.list.d/ как “$(dpkg-vendor –query Vendor | tr A-Z a-z).sources” – именем текущего поставщика в нижнем регистре.
  • Release. Ссылка here.