Red Hat Linux Enterprise 5 ( RHEL5 ) で bind-9.4.1 の RPM パッケージをビルドする




RHEL5 に bind-9.4.1 をインストールする。

2007 年 6 月時点では、bind-9.4.1 の RPM パッケージが見つからないので、
ここでは RPM パッケージをビルドします。

今回は、システムに bind の他のバージョンが事前にインストールされていない状態で
実施しています。

まずは、ISC BIND の source RPM (SRPM) パッケージをダウンロードする。
ソフトウェアバージョン一覧

今回入手できたのは bind-9.4.1-1.fc7.src.rpm です。

入手した SRMP パッケージを展開します。

SRMP パッケージを任意のディレクトリにおいて以下のコマンドを実行

# rpm -Uvh bind-9.4.1-1.fc7.src.rpm

次に、RPM パッケージのビルドに入ります。
今回は、特にカスタマイズせずにビルドします。

# cd /usr/src/redhat/SPECS
# rpmbuild -bb bind.spec

postgresql-devel のバージョンが合わず、依存性エラーになりました。

仕方ないので、
redhat network から postgresql-devel-8.1.9-1.el5.i386.rpm を
ダウンロードしてアップデートします。

また、postgresql-devel は postgresql と postgresql-libs に依存関係がありますので、
併せてダウンロードしておいて、アップデートあるいはインストールします。

# rpm -Fvh postgresql-libs-8.1.9-1.el5.i386.rpm
# rpm -ivh postgresql-8.1.9-1.el5.i386.rpm postgresql-devel-8.1.9-1.el5.i386.rpm

この時、次のような警告メッセージが出力されますが、
パッケージが署名されていないために出力されていますので、無視して進めます。

警告: postgresql-devel-8.1.9-1.el5.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 37017186

再度 RPM のビルドを実行

# cd /usr/src/redhat/SPECS
# rpmbuild -bb bind.spec
・・・
1時間程度経過
・・・
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd bind-9.4.1
+ rm -rf /var/tmp/bind-9.4.1-1-root-root
+ :
+ exit 0

ビルド成功

/usr/src/redhat/RPMS/i386 の中に以下のファイルが作成された。

bind-9.4.1-1.i386.rpm
bind-chroot-9.4.1-1.i386.rpm
bind-debuginfo-9.4.1-1.i386.rpm
bind-devel-9.4.1-1.i386.rpm
bind-libs-9.4.1-1.i386.rpm
bind-sdb-9.4.1-1.i386.rpm
bind-utils-9.4.1-1.i386.rpm
chaching-nameserver-9.4.1-1.i386.rpm

動作確認のために早速インストールしてみる。

# rpm -ivh bind-9.4.1-1.i386.rpm
エラー: 依存性の欠如:
      bind-libs = 31:9.4.1-1 は bind-9.4.1-1.i386 に必要とされています
      libbind9.so.30 は bind-9.4.1-1.i386 に必要とされています
      libdns.so.32 は bind-9.4.1-1.i386 に必要とされています
      libisc.so.32 は bind-9.4.1-1.i386 に必要とされています
      libisccc.so.30 は bind-9.4.1-1.i386 に必要とされています
      libisccfg.so.30 は bind-9.4.1-1.i386 に必要とされています
      liblwres.so.30 は bind-9.4.1-1.i386 に必要とされています

解決のためにまずは、bind-utils と bind-libs をアップデートする。

# rpm -Fvh bind-utils-9.4.1-1.i386.rpm bind-libs-9.4.1-1.i386.rpm

再度、bind のインストールを実行。

# rpm -ivh bind-9.4.1-1.i386.rpm

今度は問題なし。インストール完了!

                                    1 / 2