2012年12月16日日曜日

DRBD 8.4.x RPM作成

2014/08/04追記: 「DRBD 8.4.x コミュニティバイナリでセットアップ」も参照ください



今回の環境は、CentOSの6.3です。
CentOS5.xではextrasに存在していたはずのdrbd8xパッケージが(探し方が悪いのか)見つからないので、自分で作る事にしました。

以下、その手順(ドキュメントはここ)。


事前準備


今回、RPMを作成するにあたり、以下のパッケージが必要だったので、事前にインストールした。

・flex
・kernel-devel
・libxslt



SPECファイルの作成


RPMを作成するにあたり、極力必要のないパッケージは作りたくないし、インストールもしたくないので先にSPECファイルを作成する。
※自分には、drbd-xenパッケージが必要ない


[user01@node01 ~]$ wget http://oss.linbit.com/drbd/8.4/drbd-8.4.2.tar.gz
[user01@node01 ~]$ tar zxf drbd-8.4.2.tar.gz
[user01@node01 ~]$ cd drbd-8.4.2
[user01@node01 drbd-8.4.2]$ ./configure --enable-spec --with-km

(snip)

config.status: creating drbd.spec
config.status: creating drbd-km.spec
config.status: creating drbd-kernel.spec
[user01@node01 drbd-8.4.2]$


これで、3つのspecファイルが生成される。



カーネルモジュール以外のRPMの作成



[user01@node01 drbd-8.4.2]$ cd ..
[user01@node01 ~]$ cp drbd-8.4.2.tar.gz rpmbuild/SOURCES/
[user01@node01 ~]$ rpmbuild --define="dist .el6" --without xen \
> -bb drbd-8.4.2/drbd.spec

(snip)

Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-8.4.2-2.el6.x86_64.rpm
Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-utils-8.4.2-2.el6.x86_64.rpm
Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-udev-8.4.2-2.el6.x86_64.rpm
Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-pacemaker-8.4.2-2.el6.x86_64.rpm
Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-heartbeat-8.4.2-2.el6.x86_64.rpm
Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-bash-completion-8.4.2-2.el6.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.mLoAdQ
+ umask 022
+ cd /home/toshiaki/rpmbuild/BUILD
+ cd drbd-8.4.2
+ rm -rf /home/toshiaki/rpmbuild/BUILDROOT/drbd-8.4.2-2.el6.x86_64
+ exit 0
[user01@node01 ~]$




カーネルモジュールを含むRPMの作成



[user01@node01 ~]$ rpmbuild --define="dist .el6" -bb drbd-8.4.2/drbd-km.spec

(snip)

Wrote: /home/toshiaki/rpmbuild/RPMS/x86_64/drbd-km-2.6.32_279.14.1.el6.x86_64-8.4.2-2.el6.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.hGEqVw
+ umask 022
+ cd /home/toshiaki/rpmbuild/BUILD
+ cd drbd-8.4.2
+ rm -rf /home/toshiaki/rpmbuild/BUILDROOT/drbd-km-8.4.2-2.el6.x86_64
+ exit 0
[user01@node01 ~]$




以上で、今後の作業に必要なRPMが作成できた。


[user01@node01 ~]$ ls -l rpmbuild/RPMS/x86_64/
total 2368
-rw-rw-r-- 1 user01 user01   25670 Dec 15 17:47 drbd-8.4.2-2.el6.x86_64.rpm
-rw-rw-r-- 1 user01 user01    5917 Dec 15 17:47 drbd-bash-completion-8.4.2-2.el6.x86_64.rpm
-rw-rw-r-- 1 user01 user01    7822 Dec 15 17:47 drbd-heartbeat-8.4.2-2.el6.x86_64.rpm
-rw-rw-r-- 1 user01 user01 1973374 Dec 15 17:49 drbd-km-2.6.32_279.14.1.el6.x86_64-8.4.2-2.el6.x86_64.rpm
-rw-rw-r-- 1 user01 user01   22448 Dec 15 17:47 drbd-pacemaker-8.4.2-2.el6.x86_64.rpm
-rw-rw-r-- 1 user01 user01    4626 Dec 15 17:47 drbd-udev-8.4.2-2.el6.x86_64.rpm
-rw-rw-r-- 1 user01 user01  371090 Dec 15 17:47 drbd-utils-8.4.2-2.el6.x86_64.rpm
[user01@node01 ~]$

0 件のコメント:

コメントを投稿