The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Вышел pkgng 1.0, новый пакетный менеджер для FreeBSD"
Отправлено opennews, 04-Сен-12 15:22 
После двух лет разработки представлен (http://lists.freebsd.org/pipermail/freebsd-ports/2012-August...) первый стабильный релиз пакетного менеджера pkg (http://wiki.freebsd.org/pkgng) (pkgng), выступающего в роли отвечающей современным реалиям замены инструментария pkg_install для управления бинарными пакетами во FreeBSD. Pkgng отличается поддержкой таких функций, как обновление пакетов, работа с репозиториями, учёт зависимостей, интерфейс (http://wiki.freebsd.org/PkgPrimer) в стиле APT и полноценные средства для работы с метаданными.


Установить pkgng можно через порт ports-mgmt/pkg (http://www.freshports.org/ports-mgmt/pkg/), в будущем ожидается включение компонентов, необходимых для работы с pkgng, в состав FreeBSD 9 и 10. В настоящее время дерево портов FreeBSD уже полностью подготовлено для использования pkgng (в make.conf следует добавить WITH_PKGNG=yes). Создан экспериментальный сетевой репозиторий пакетов
pkgbeta.freebsd.org (http://pkgbeta.freebsd.org/). Для работы с pkgng адаптированы такие инструменты управления портами, как portupgrade (пока только ветка -devel), ports-pkg_cutleaves, poudriere, portdowngrade, tinderbox-devel, portbuilder и bsdstats. Патчи с поддержкой pkgng уже подготовлены (https://github.com/pkgng/pkgng/blob/master/ports/patch-portm...) для portmaster и развиваются для salt (http://docs.saltstack.org/en/latest/ref/states/all/salt.stat...), cfengine (http://unix-heaven.org/cfengine3-freebsd-pkgng), puppet (https://github.com/xaque208/puppet-pkgng), биндингов ruby (https://github.com/baloo/libpkg-ruby/) и  PackageKit. Для миграции на pkgng текущих установок FreeBSD cоздана утилита  pkg2ng, которая регистрирует в БД pkgng данные об уже установленных в системе  портах.


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

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


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


В pkgng также реализованы полноценные средства учета зависимостей между пакетами, в том числе присутствует режим автоматического удаления пакетов, которые были установлены как зависимости и в которых больше нет необходимости. Новые пакеты могут быть созданы на основании портов или уже установленных в произвольную директорию программ. С точки зрения пользователя, формат работы с pkgng напоминает APT. Например, для обновления данных о содержимом репозитория нужно выполнить "pkg update", для установки программ "pkg install prog1 prog2", для поиска "pkg search ключ" и т.п.


URL: http://lists.freebsd.org/pipermail/freebsd-ports/2012-August...
Новость: http://www.opennet.ru/opennews/art.shtml?num=34739

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру