Публикация на инструмента за управление пакетите 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 е добавена утилита gpg-sq, написана на Rust, която приема същите аргументи като утилитата 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 *» (определен в стандарта C++17 клас std::string_view, който работи по-ефективно със стрингове, използвайки референции на съществуващи данни и избягвайки ненужно копиране на данни до използване в кода).
- Реализирана е поддръжка за самостоятелна проверка на хранилищата на ключовете (keyring) и извършване на операция dearmor (преобразуване на ключ в формат ASCII-armored в бинарен формат) без обжалване към apt-key.
- Добавена е функция Base64Decode.
Източник: opennet.ru
