os:freebsd:pkg_8:poudriere
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
os:freebsd:pkg_8:poudriere [2017/08/03 08:51] – [ports treeを作る] hayashi | os:freebsd:pkg_8:poudriere [2017/08/07 07:58] (現在) – [コンパイル] hayashi | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== poudriere ====== | ||
+ | poudriereは自前のpkgngレポジトリを作るツール | ||
+ | ※2017.08.01:**現在作業中** | ||
+ | |||
+ | ===== 準備 ===== | ||
+ | |||
+ | 必要なもの | ||
+ | |||
+ | * zpool(7GB以上) | ||
+ | * 新しめのFreeBSD | ||
+ | |||
+ | poudriereはjailを作成してその中でパッケージをビルドします。 | ||
+ | |||
+ | **// | ||
+ | |||
+ | ===== インストール ===== | ||
+ | |||
+ | # pkg install poudriere | ||
+ | |||
+ | ===== 設定 ===== | ||
+ | |||
+ | poudriere用にzfsを切り出してマウント | ||
+ | |||
+ | zfs create -o mountpoint=/ | ||
+ | |||
+ | / | ||
+ | |||
+ | < | ||
+ | # zpoolの名前 | ||
+ | ZPOOL=tank01 | ||
+ | |||
+ | # マウントしたpoudriere用zfsのディレクトリ | ||
+ | ZROOTFS=/ | ||
+ | |||
+ | # 取得先を国内にしておく | ||
+ | FREEBSD_HOST=ftp:// | ||
+ | </ | ||
+ | |||
+ | ===== ports treeを作る ===== | ||
+ | |||
+ | # poudriere ports -c -p < | ||
+ | |||
+ | portsツリー名を省略すると/ | ||
+ | |||
+ | 一覧 | ||
+ | |||
+ | # poudriere ports -l | ||
+ | |||
+ | |||
+ | 更新 | ||
+ | |||
+ | # poudriere ports -u -p < | ||
+ | |||
+ | 削除 | ||
+ | |||
+ | # poudriere ports -d -p < | ||
+ | |||
+ | ===== jailの作成 ===== | ||
+ | |||
+ | poudriere jailでターゲット毎にjailを作成します | ||
+ | |||
+ | * -c 作成 | ||
+ | * -j jail名 | ||
+ | * -v FreeBSDバージョン | ||
+ | * -a アーキテクチャ(i386、amd64) | ||
+ | * -d 削除 | ||
+ | * -l 一覧 | ||
+ | * -s 開始 | ||
+ | * -k 停止 | ||
+ | * -u 更新 | ||
+ | |||
+ | # poudriere jail -c -j 103amd64 -v 10.3-RELEASE -a amd64 | ||
+ | # poudriere jail -c -j 111amd64 -v 11.1-RELEASE -a amd64 | ||
+ | |||
+ | # poudriere jail -l | ||
+ | JAILNAME VERSION | ||
+ | 103amd64 10.3-RELEASE-p20 amd64 ftp 2017-08-01 18:06:23 / | ||
+ | 111amd64 11.1-RELEASE | ||
+ | |||
+ | ==== セキュリティアップデート ==== | ||
+ | |||
+ | poudriere用のjail環境にセキュリティアップデートを適用する場合 | ||
+ | |||
+ | # poudriere jail -u -j [jail名] | ||
+ | |||
+ | ==== 削除 ==== | ||
+ | |||
+ | # poudriere jail -d -j [jail名] | ||
+ | |||
+ | ===== パッケージリストの作成 ===== | ||
+ | 作成するパッケージ名(origin)のリストを作ります | ||
+ | |||
+ | $ cat ./pkg.list | ||
+ | editor/ | ||
+ | |||
+ | ports名のoriginは www/ | ||
+ | |||
+ | 以下のコマンドで表示できます | ||
+ | |||
+ | # pkg search -o apache | ||
+ | |||
+ | |||
+ | ===== コンパイルオプションの設定 ===== | ||
+ | |||
+ | # poudriere options -p < | ||
+ | |||
+ | ここで、セット名と言う指定がありますがこの名前でオプションをまとめて管理します。これで、オプション設置画面が立ち上がります。 | ||
+ | |||
+ | このままだと、依存するportsのオプションも聞いてくるので -n で対象のみに絞ります。 | ||
+ | |||
+ | # poudriere options -n -p < | ||
+ | |||
+ | |||
+ | オプションの指定されたファイルは | ||
+ | |||
+ | * jailを指定した場合 | ||
+ | ==== ==== | ||
+ | / | ||
+ | ===== ===== | ||
+ | |||
+ | * jailを指定しなかった場合 | ||
+ | ==== ==== | ||
+ | / | ||
+ | ===== ===== | ||
+ | |||
+ | と、なります。((保存形式は既存のmake configと同じなので、/ | ||
+ | |||
+ | ===== コンパイル ===== | ||
+ | |||
+ | # poudriere bulk -p < | ||
+ | |||
+ | -c を指定すると以前にビルドしたものやlogを消してくれます\\ | ||
+ | -C を指定すると、一覧ファイルで指定したportsの以前にビルドしたものを消してくれます | ||
+ | |||
+ | 出来上がったパッケージは以下のディレクトリに pkg repo した状態で書き込まれます。((なので、ここをhttpで公開すればOK)) | ||
+ | |||
+ | / | ||
+ | ===== おまけ ===== | ||
+ | |||
+ | ==== make.confの優先順位 ==== | ||
+ | |||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | ==== src.confの優先順位 ==== | ||
+ | |||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | ===== 参照 ===== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// |