Разработчики FreeBSD представили релиз пакетного менеджера Pkg 1.5
15 апреля 2015 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Wikinews-logo-ru.svg/300px-Wikinews-logo-ru.svg.png)
Представлен релиз развиваемого проектом FreeBSD пакетного менеджера Pkg 1.5 (Архивная копия от 21 декабря 2013 на Wayback Machine), который заменил собой утилиты из набора 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, добавить возможность размещения в репозитории нескольких версий одного пакета, улучшить документацию, расширить число регрессионных тестов.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.