部屋を掃除したら漫画が沢山出てきたので書く日記

漫画とか合唱とかUNIXとかLinuxとかについて書く日記です。

SSL/TLSを使ったSMTP/POP負荷試験について その2(perditionのインストール)

その1の続きです。

SSL/TLSを使用したPOP負荷試験を実施するために、POP/IMAPプロキシサーバであるperditionを使うことにしました。以下導入手順です。
なお、私はRPMパッケージを使用してRedhat Enterprise Linux ES3 update9のサーバにインストールしたのでそれに準じた手順となっております。本当はSolaris 10サーバで使用したかったのですが、configureおよびmakeの途中でエラーが解消できませんでした。
一方、RPMパッケージ作成は、こっちも手こずったものの何とかインストールするところまでたどり着きました。
Solarisは好きですがこういったソフトウェアインストールの局面では易しくないOSだなあと思いました*1。いやでも、SPARC T1+Solaris10は良いですよ。24時間365日ダウンしないサーバ作るなら断然Solarisです。IAサーバなんて目じゃありません。
しかしインターフェースは、バザールで揉まれて来たLinuxのほうが明らかに優れていると思います。これは改善求むよSunさん、という感じです。

以上余談でした。それでは手順です。

1.perditionの入手

まずは公式サイトから最新バージョンをダウンロードします。

http://www.vergenet.net/linux/perdition/download/latest/
にある、

perdition-1.17.1.tar.gz
vanessa_adt-0.0.7.tar.gz
vanessa_logger-0.0.6.tar.gz
vanessa_socket-0.0.7.tar.gz

を私はダウンロードしました。vanessaというのはperditionを動作させるために必要な基本ライブラリとの事。

2.perditionのRPMパッケージの作成
2-1 環境設定
まず試験サーバにrpmbuild用ユーザ、bata64を作成します。
useraddで適当に。

次に、bata64ユーザにてRPMパッケージ作成用作業ディレクトリを作成します。

su - bata64
mkdir -p $HOME/rpm/{BUILD,SRPMS,SPECS,SOURCES,RPMS}

これでbata64のホームディレクトリ以下に、

$HOME/rpm
├ /BUILD
├ /SRPMS
├ /SPECS
├ /SOURCES
└ /RPMS

rpmというディレクトリが作成されます。ちなみにmkdirのこういう指定の仕方ははじめて見ました。勉強になるなー。

次に、rpmbuildの環境設定ファイルである.rpmmacrosをホームディレクトリに作成します。

vi $HOME/.rpmmacros
以下のように編集
%_topdir /home/bata64/rpm
%_specdir       %{_topdir}/SPECS
%_builddir      %{_topdir}/BUILD
%_sourcedir     %{_topdir}/SOURCES
%_srcrpmdir     %{_topdir}/SRPMS
%_rpmdir        %{_topdir}/RPMS

これでbata64ユーザでRPMパッケージを作成する際は上記ディレクトリ以下に生成されるようになります。

2-2 vanessaのインストール
手順は大体、以下の通りです。

  • rpmbuildでRPMパッケージ作成
  • rpm -ivhでインストール

これをファイルの数だけ繰り返します。今回、順番としては

  1. vanessa_logger-0.0.6.tar.gz
  2. vanessa_adt-0.0.7.tar.gz
  3. vanessa_socket-0.0.7.tar.gz

という順番でやりました。以下実際の手順です。

rpmbuild -ta vanessa_logger-0.0.6.tar.gz

su -
rpm -ivh /home/bata64/rpm/RPMS/i386/vanessa_logger*
exit

rpmbuild -ta vanessa_adt-0.0.7.tar.gz

su -
rpm -ivh /home/bata64/rpm/RPMS/i386/vanessa_adt*
exit

rpmbuild -ta vanessa_socket-0.0.7.tar.gz

su -
rpm -ivh /home/bata64/rpm/RPMS/i386/vanessa_socket*
exit

vanessa_logger-sample-0.0.6-1.i386.rpmとかvanessa_logger-debuginfo-0.0.6-1.i386.rpmはいらないのかもしれないが、とりあえず全部入れました。初心者だから・・・。インストールしたら、

rpm -qa|grep "任意文字列"

でインストールの確認を。

2-3 perditionのインストール

で、いよいよperditionのインストールです。手順は基本的にvanessaと同じはず。しかし、

rpmbuild -ta perdition-1.17.1.tar.gz

を実行したら、

RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/lib/libperditiondb_daemon_base.a
/usr/lib/libperditiondb_daemon_base.la
/usr/lib/libperditiondb_daemon_base.so.0.0.0

というエラーが発生。Solarisでのコンパイルは散々エラーが出ていてなれましたが、Redhatで出るとびびります。
調べた結果、perdition.specという.specファイルを編集してやればよさそうなので、
/home/bata64/rpm/SPECS以下にあるperdition.specを編集します。

vi /home/bata64/rpm/SPECS/perdition.spec
以下を適当な行に追記(一応libperditiondb〜という記述行にそろえた)
%{_libdir}/libperditiondb_daemon_base.a
%{_libdir}/libperditiondb_daemon_base.la
%{_libdir}/libperditiondb_daemon_base.so.0.0.0

編集後、以下の手順を実行。

cp perdition-1.17.1.tar.gz /home/bata64/rpm/SOURCES/
rpmbuild -bb /home/bata64/rpm/SPECS/perdition.spec

これが最善なのかは不明(cpしてるのとか無駄っぽい)。しかしそこは「おれには、これしかないんだ!だから、これがいちばんいいんだ!」(©松本零士)精神で乗り切ります。

これでRPMパッケージになったので

su -
rpm -ivh /home/bata64/rpm/RPMS/i386/per*

でインストール完了。やれやれ。

長くなってしまったので、次回でperditionの設定について書きます。
ではー。

参考にしたサイト
http://t-base.ne.jp/~tj/d/?date=20060917
http://wiki.poyo.jp/read/Writing/fc-expert/making_rpm/030.howto_rpmbuild
http://open-mitch.dyndns.org/k12ltsp/application/rpmmacros.html
http://network.yasu21.net/srpm.html
そのほかgoogle経由で出会った諸々のWebサイトに感謝します。「群集の英知」の時代に生まれて幸せです。

*1:自分で何とかするスキル手に入れてからやれボケ、という声が聞こえてきそうですけども