Опубликован обзор переработанного формата пакетов PBI, который планируется использовать в релизе PC-BSD 9 (тестовые сборки уже можно загрузить здесь). Основная идея PBI связана с помещением всех необходимых библиотек в каждый пакет, что позволяет избавиться от зависимостей и упрощает операции по управлению пакетами, но заметно увеличивает размер пакета за счет дублирования файлов в системе. Для уменьшения размера в PBI включаются только дополнительные компоненты, отсутствующие в базовой поставке релизов PC-BSD.

Из преимуществ PBI также называются гибкие возможности по обновлению (например, можно установить приложение использующее нестандартные, устаревшие или новейшие библиотеки) и удалению приложений, без влияние на систему и другие программы. Также возможна подготовка 32-разрядных PBI-пакетов, способных работать на 64-разрядных системах без усложненных chroot-конфигураций.

Из возможностей, реализованных в переработанной версии PBI, отмечается:

  • Поддержка установки и сборки PBI-пакетов в обычных FreeBSD-окружениях (без привязки к PC-BSD)
  • Новый инструментарий для работы с PBI-пакетами, реализованный в виде одного исполняемого файла pbi-manager, работающий в режиме командной строки (не требует для реализации всех возможностей наличия GUI-интерфейса как раньше) и использующий только стандартные системные утилиты и библиотеки;
  • Поддержка сборки стандартного порта FreeBSD в виде готового PBI-файла;
  • Использование цифровых сигнатур для проверки надежности источника сборки. Теперь можно проверить, что пакет взят из официального репозитория (ранее использовался только простейший MD5 хэш для проверки целостности пакета). Для каждого файла в пакете теперь создается SHA256-хэш, что дает возможность следить за целостностью установленных файлов;
  • Для разработчиков пакетов разработан механизм доставки PBI конечным пользователям. Ведение первичного индекса всех выпущенных PBI и связанной с ними мета-информацией. Пользователь может найти нужный пакет в индексе и установить его. Реализованы инструменты для создания и поддержки собственных PBI-репозиториев;
  • С целью минимизации используемого дискового пространства реализована возможность совместного использования единых для разных пакетов файлов. Если при установке пакета файл уже был установлен другим пакетом, то вместо дублирования данных создается жесткая ссылка. Идентичность файлов проверяется с использованием SHA256-хэшей.
  • Для мониторинга и обслуживания установленных PBI-пакетов используется специальный фоновый процесс pbid, который непосредственно занимается выявлением и объединением дубликатов;
  • Для сокращения размера необходимых для обновления PBI-пакетов данных добавлена поддержка обновления через установку бинарных патчей, содержащий только измененные данные по отношению к прошлой версии пакета. Использование бинарных патчей позволяет сократить объем загружаемых данных, в некоторых ситуациях, на 95%. Доступны инструменты для автоматической генерации патчей на основе сборки стандартного порта.


Источник: http://www.opennet.ru/opennews/art.shtml?num=29940