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

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

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

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

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

  • Начальная поддержка OS X, NetBSD и EdgeBSD;
  • Начальная поддержка опций provides/requires («pkg shlib —provides/—requires»), позволяющих определить какой установленный пакет предоставляет указанную библиотеку и какие пакеты используют данную библиотеку;
  • Реализация большой порции новых регрессионных тестов;
  • Обновление до последних версий большинства встроенных сторонних программ;
  • Улучшение качества выводимых в процессе работы сообщений;
  • Корректная поддержка флагов доступа к файлам. Возможность установки флагов через plist;
  • Поддержка передачи аргументов для определённых пользователем ключевых слов;
  • В команды установки обновлений добавлена поддержка масок, нечуствительных к регистру символов;
  • В команду «pkg create» добавлен режим детализированного вывода (—verbose);
  • Добавлена опция для смены ответа по умолчанию (ранее по умолчанию всегда принимался ответ «No»);
  • Проведена работа по сокращению потребления памяти и увеличению скорости работы;
  • Многочисленные улучшения в коде для разрешения зависимостей. Более явно указаны мотивы операций удаления, переустановки и обновления;
  • Поддержка команды «pkg create -M ./plop.ucl -p ./plop.plist»;
  • Новая опция «pkg -r rootdir», позволяющая установить пакет в иную корневую директорию без использования chroot. Текущий корень передаётся в скрипты через переменную PKG_ROOTDIR;
  • В «pkg lock» добавлена опция «—has-locked-packages»;
  • При возможности обеспечено возобновление прерванных загрузок;
  • По умолчанию активирован метод консервативного применения обновлений (CONSERVATIVE_UPGRADE).

В следующем выпуске планируется реализовать безопасный режим частичного обновления, добавить новые контекстно-зависимые уведомления, обеспечить поддержку гибко задаваемых зависимостей в provides/requires, создать бэкенд для пакетов Linux, добавить возможность размещения в репозитории нескольких версий одного пакета, улучшить документацию, расширить число регрессионных тестов.

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

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

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