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