После 9 месяцев разработки представлен (http://lists.freebsd.org/pipermail/freebsd-stable/2014-July/... релиз развиваемого проектом FreeBSD пакетного менеджера Pkg 1.3 (https://wiki.freebsd.org/pkgng), который заменил собой утилиты из набора pkg_install (pkg_create, pkg_add и pkg_info) и используется по умолчанию начиная с выпуска FreeBSD 10. В разработке нового выпуска приняли участие 29 разработчиков.Из добавленных в новом выпуске изменений можно отметить:
- Представлена новая реализация кода для разрешения зависимостей, поддерживающая решение задачи выполнимости булевых формул (SAT Solver (http://ru.wikipedia.org/wiki/%D0%97%D0%B... и способная автоматически обрабатывать конфликты и динамически выявлять их наличие;
- В команду "pkg install" добавлена возможность установки пакетов из локальных файлов с разрешением связанных с ними зависимостей во внешних репозиториях;
- Большая часть кода теперь выполняется в режиме изоляции (sandbox);
- Проведена работа по улучшению переносимости;
- Процесс установки пакетов переработан для обеспечения более высокой безопасности и корректной обработки флагов schg (http://www.freebsd.org/cgi/man.cgi?query=chflags&sektion=1);
- Внесены изменения в реализацию механизма блокировки для обеспечения более гранулированных локальных блокировок;
- Упрощён API;
- Задействована библиотека libucl;
- Внесены изменения в интерфейс пользователя, направленные на обеспечение более комфортной работы;
- Расширена поддержка работы одновременно с несколькими репозиториями;
- В библиотеку вынесен код с реализацией команды "pkg audit";
- Добавлена возможность переопределения параметров конфигурации для отдельной операции из командной строки через указание "pkg -o A=B".
Pkg поддерживает типичные функции таких систем управления пакетами, как APT и YUM, включая управление установленными пакетами, поиск пакетов, обновление пакетов из внешних репозиториев, учёт зависимостей, средства для работы с метаданными, проверка подлинности по цифровой подписи. В качестве формата пакета используется обычный TAR-архив, сжатый при помощи xz, в который помещены файлы, связанные с распространяемым приложением, а также набор управляющих скриптов и метаданных. Метаданные оформлены в виде текстового файла "+MANIFEST" в формате YAML и содержат всю информацию о пакете и определение особенностей его обработки.
Поддерживается включение в пакет скриптов, которые вызываются на различных стадиях установки/обновления/удаления. В системе информация об установленных пакетах и пакетах, присутствующих в репозиториях, хранится в базе данных, на основе SQLite. Информация о начинке репозиториев также экспортируется в формате SQLite. Для оценки наличия уязвимостей в установленных пакетах подготовлена команда "pkg audit". Присутствует режим удаления пакетов, которые были установлены как зависимости и в которых больше нет необходимости.
URL: http://lists.freebsd.org/pipermail/freebsd-stable/2014-July/...
Новость: http://www.opennet.ru/opennews/art.shtml?num=40262