DRBD構築システムには、DRBD ソースツリーから 直接RPMパッケージを構築する機能が含まれています。 RPMを構築する場合にも、makeによる構築とインストールについては 「構築の前提条件の確認」の条件が実質的に同様に適用されます。 もちろん、加えてRPM構築ツールも必要です。
コンパイル済みヘッダが使用可能な場合に 実行中のカーネルに対して構築を行う場合以外は、 「カーネルソースツリーの準備」も参照してください。
構築システムでは2つの方法でRPMを構築することができます。
最上位のメークファイルで rpmターゲットを呼び出す方法が簡単です。
cd /usr/src/drbd-x.y.z make rpm
この方法では、定義済みのテンプレートからspecファイルが自動的に生成され、 このspecファイルを使用してバイナリRPMパッケージを構築できます。
もう1つはより柔軟な方法で、
drbd.spec.inファイルを
drbd.specにコピーして必要な変更を加え、
RPM構築プロセスを手動で呼び出します。
cd /usr/src/drbd-x.y.z cp drbd.spec.in drbd.spec vi drbd.spec rpmbuild -bb drbd.spec
RPM構築プロセスによって、次の2つのバイナリRPMパッケージが作成されます。
DRBDユーザスペースツールを含むパッケージ(drbd-x.y.z-BUILD.ARCH.rpm)
DRBDカーネルモジュールを含む個別のパッケージ(drbd-km-)version-x.y.z-BUILD.ARCH.rpm
make rpmを使用した場合は、
2つのパッケージがDRBDソースツリーのdist/RPMSサブディレクトリに作成されます。
独自のspecファイルを作成してrpmbuildを呼び出した場合は、
システムのRPM構成(または独自の~/.rpmmacros構成)が指定する場所に
RPMが作成されます。
これらのパッケージを作成したら、 システムの他のRPMパッケージと同様に インストール、アップグレード、アンインストールを行うことができます。
カーネルをアップグレードした場合は、
新しいカーネルに合わせて新しいdrbd-kmパッケージを生成する必要があります。
一方、drbdパッケージの場合は、
新規バージョンのDRBDにアップグレードしたときにのみ再作成が必要です。
新規カーネルおよび新規バージョンのDRBDにアップグレードした場合は、
両方のパッケージをアップグレードする必要があります。