Выпуск пакетного менеджера RPM 4.14.0
После почти года разработки состоялся релиз пакетного менеджера RPM 4.14.0. Проект RPM4 развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL (включая производные проекты CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, Mageia, PCLinuxOS, Tizen и многих других. Параллельно независимой командой разработчиков развивается проект RPM5, который непосредственно не связан с RPM4.
Наиболее заметные улучшения в RPM 4.14:
- Значительно переработан код для работы с пакетами debuginfo: обеспечена возможность параллельной установки пакетов debuginfo, добавлена поддержка разбиения на субпакеты и сборки из раздельных src-пакетов, в debugedit появилась поддержка таблицы замены строк;
- Внесены существенные изменения в движок обработки макросов и расширен язык макросов. Аргументы в параметрическом макросе теперь могут заключаться в кавычки (например, для передачи пустых аргументов). Для макросов автоматического выполнения действий теперь принудительно ограничивается область использования. Убрано не работающее ограничение области видимости на уровне блока — локальными теперь рассматриваются только параметрические макросы, определённые внутри блока.
- Переписан код чтения пакета/заголовка и проверки цифровой подписи, данные операции теперь выполняются единым обработчиком;
- Добавлена возможность использования блоков with/without для определения максимальных (rich) зависимостей;
- В секции %setup добавлена поддержка Ruby Gems;
- Добавлены генераторы зависимостей на основе Python distutils и AppStream metainfo;
- Используемый в заголовке алгоритм хэширования обновлён до SHA256. Добавлены хэши для проверки целостности сжатых данных;
- Добавлен настраиваемый режим минимизации операций записи, нацеленный на продление времени жизни SSD-накопителей;
- Добавлен настраиваемый режим сброса буферов ввода/вывода в процессе выполнения транзакций, полезный для некоторых серверных систем;
- Добавлен экспериментальный бэкенд для БД LMDB;
- Добавлена поддержка архитектуры RISCV-64;
- Добавлена опция »--changes» для отображения списка изменений с полной хронологией записей;
- Устранены две уязвимости (CVE-2017–7500, CVE-2017–7501), позволяющие повысить свои привилегии при установке специально оформленного пакета. Уязвимости дают возможность перезаписать содержимое ФС через манипуляции с символическими ссылками в пакете.
© OpenNet