Опубликован выпуск инструментария для управления пакетами APT 2.9.15 (Advanced Package Tool). Ветка 2.9.x является экспериментальной и используется для разработки функциональности будущей стабильной версии APT 3.0, которая после стабилизации будет интегрирована в Debian Testing и войдёт в следующий значительный релиз Debian, а также будет добавлена в пакетную базу Ubuntu.
Ключевым изменением в новой версии стало окончательное прекращение использования утилиты apt-key для управления ключами, применяемыми для верификации цифровых подписей пакетов. Утилита apt-key несколько лет назад была объявлена устаревшей в связи с уходом от старой модели проверки целостности пакетов, в которой использовалось общее хранилище ключей (/etc/apt/trusted.gpg) и отсутствовала привязка ключей к репозиториям, т.е. ключ, добавленный для какого-то стороннего репозитория, подходил для проверки пакетов во всех репозиториях. Пришедший на смену apt-key метод работы с ключами подразумевает разделение хранилищ ключей для каждого репозитория (/etc/apt/trusted.gpg.d/ или /etc/apt/keyrings/).
Другие изменения:
- В список путей для вызова gpg добавлена написанная на языке Rust утилита gpg-sq, принимающая те же аргументы, что и утилита gpg, но имитирующая её работу через Sequoia, реализацию OpenPGP на языке Rust. Вызов gpg-sq является более приоритетным, чем gpg, т.е. для использования gpg-sq вместо gpg достаточно установить соответствующий пакет.
- Обеспечена привязка типов ключей к расширениям файлов: расширение “.asc” связано с ascii-armored ключами, “.gpg” – всегда с бинарными ключами, а все остальные файловые расширения вызовут ошибку “The key(s) in the keyring … are ignored as the file has an unsupported filetype”. Например, при использовании файла с ключом “/etc/apt/keyrings/winehq-archive.key”, его нужно будет переименовать в “/etc/apt/keyrings/winehq-archive.gpg” и исправить путь в файле в “/etc/apt/sources.list.d/”.
- Многие функции переведены на использование класса “std::string” вместо “const char *” (определённый в стандарте С++17 класс std::string_view, более эффективно работающий со строками за счёт использования ссылок на существующие данные и исключения лишнего копирования данных, пока не задействован в коде).
- Реализована поддержка самостоятельной проверки хранилищ ключей (keyring) и выполнения операции dearmor (преобразование ключа в формате ASCII-armored в бинарный формат) без обращения к apt-key.
- Добавлена функция Base64Decode.