RELEASE(8) OpenBSD System Manager's Manual 和訳
以前翻訳した物を再Up
http://www.openbsd.org/cgi-bin/man.cgi?query=release&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
http://www.openbsd.org/cgi-bin/man.cgi?query=release&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
オリジナルは上記URLのドキュメントです。
OpenBSD release(8)のmanページを翻訳したものです。
翻訳した内容について一切の保証はありません。
RELEASE(8) OpenBSD System Manager's Manual RELEASE(8)
NAME
release - OpenBSD リリース の構築
DESCRIPTION
システムリリースをビルドするにはいくつかの手順が必要である。それらは
1. ソースの更新
2. 新しいカーネルのビルドとインストール
3. 新しいシステムのビルド
4. システムリリースの作成と検証
5. XF4のビルドとインストール
6. XF4リリースの作成と検証
7. サードパーティパッケージの作成
次のセクションでは要求されるステップをそれぞれ詳細に記述する。
コマンドをソースとportsツリー(それぞれ /usr/src と /usr/ports)への
書き込み権限のあるユーザとして実行されるコマンドはドル記号(`$')が先頭
に来る。スーパーユーザとして実行されるコマンドはハッシュ記号(`#')が
先頭に来る。
1. ソースの更新
ひとつのリリースは常に一貫性のあるソースの既存の一式から始まるべきである。
ソースが完全で一貫していることを保証するもっとも簡単な方法は OpenBSD開発者
がリリース作成のために リポジトリ優先のために加えるCVS タグを使ってそれらを
チェックアウトすることだ。そこには2つのタグがあり、一つは、リリースをCDROM
上にあるリリースを識別するフラグと、もう一つは安定版ブランチである。安定版
ブランチは OpenBSD 2.7 から始まって、http://www.openbsd.org/errata.html
に記載されたパッチを含む。タグは次の形式である:
OPENBSD_x_y_BASE このタグは存在するCDROMリリースのソースを示し、xはメジャ
ーリリース番号、yはマイナーリリース番号である。
OPENBSD_x_y このタグはターゲットを移す。 安定版ブランチに所属している
ソースであることを示す。 このブランチはエラッタのみを含み
新しい機能は追加されない。
上記のタグによって識別されるバージョンへあなたのソースを更新するには
このコマンドを使う。
$ cd /usr/src && cvs up -r TAG -Pd
$ cd XF4SRC && cvs up -r TAG -Pd
$ cd PORTSPATH && cvs up -r TAG -Pd
XF4SRC をあなたの X Window System ソースのパスに置き換えなさい。PORTSPATH は
あなたのports ツリーのソースへ置き換えなさい、典型的には /usr/portsです。
上記のコマンド群はソースツリーが存在していることを想定する。
最初にソースを取得する時の手順については http://www.openbsd.org/anoncvs.html
を見よ。
警告: CVS tags は `やっかい' である。 もっと知りたいなら cvs(1) を見よ。
2. 新しいカーネルのビルドとインストール
安全のために、カーネルを使うであろうプログラムを構築する前には、
あなたは常に新しいカーネルのビルドとインストールを行うべきだ。このことは
たとえば、新たなシステムコールが必要となりそこにあるであろうことを保証する。
カーネルをビルドするための手順は:
現在の作業ディレクトリを変更する。${ARCH} は あなたのマシンのアーキテクチ
ャである(たとえば i386)
$ cd /sys/arch/${ARCH}/conf
カーネル設定ファイルを編集する。 ${NAME} は あなたのカーネル設定ファイルで
ある。あなたはGENERICを変更すべきではない、つまり、もし変更を必要とすれば、
あなた自身のカーネル設定を作成する。もしあなたがこの手順をスキップできるな
らばGENERICを使う。そして、あなたはvi(1)や mg(1) あるいは他の選択したエデ
ィタを使うかもしれない。
$ vi ${NAME}
カーネル編集ディレクトリを構築し、カーネルをコンパイルする。
$ config ${NAME}
$ cd ../compile/${NAME}
$ make clean depend && make
��この例での make clean はあなたへの助けになる)
古いカーネルを置き換えてリブートする:
$ su
# mv /bsd /bsd.old && mv bsd / && chown root:wheel /bsd
# shutdown -r now
もしシステムがあがってこない場合、bsd.old を用いてbootすることも
できる。
3. 新しいシステムのビルド
今 あなたは新しいカーネルを走らせており、新しいシステムを構築できます。
��手間はかかりますが)objectディレクトリの削除とビルドする前のそれらを
再作成するとより安全です。次の手順で:
Move all your existing object files out of the way and then remove them
in the background:
すべての存在するオブジェクトファイルをここから移動し、背景から削除します。:
$ cd /usr/obj && mkdir -p .old && sudo mv * .old && ¥
sudo rm -rf .old &
obj ディレクトリ を リビルドします:
$ cd /usr/src && nice make obj
無くなったかもしれないディレクトリを作成します:
$ cd /usr/src/etc && env DESTDIR=/ sudo make distrib-dirs
ビルドを開始します:
$ su
# cd /usr/src && nice make build
もし sudo(8) をセットアップしていれば、 あなたは前述の手順を次のコマンドと
組み合わせることが出来ます。
$ nice make SUDO=sudo build
/etc/と/var、そして /dev/MAKEDEV を手動で更新する。
この時点で、あなたのシステムは最新で、あなたがリリースで作ろうとしている
コードを実行しています。
4. システムリリースの作成と検証
システムリリースは 汎用のカーネル(generic kernel)、一つのCDROMと2つのフロ
ッピー起動ファイルシステム、 リリースの `tar玉'、インストール手順書、チェ
ックサムファイル から成っています。
リリース工程は2つの作業エリアを要求する。それらは:
DESTDIR これは完全なOpenBSDインストレーションのルートとなるディレク
トリの名前で、オペレーティングシステム全体を入れるに十分な
ディスクになければならない。(X Window Systemとサードパー
ティ packages 分は少ないとしても)
このディレクトリはリリースを作成後なら削除できる。どのような
場合でもリリース工程を始める前にこのディレクトリが空に
するのが確実である。
RELEASEDIR これは リリース出力ファイルが置かれるディレクトリ名である。
続く工程が必要とすれば作成するだろう
警告: DESTDIR と RELEASEDIR が そのパスに /mnt をもつディレ
クトリを参照してはならない、というのは /mnt はリリース生成の
工程において使われるからだ。加えて言うと、最初の svnd(4) デ
バイス svnd0 も使われるので設定すべきではない。
フロッピー、CD-ROM、RAMDISK イメージは 最初に作られるときに特別なツールを
必要とする。 リリース工程は:
あなたはrootになってリリースを作成しなければならない:
$ su
リリースの構築に必要な特別なツールを生成する:
# cd /usr/src/distrib/crunch && make obj depend ¥
&& make all install
# export DESTDIR=your-destdir; export RELEASEDIR=your-releasedir
# test -d ${DESTDIR} && mv ${DESTDIR} ${DESTDIR}- && ¥
rm -rf ${DESTDIR}- &
# mkdir -p ${DESTDIR} ${RELEASEDIR}
最後の2つの手順は ${DESTDIR} が空のディレクトリとして存在し、${RELEASEDIR}
が存在することを確実にする。${RELEASEDIR} は空である必要はない。
${DESTDIR} の多くの内容が リリース tar玉の内容とマッチしているしていることを
チェックする
# cd /usr/src/etc && nice make release
# cd /usr/src/distrib/sets && sh checkflist
# unset RELEASEDIR DESTDIR
この時点で、あなたは OpenBSDリリースの殆どを持っている。欠けているのは
X Window System だけだろう。(次のセクションでカバー)
5. XF4のビルドとインストール
XF4ツリーは元来 imake(1) ベースで、バークレー make(1) 由来の ``obj''
ディレクトリ メカニズムに含まれない。このツリーはそれなりの位置に構築
されうるため cvs ソースの汚染から控えるようにしたほうがよい。 もう一つ
のビルド位置は X Window System のオブジェクトファイル、ライブラリ、そ
してバイナリを保持するために十分に大きな場所が選ばれる必要がある。この
位置を XF4BLD と呼ぶ。XF4SRC はあなたのX Window Systemのソースファイル
のパスである。一度、XF4BLDを選択していればビルドの工程は次のようになる:
$ su
# test -d XF4BLD && mv XF4BLD XF4BLD- && rm -rf XF4BLD- &
# mkdir -p XF4BLD
# cd XF4BLD && lndir XF4SRC && nice make build
注記 (i386向けのみ): XF86Setupは構築と、インストールを上記から行い、
tcl/tk ライブラリのバージョン8.4を必要とする。それらは適切に構築して
インストールされなければならない。 tcl/tk バージョン8.4は ports ツリー
から見つかる /usr/ports/lang/tcl/8.4/ と /usr/ports/x11/tk/8.4/にある。
バージョン8.4はXF4のビルドのために要求される。バージョン8.4はバージョ
ン8.0と共存しているかもしれない。
上記方法は /usr/src ディレクトリでの make build に似ている。X Window
System は 生成され、/usr/X11R6 へインストールされる。しかし、ビルドの
インストールのフェーズでは /etc/X11/xdm を上書きしない。そのディレクト
リは手動でインストールされなければならない。そうでなければ、
ビルドの前に cd /etc/X11 && mv xdm xdm- とやっておいて、
ビルドの後で ビルドとローカル設定を xdm- から xdmへコピーすることも
できる。
6. XF4リリースの作成と検証
XF4 は 前述のDESTDIR と RELEASEDIR を使う。それらが システムの残りを
ビルドするときに使われる値がセットされているかもしれない間、DESTDIR
の既存の内容が XF4 のビルド の一部として取り出されることをご了承く
ださい。(これは、リリースチェックリスト処理のために必要です)
リリースをビルドする手順は(あなたがまだrootでXF4BLD にいることを想
定します):
# export DESTDIR=your-destdir; export RELEASEDIR=your-releasedir
# test -d ${DESTDIR} && mv ${DESTDIR} ${DESTDIR}- && ¥
rm -rf ${DESTDIR}- &
# mkdir -p ${DESTDIR} ${RELEASEDIR}
# nice make release
# unset RELEASEDIR DESTDIR
この時点で あなたは リリースディレクトリの中に、OpenBSD と X Window Sy-
stem の `tar玉' の両方を持つことになる。
7. サードパーティパッケージの作成
寄贈アプリケーションの `ports' サブシステム は ports(7) に記述がある。
インストールの容易さのために、portsは pkg_add(1)を用いて複数のマシン
上でインストール可能な `packages' へプリコンパイルできる。packages
は ビルドするためのアプリケーションを選択すること(我々はこれを
CATEGORY/PORTと呼ぶ)により作成され次のように実行する:
rootになって:
$ cd /usr/ports/CATEGORY/PORT
$ su
# make package
これだけ。
SEE ALSO
cvs(1), pkg_add(1), ports(7), sudo(8)
HISTORY
この文書は OpenBSD 2.8 で初めて作成された。
コメント
コメントを投稿
「コメントを投稿できるユーザー」の範囲は変更される可能性があります。