Документация по ОС FreeBSD Суббота, 18.05.2024, 16:25
Приветствую Вас Гость | RSS
Меню сайта
links

Главная » 2012 » Февраль » 4 » Представлена первая бета-версия pkgng, нового пакетного менеджера для FreeBSD
Представлена первая бета-версия pkgng, нового пакетного менеджера для FreeBSD
22:02

Разработчики проекта pkgng, в рамках которого предпринята попытка создания полнофункционального пакетного менеджера для FreeBSD, объявили о переходе на стадию бета-тестирования. Pkgng позиционируется как отвечающая современным реалиям замена инструментария pkg_install.

В настоящее время pkg_install не поддерживает ряд важных функций, связанных с управлением бинарными пакетами, таких как возможность обновления пакетов, поддержка работы с репозиториями, учёт зависимостей и полноценная поддержка метаданных. Ограничения pkg_install во многом мешают развитию инфраструктуры портов, которая вынуждена работать с оглядкой на устаревший инструментарий, что приводит к появлению различных "хаков" в Mk/bsd.*.mk и метаданных, вносимых для обхода ограничений pkg_install. Предпринимаемые ранее попытки создания более современных утилит, например, portmaster и portupgrade, также в конечном счёте упирались в ограничения pkg_install.

Для исправления сложившейся ситуации был основан проект pkgng, который изначально не позиционировался для управления портами и рассматривался как полная замена утилитам pkg_*, включая новый формат пакетов, работу только с бинарными пакетами и использование репозитория для их распространения. В основе проекта лежит библиотека libpkg с реализацией функций по работе с пакетами и репозиторями, которую можно использовать для создания пользовательских утилит. Поддерживаются типичные функции таких систем управления пакетами, как APT и YUM, включая управление установленными пакетами, поиск пакетов и обновление из удалённых репозиториев.

В качестве формата пакета предлагается использовать TAR-архив в который помещены файлы, связанные с распространяемым приложением, а также набор управляющих скриптов и метаданных. Метаданные оформлены в виде текстового файла "+MANIFEST" в формате YAML и содержат всю информацию о пакете и определение особенностей его обработки. Поддерживается включение в пакет скриптов, которые будут вызываться на различных стадиях установки/обновления/удаления. В системе информация об установленных пакетах и пакетах, присутствующих в репозиториях, хранится в базе данных, на основе SQLite. Информация о начинке репозиториев также экспортируется в формате SQLite. Для гарантирования валидности источника пакетов поддерживается проверка по RSA-сигнатурам. Для оценки наличия уязвимостей в установленных пакетах подготовлена команда "pkg audit".

В pkgng также реализованы полноценные средства учета зависимостей между пакетами, в том числе присутствует режим автоматического удаления пакетов, которые были установлены как зависимости и в которых больше нет необходимости. Новые пакеты могут быть созданы на основании портов или уже установленных в произвольную директорию программ. Для регистрации в БД pkgng данных об уже установленных из портов программ подготовлен скрипт ports/pkg2ng. С точки зрения пользователя, формат работы с pkgng напоминает APT. Например, для обновления данных о содержимом репозитория нужно выполнить "pkg update", для установки программ "pkg install zsh cfengine3" и т.п. Информация об используемых репозиториях размещается в секции "repos:" файла /etc/pkg.conf. Список уже доступных репозиториев можно найти на сайте проекта.

Ожидается, что pkgng пробудет на стадии бета-тестирования достаточно долго, но при этом в отличие от альфа-выпусков, будет обеспечена обратная совместимость для форматов пакетов, внутренних баз и репозиториев, что позволит без опасения переходить к более новым выпускам pkgng. В настоящее время вся базовая функциональность, задуманная для релиза pkgng 1.0 уже реализована, если возникнут какие-то новые глобальные идеи, то они будут реализованы только к релизу pkgng 2.0. Финальный релиз pkgng 1.0 планируется выпустить до выхода FreeBSD 10.0-RELEASE и 9.1-RELEASE, обеспечив полную готовность к использованию в данных выпусках.

Революционных изменений от версии 1.0 ожидать не стоит, так как она ещё предполагает совместимость с текущим деревом портов. В будущем поддержка pkg_install будет прекращена, что позволит приступить к реализации более кардинальных улучшений. Среди интересных планов на далёкое будущее можно упомянуть средства для повышенной изоляции пакетов при помощи capsicum; учет системной архитектуры при установке пакетов (amd64, i386, arm); поддержка инкрементальных обновлений при которых будут загружаться только измененные части пакета; поддержка абстрактных мета-пакетов; более сложная система учета зависимостей.

Просмотров: 455 | Добавил: oleg | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Календарь новостей
«  Февраль 2012  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
272829

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright MyCorp © 2024