[ CVSupの設定 | FreeBSDトップ | @FreeDの設定 ]


Make World

daemon


Introduction

CVSupにより最新版に更新したソースを使用して、 最新版の実行環境を再構築する。
FreeBSDではそのためにmake worldと呼ばれる仕組みが提供されているので、 それほど面倒な作業ではないが、 手順を間違えると二度と起動しなくなる可能性もあるので十分に注意して作業する。
Backup

重要なファイルのバックアップを行う
基本的には/etcを全てバックアップすれば問題ない。 tarコマンドでアーカイブしても良いが、 いざと言うときにすぐ使えるように任意のディレクトリにそのままコピーする。
Prepare

まずは情報の収集。
/usr/src/UPDATINGは重要な情報が書かれているので熟読する。 勿論英語で書かれているが、それほど難しくない英語なので何とか読む。
他にはFreeBSDハンドブックも貴重な情報源となる。 インストールするディストリビューションにもよるが、 /usr/share/doc/ja/books/handbook/index.htmlに FreeBSDハンドブックがあるのでこれも熟読する。

次は/etc/make.confの編集。
通常は以下の設定だけで十分だが、 /usr/src/UPDATINGに特記されている事があれば勿論追加する。

CFLAGS= -O -pipe
NOPROFILE= true
Buildworld

ベースシステムを構築する。
カーネルこ構築する時に必要な/usr/sbin/configコマンドをはじめ、 FreeBSDで使用されるほぼ全てのコマンドが/usr/obj以下のディレクトリに 再構築される。
存在するならば/usr/objディレクトリ以下を全て削除し、 make buildworldを実行する。 環境に依存するが大体2〜3時間でmake buildworldは終了する。

# cd /usr/obj
# chflags -R noschg *
# rm -rf *
# cd /usr/src
# make -j 4 buildworld
Kernel

新しいカーネルを構築する
カーネルの構築は基本的に通常の方法と同様。 コンフィグレーションファイルは通常通りGENERICを元に編集すれば良い。
ただし、makeコマンドは/usr/srcで実行することにより、 Buildworldで作成したconfigコマンドを使用する必要がある。
カーネルが構築できたら同様にインストールを行う。 この時もmakeコマンドは/usr/srcで実行する必要がある。

# cd /usr/src
# … コンフィグレーションファイルの編集
# make buildkernel KERNCONF=コンフィグレーションファイル名
# make installkernel KERNCONF=コンフィグレーションファイル名
Install

ベースシステムをインストールする。
ベースシステムをインストールする前にリブートし、新しいカーネルで起動する。
この時に、シングルユーザモードで起動し、以下の作業は安全のため全て シングルユーザモードで実行する。 シングルユーザモードで起動したらベースシステムをインストールする。
ベースシステムのインストールはmake installworldコマンドで完了

# cd /usr/src
# make installworld

mergemaster

ベースシステムのインストール後は環境の構築。
この手順が一番注意を要する。 mergemaster (8)というコマンドが提供されており、 多少は簡単に環境を移行できるが、それでも気を使う作業には変りない。
mergemasterは既存の設定ファイルと新規の設定ファイルを比較して 差分を表示し、設定ファイルの移行の補助をしてくれる。
mergemasterは2段階で実行すると楽で便利である。

# mergermaster -svia
# mergermaster -svir

最初の実行では既存ファイルが無い場合に自動で新規ファイルをインストールし、 次の実行で、実際に既存の設定ファイルと新規の設定ファイルの比較を行う。 mergemastercvs(1) のバージョン情報がある場合はそれを比較し、 バージョンが等しければ既存の設定ファイルを使用する。 バージョンがない場合やバージョンが違う場合は、設定ファイルそのものを比較し、 内容に差がある場合はプロンプトを表示する。
このプロンプトに対してlを入力すると既存のファイルを使用し、 r を入力すると新規ファイルを使用する。 m を入力すると行単位で自分でマージができる。
/etc以下のファイルに対して行った修正は確実にメモする等、 後で自分が判る様にするのが大切である。
最後に通常通り再起動し終了。


Last Update: Jan. 3 2005 Copyright © Mitzyuki IMAIZUMI 2002,2004,2005 All Rights Reserved,