Записки программиста
  • Главная страница
  • Базы данных
    • ClickHouse
      • Экспорт и импорт данных
    • MariaDB
      • Настройка временной зоны
    • MongoDB
      • Пользователи и авторизация
      • Конфигурация кэша WiredTiger
    • MySQL
      • Установка в FreeBSD
      • Восстановление репликации
      • Полезные ссылки
    • PostgreSQL
      • Блокировки
      • Вакуумирование таблиц
      • Репликация
      • Полезные заметки
    • Redis
      • Полезные заметки
  • Безопасность
    • OpenSSL
      • Работа с контейнером p12
    • PostgreSQL
  • Инфраструктура
    • Docker
      • Полезные заметки
    • Kubernetes
      • Установка k3s
      • Полезные заметки
    • Proxmox VE
      • Управление узлами кластера
  • Операционные системы
    • FreeBSD
      • Установка XOrg и Gnome
      • Свой репозиторий pkgng
      • Поддержка ZFS
      • Использование CARP
      • Установка на ZFS без таблицы разделов
    • Linux
      • apt
      • dpkg
      • Изменение корневого раздела диска без перезагрузки
    • macOS
      • Настройка уведомлений macOS
      • Настройка Finder
      • Настройка shell пользователя
      • Служба Spotlight
      • Локализация каталогов
      • Маршрутизация и VPN
    • UNIX
      • Работа с архивами
  • Программирование
    • PHP
      • Полезные заметки
    • Shell
      • Bash
  • Сетевые технологии
    • Nebula
    • Полезные ссылки
  • Системы версирования
    • GIT
      • Основные операции
      • Синхронизация форка с основным проектом
    • SVN
      • Полезные заметки
  • Файловые системы
    • Ceph
      • Настройка модуля Dashboard
      • Мониторинг
      • Полезные заметки
    • ZFS
      • Управление пулами ZFS
      • Управление томами ZFS
  • Транспорт
    • Никополь - Каменка-Днепровская
    • Энергодар - Примерное - Новоукраинка - Ивановка - Благовещенка - Червонцы
Powered by GitBook
On this page
  • Подготовка
  • Конфигурация портов и сборка пакетов

Was this helpful?

  1. Операционные системы
  2. FreeBSD

Свой репозиторий pkgng

pkgng - новый менеджер пакетов, обладающий весьма привлекательным функционалом. Но при использовании стандартного репозитория пакетов pkg.FreeBSD.org мы теряем возможность опциональной сборки приложения. Решение - создание собственного репозитория, в котором пакеты приложений будут собраны с необходимыми нам опциями. Для создания своего репозитория воспользуемся poudriere - инструментом для тестирования сборки пакетов.

Подготовка

Установка пакета poudriere

pkg install poudriere

Настройка poudriere

/usr/local/etc/poudriere.conf
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.

poudriere jail -c -j 101amd64 -v 10.1-RELEASE -a amd64

При создании jail poundriere сразу обновляет систему в нем с помощью freebsd-update. Отдельно обновить jail можно следующей командой:

poudriere jail -u -j 101amd64

Для обновления jail до другой версии операционной системы используется флаг -t

poudriere jail -u -t 10.2-RELEASE -j 101amd64

После смены версии, логичным было бы переименовать jail, а также изменить точку монтирования. Переименование jail производится следующей командой:

poudriere jail -r 102amd54 -j 101amd64

Для изменения точки монтирования и расположения самого jail необходимо отредактировать файлы fs и mnt в каталоге /usr/local/poudriere.d/jails/102amd42.

Также внести изменения в файловую систему:

zfs rename zroot/poudriere/jails/101amd64 zroot/poudriere/jails/102amd64
zfs set mountpoint=/poudriere/jails/102amd64 zroot/poudriere/jails/102amd64

Конфигурация портов и сборка пакетов

Чтобы не собирать все дерево портов, можно указать список только необходимых в файле

/usr/local/etc/poudriere.d/lists/102amd64
www/nginx
lang/php5

Установка опций сборки пакетов по своему усмотрению

poudriere options -j 102amd64 -f /usr/local/etc/poudriere.d/lists/102amd64

Сборка пакетов с установленными опциями

poudriere bulk -j 102amd64 -f /usr/local/etc/poudriere.d/lists/102amd64

Ссылки

PreviousУстановка XOrg и GnomeNextПоддержка ZFS

Last updated 4 years ago

Was this helpful?

http://www.bsdnow.tv/tutorials/poudriere
https://gist.github.com/dch/fea9ba2bf955369a05e8
http://bugreev.ru/blog:2014:09:10-шпаргалка_-_сборка_пакетов_для_систем_freebsd