Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
YN
Uploaded by
Yuichiro Naito
ODP, PPTX
899 views
Custom Package Building with Poudriere
building my own FreeBSD packages
Software
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as ODP, PPTX
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
Ec2でのdisk拡張方法
by
Takamasa Sakai
PDF
SSH Tips & Tricks
by
Nobutoshi Ogata
ODP
Programming under capability mode
by
Yuichiro Naito
PDF
pbuilder, cowbuilder, lxcで作るお手軽サンドボックス
by
Tsuyoshi Yamada
PDF
Firefox OS + Raspberry Pi
by
EnsekiTT
PDF
Elastic searchをrailsから使ってみた
by
Yoichi Toyota
PDF
誰得コマンド&オプション35連発
by
Yozo SATO
KEY
データベースのお話
by
Hidekazu Tanaka
Ec2でのdisk拡張方法
by
Takamasa Sakai
SSH Tips & Tricks
by
Nobutoshi Ogata
Programming under capability mode
by
Yuichiro Naito
pbuilder, cowbuilder, lxcで作るお手軽サンドボックス
by
Tsuyoshi Yamada
Firefox OS + Raspberry Pi
by
EnsekiTT
Elastic searchをrailsから使ってみた
by
Yoichi Toyota
誰得コマンド&オプション35連発
by
Yozo SATO
データベースのお話
by
Hidekazu Tanaka
What's hot
PDF
今最もアツイdistribution Gentoo Linuxについて
by
Takuto Matsuu
PDF
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
by
Tsuyoshi Yamada
PPTX
U boot-for-zynqberry
by
Akihiro Amagai
PDF
RとSQLiteで気軽にデータベース作成
by
弘毅 露崎
PDF
Linuxの基礎勉強会
by
優之 田中
PDF
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
by
Kenichiro MATOHARA
ODP
Gentoo Linuxの紹介
by
University of Tsukuba Linux User Group
PDF
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
by
monochrojazz
PDF
エンジニアのための痔の話
by
Kouhei Maeda
PDF
Redisととあるシステム
by
Takehiro Torigaki
PDF
R以外の研究ツール
by
弘毅 露崎
PDF
ベンチマーク勉強会#03
by
milk hanakara
PDF
Webサーバ構築で心がけるべき二つのこと
by
TrinityT _
PDF
S2s websrv201011-presen
by
Kouhei Maeda
PDF
Gentooサークル新歓コンパのご案内
by
Takuto Matsuu
PPTX
Redis速習会@Wantedly
by
Yoshinori Kawasaki
ODP
仕事で使えるシェルスクリプト
by
bsdhack
PPTX
Hostsの活用
by
Yoshitaka KATO
PDF
Maatkitの紹介
by
Akinori YOSHIDA
今最もアツイdistribution Gentoo Linuxについて
by
Takuto Matsuu
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
by
Tsuyoshi Yamada
U boot-for-zynqberry
by
Akihiro Amagai
RとSQLiteで気軽にデータベース作成
by
弘毅 露崎
Linuxの基礎勉強会
by
優之 田中
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
by
Kenichiro MATOHARA
Gentoo Linuxの紹介
by
University of Tsukuba Linux User Group
gcoreでプロセスメモリダンプ -mysqlプロセスメモリを見てみる-
by
monochrojazz
エンジニアのための痔の話
by
Kouhei Maeda
Redisととあるシステム
by
Takehiro Torigaki
R以外の研究ツール
by
弘毅 露崎
ベンチマーク勉強会#03
by
milk hanakara
Webサーバ構築で心がけるべき二つのこと
by
TrinityT _
S2s websrv201011-presen
by
Kouhei Maeda
Gentooサークル新歓コンパのご案内
by
Takuto Matsuu
Redis速習会@Wantedly
by
Yoshinori Kawasaki
仕事で使えるシェルスクリプト
by
bsdhack
Hostsの活用
by
Yoshitaka KATO
Maatkitの紹介
by
Akinori YOSHIDA
More from Yuichiro Naito
PDF
Development of Bhyve Management Daemon on FreeBSD
by
Yuichiro Naito
PDF
FreeBSD Capsicum
by
Yuichiro Naito
PDF
Bhyve Management Daemon: Wake on LAN support
by
Yuichiro Naito
PDF
Bhyve Management Daemon Version 3.0 on FreeBSD
by
Yuichiro Naito
PDF
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
by
Yuichiro Naito
PDF
WireGurad in the FreeBSD kernel
by
Yuichiro Naito
PDF
Tramp mode
by
Yuichiro Naito
PDF
FreeBSD 12.1 RELESE
by
Yuichiro Naito
ODP
Iocage
by
Yuichiro Naito
PDF
Install FreeBSD 14.3-RELEASE to HP Envy x360
by
Yuichiro Naito
ODP
FreeBSD 12.0 RELEASE!
by
Yuichiro Naito
ODP
FreeBSD 11.2 RELEASE!
by
Yuichiro Naito
PPTX
Modern fonts
by
Yuichiro Naito
PDF
HandBrake with QSV
by
Yuichiro Naito
ODP
FreeBSD Desktop
by
Yuichiro Naito
PDF
Bmd
by
Yuichiro Naito
ODP
Psql & proctitle
by
Yuichiro Naito
PDF
Bhyve debug-server
by
Yuichiro Naito
ODP
How to use PTI & IBRS patch
by
Yuichiro Naito
PDF
Xrdp
by
Yuichiro Naito
Development of Bhyve Management Daemon on FreeBSD
by
Yuichiro Naito
FreeBSD Capsicum
by
Yuichiro Naito
Bhyve Management Daemon: Wake on LAN support
by
Yuichiro Naito
Bhyve Management Daemon Version 3.0 on FreeBSD
by
Yuichiro Naito
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
by
Yuichiro Naito
WireGurad in the FreeBSD kernel
by
Yuichiro Naito
Tramp mode
by
Yuichiro Naito
FreeBSD 12.1 RELESE
by
Yuichiro Naito
Iocage
by
Yuichiro Naito
Install FreeBSD 14.3-RELEASE to HP Envy x360
by
Yuichiro Naito
FreeBSD 12.0 RELEASE!
by
Yuichiro Naito
FreeBSD 11.2 RELEASE!
by
Yuichiro Naito
Modern fonts
by
Yuichiro Naito
HandBrake with QSV
by
Yuichiro Naito
FreeBSD Desktop
by
Yuichiro Naito
Bmd
by
Yuichiro Naito
Psql & proctitle
by
Yuichiro Naito
Bhyve debug-server
by
Yuichiro Naito
How to use PTI & IBRS patch
by
Yuichiro Naito
Xrdp
by
Yuichiro Naito
Custom Package Building with Poudriere
1.
パッケージサーバの作り方 カスタムビルドパッケージ の作成と公開について 2017年4月28日 (株)創夢 内藤 祐一郎
2.
はじめに ● FreeBSD のバイナリパッケージは とっても便利ですが ●
オプションがデフォルト ● DEFAULT_VERSIONS もデフォルト ● make.conf もデフォルト → 自分好みにカスタマイズしたパッケージを作りたい
3.
パッケージビルドツール ● Poudriere – プドゥリエル:仏語で火薬庫の意 –
AsiaBSDCon2017 でたくさん言及されてました – 調べると日本語の記事もたくさんありました ● FreeBSD ハンドブック ● Qiitaの記事 ● CBUGの資料 ● その他、Blog記事多数
4.
Poudriere ● これら多数の情報とっても参考になりました。 ありがとうございます。 ● これらの情報を踏まえつつ、実際に使ってみた 感じをまとめたいと思います。
5.
Poudriereとは ● Ports ツリーのビルドを
jail 環境で行い pkgで利用できるパッケージリポジトリを 作ってくれる shell script です ● ports/ports-mgmt/poudriere から make install ● または pkg install poudriere で インストールできます
6.
Ports のビルドに必要なもの 1. どの
Ports ツリーを使うのか? 2. どの jail 環境でビルドするのか? 3. どのオプションでビルドするのか? 4. どの make.conf を使うのか? 5. どの src.conf を使うのか? 6. どの port をビルドするのか?
7.
1. Ports ツリーの取得 poudriere
では次の方法でツリーを取得します。 A) portsnap B) svn C) git 取得したツリーそれぞれに名前をつけて管理しま す。 $ poudriere ports -c -p <ツリー名> -m portsnap | svn | git
8.
1. Ports ツリーの取得 svn,
git リポジトリのデフォルトは ● svn://svn.freebsd.org/ports ● git://github.com/freebsd/freebsd-ports.git 変更するには poudriere.conf に SVN_HOST に svn サーバのホスト名を GIT_URL に git リポジトリのURLを書きます。
9.
1. Ports ツリーの取得 ブランチのデフォルトは ●
svn : head ● git : master 変更するには poudriere ports に -B <ブランチ名> を渡します (svnでは branches/2017Q2など) 従って svn では必ず次のような URL になります “svn://${SVN_HOST}/ports/<ブランチ名>”
10.
1. Ports ツリーの一覧 ●
Poudriere で管理されている Ports ツリーの一覧 $ poudriere ports -l ● Poudriere で管理されている Ports ツリーの更新 $ poudriere ports -u -p <ports名> ● Poudriere で管理されている Ports ツリーの削除 $ poudriere ports -d -p <ports名>
11.
2. jail 環境の作成 ●
jail 環境にもそれぞれ名前をつけて管理します ● jail を作成するには以下のコマンドを使います $ poudriere jail -c -j <jail名> -v <バージョン: 11.0-RELEASE など> -a <アーキテクチャ: amd64 など>
12.
2. jail 環境の取得先 ●
デフォルトでは ftp://ftp.freebsd.org からです ● poudriere.conf に FREEBSD_HOST=ftp://ftp.jp.freebsd.org とすると変えることができます。
13.
2. jail 環境の一覧 ●
jail 環境の一覧を表示するには $ poudriere jail -l ● jail 環境を更新 (freebsd-update) するには $ poudriere jail -u -j <jail名> ● jail 環境を削除するには $ poudriere jail -d -j <jail名>
14.
3. オプションの設定 まず、 make
config-recursive を実行する対象の パッケージリストを作成します。 例)$ echo “editor/emacs” > pkglist このリストを元にオプションを設定します。 オプションのまとまりを「セット」と呼び、名前 をつけて管理します。
15.
3. オプションの設定 オプションは Ports
ツリー、jail 環境に依存する ため、それぞれを指定した上で設定します $ poudriere options -p <ports名> -j <jail名> -z <セット名> -f <パッケージリストファイル> poudriereが make config を実行し、対話的にオプ ションを設定します。
16.
3. オプションの設定 オプションの保存形式は既存の make
config と全 く同じですので、/var/db/ports 以下を poudriere の管理領域にコピーすることもできます。 例) cp -r /var/db/ports /usr/local/etc/poudriere.d/<jail名>-<ports名>-<セット名 >-options
17.
4. make.conf の設定 poudriere
が使用する make.conf は次の順に読み込みます。 /usr/local/etc/poudriere.d/make.conf /usr/local/etc/poudriere.d/<セット名>-make.conf /usr/local/etc/poudriere.d/<ports名>-make.conf /usr/local/etc/poudriere.d/<jail名>-make.conf /usr/local/etc/poudriere.d/<jail名>-<ports名>-make.conf /usr/local/etc/poudriere.d/<jail名>-<セット名>-make.conf /usr/local/etc/poudriere.d/<jail名>-<ports名>-<セット名>-make.conf
18.
6. src.conf の設定 poudriere
が使用する src.conf は次の順に読み込 みます。 /usr/local/etc/poudriere.d/src.conf /usr/local/etc/poudriere.d/<セット名>-src.conf /usr/local/etc/poudriere.d/<jail名>-src.conf
19.
パッケージビルド poudriere が build
するパッケージのリストを指定 して poudriere bulk を呼び出します。 $ poudriere bulk -p <ports名> -j <jail名> -z <セット名> -f <パッケージリストファイル>
20.
パッケージビルド 出来上がったパッケージは /usr/local/poudriere/data/packages/ <jail名>-<ports名>-<セット名> に pkg repo
した状態で書き込まれます。 →ここをhttpで公開します。
21.
パッケージの署名 公開するに当たって署名したい場合には まず、RSA鍵ペアを作成します。 例) $ openssl genrsa
-out repo.key $ openssl rsa -in repo.key -pubout -out repo.pub repo.key が秘密鍵で repo.pub が公開鍵です。
22.
パッケージの署名 poudriere.conf に PKG_REPO_SIGNING_KEY=/root/repo.key と指定しておくとビルド時に署名してくれます
23.
パッケージの署名検証 署名を検証する側にはRSA公開鍵をインストールし ておき、次のような pkg.conf を作成します。 myrepo:
{ url: "<公開URL>", mirror_type: "http", signature_type: "pubkey", pubkey: "/root/repo.pub", enabled: yes }
24.
パッケージの署名検証 poudriereは署名検証方式としてfingerprintはサ ポートしていないようです。 FreeBSDのパッケージリポジトリと異なり poudriereで作成したリポジトリのメタデータに RSA 公開鍵が含まれないためです。
25.
パッケージビルドの並列度 デフォルトではホストのCPUコア数分、jail環境 をコピーし依存関係のない Port が並列ビルドさ れます。 一つ一つの
jail では make -j 1 でビルドされま す。 poudriere.conf の以下の設定で変えられます。 PARALLEL_JOBS=<jail数> ALLOW_MAKE_JOBS= no | yes
26.
ZFSを使う zfs を使うと jail環境をコピーではなく
clone して くれるため、圧倒的に前処理が速くなります。 poudriere.conf に使いたいプール名とpoudriere用 のルートファイルシステムを指定します。 例) ZPOOL=tank ZROOTFS=/poudriere
27.
おまけ poudriereはportを作成している人にとっても複数 の環境でビルドをテストできとても魅力的です。 $ poudriere testport
-j <jail名> -p <ports名> -z <セット名> -f <パッケージリストファイル> で該当パッケージのビルドログを全て表示してく れます。依存関係の不足なども表示されますの で、ぜひご活用ください!
Download