Разработчики FreeBSD представили релиз пакетного менеджера Pkg 1.3

После 9 месяцев разработки представлен релиз развиваемого проектом FreeBSD пакетного менеджера Pkg 1.3, который заменил собой утилиты из набора pkg_install (pkg_create, pkg_add и pkg_info) и используется по умолчанию начиная с выпуска FreeBSD 10. В разработке нового выпуска приняли участие 29 разработчиков.

Из добавленных в новом выпуске изменений можно отметить:

  • Представлена новая реализация кода для разрешения зависимостей, поддерживающая решение задачи выполнимости булевых формул (SAT Solver) и способная автоматически обрабатывать конфликты и динамически выявлять их наличие;
  • В команду «pkg install» добавлена возможность установки пакетов из локальных файлов с разрешением связанных с ними зависимостей во внешних репозиториях;
  • Большая часть кода теперь выполняется в режиме изоляции (sandbox);
  • Проведена работа по улучшению переносимости;
  • Процесс установки пакетов переработан для обеспечения более высокой безопасности и корректной обработки флагов schg;
  • Внесены изменения в реализацию механизма блокировки для обеспечения более гранулированных локальных блокировок;
  • Упрощён API;
  • Задействована библиотека libucl;
  • Внесены изменения в интерфейс пользователя, направленные на обеспечение более комфортной работы;
  • Расширена поддержка работы одновременно с несколькими репозиториями;
  • В библиотеку вынесен код с реализацией команды «pkg audit»;
  • Добавлена возможность переопределения параметров конфигурации для отдельной операции из командной строки через указание «pkg -o A=B».

Pkg поддерживает типичные функции таких систем управления пакетами, как APT и YUM, включая управление установленными пакетами, поиск пакетов, обновление пакетов из внешних репозиториев, учёт зависимостей, средства для работы с метаданными, проверка подлинности по цифровой подписи. В качестве формата пакета используется обычный TAR-архив, сжатый при помощи xz, в который помещены файлы, связанные с распространяемым приложением, а также набор управляющих скриптов и метаданных. Метаданные оформлены в виде текстового файла «+MANIFEST» в формате YAML и содержат всю информацию о пакете и определение особенностей его обработки.

Поддерживается включение в пакет скриптов, которые вызываются на различных стадиях установки/обновления/удаления. В системе информация об установленных пакетах и пакетах, присутствующих в репозиториях, хранится в базе данных, на основе SQLite. Информация о начинке репозиториев также экспортируется в формате SQLite. Для оценки наличия уязвимостей в установленных пакетах подготовлена команда «pkg audit». Присутствует режим удаления пакетов, которые были установлены как зависимости и в которых больше нет необходимости.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.