Свой репозиторий pkgng
pkgng - новый менеджер пакетов, обладающий весьма привлекательным функционалом.
Но при использовании стандартного репозитория пакетов pkg.FreeBSD.org мы теряем возможность опциональной сборки приложения. Решение - создание собственного репозитория, в котором пакеты приложений будут собраны с необходимыми нам опциями. Для создания своего репозитория воспользуемся poudriere - инструментом для тестирования сборки пакетов.
Подготовка
Установка пакета poudriere
pkg install poudriereНастройка poudriere
ZPOOL=zroot
ZROOTFS=/poudriere
BASEFS=/poudriere
DISTFILES_CACHE=${BASEFS}/distfiles
FREEBSD_HOST=ftp://ftp.freebsd.org
WRKDIR_ARCHIVE_FORMAT=txz
BUILDER_HOSTNAME=freebsd.localФормирование среды для сборки пакетов
Создание дерева портов с использованием portsnap в каталоге /poudriere/ports/default
poudriere ports -cОбновление дерева портов производится командой
poudriere ports -uСоздание jail с системой версии 10.1-RELEASE в каталоге /poudriere/jails/101amd64. Для указания архитектуры, отличной от текущей, используется параметр -a.
При создании jail poundriere сразу обновляет систему в нем с помощью freebsd-update. Отдельно обновить jail можно следующей командой:
Для обновления jail до другой версии операционной системы используется флаг -t
После смены версии, логичным было бы переименовать jail, а также изменить точку монтирования. Переименование jail производится следующей командой:
Для изменения точки монтирования и расположения самого jail необходимо отредактировать файлы fs и mnt в каталоге /usr/local/poudriere.d/jails/102amd42.
Также внести изменения в файловую систему:
Конфигурация портов и сборка пакетов
Чтобы не собирать все дерево портов, можно указать список только необходимых в файле
Установка опций сборки пакетов по своему усмотрению
Сборка пакетов с установленными опциями
Ссылки
http://www.bsdnow.tv/tutorials/poudriere https://gist.github.com/dch/fea9ba2bf955369a05e8 http://bugreev.ru/blog:2014:09:10-шпаргалка_-_сборка_пакетов_для_систем_freebsd
Last updated
Was this helpful?