次の記事 | 前の記事

2007-04-19

CentOS-5.0 に Firebird 2.0.1 をセットアップしてみた手順

4月12日に CentOSの5.0がリリースされました。
これを機会に今運用している Sarge と FC3 のサーバをこの CentOS-5.0 に切り替えてみようと企んでいる。
ついでに Firebird も 2.0.1 で動かしてみようと試してみた手順を残しておこう。

まずは、
FirebirdSS-2.0.1.12855-0.nptl.i686.rpm
を適当な場所にダウンロードして

# rpm -ivh FirebirdSS-2.0.1.12855-0.nptl.i686.rpm
エラー: 依存性の欠如:
libstdc++.so.5 は FirebirdSS-2.0.1.12855-0.i686 に必要とされています

はい、失敗。。。「libstdc++.so.5」が必要ということなので以前の手順に記述した FC3 の場合の対応をそのまま試してみた。

# yum install compat-libstdc++
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
base 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 951 B 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
Parsing package install arguments
Nothing to do

あれれ?失敗?
Webで検索して調べてみると「libstdc++.so.5」を CentOS に入れるには

# yum install compat-libstdc++-33

となるらしい。が。。。
なんかリポジトリ上には見つからないらしい。
で、DVDを見てみると、しっかりファイルは存在していたので
rpmコマンドで以下を実行

# rpm -ivh /media/cdrom/CentOS/compat-libstdc++-33-3.2.3-61.i386.rpm

これで「libstdc++.so.5」がめでたく入りました。

(追記 2007/04/20 begin)
※ここは yum をDVDをリポジトリでやったほうが良さそうです。
# yum --disablerepo=\* --enablerepo=c5-media install compat-libstdc++-33

詳しくはこちらに記述。
(追記 2007/04/20 end)

再度 Firebird のセットアップ挑戦
# rpm -ivh FirebirdSS-2.0.1.12855-0.nptl.i686.rpm

今度は成功

rpmでセットアップした場合は sysdba のパスワードは
/opt/firebird/SYSDBA.password
に記述されている。
このパスワードを変更するには、
/opt/firebird/bin/changeDBAPassword.sh
を使うのが良いらしい。
他のアカウントは通常通り gsec を使うということでよいのかな。

あと、
/etc/profile に以下を追加してパスを通しておくようにする。

export PATH=$PATH:/opt/firebird/bin

ついでに、コマンドラインからも実行しておく。

とりあえずデータベースを新規作成してみる。
ここでは root から通常ユーザ(ここでは「nahaha」)にもどして、
自分のホームにディレクトリ「fb」を作ってそこをカレントにして
$ isql -user sysdba -password xxxxxx
SQL> CREATE DATABASE 'nyahaha_db.fdb' page_size 8192 DEFAULT CHARACTER SET SJIS_0208 ;
Statement failed, SQLCODE = -902
I/O error for file "/home/nahaha/fb/nyahaha_db.fdb"
-Error while trying to create file
-Permission denied

またまた、あれれ??
で、いろいろ調べてみると firebird は firebird ユーザで実行されているらしいから firebird が所有者のディレクトリならばいけそうな気がする。
ということで、
/home/nahaha/fb
の所有者とグループを「firebird」に変更してみる。
rootになって
# chown firebird /home/nahaha/fb
# chgrp firebird /home/nahaha/fb

もう一度 nahaha ユーザに戻って isql して CREATE DATABASE するも、同じエラー。

今度は /home に 「fb」ディレクトリを作って所有者とグループを「firebird」にしてみる。
つまり
/home/fb
の所有者とグループが「firebird」にして再度挑戦!

$ isql -user sysdba -password xxxxxx
SQL> CREATE DATABASE '/home/fb/nyahaha_db.fdb' page_size 8192 DEFAULT CHARACTER SET SJIS_0208 ;

今度は成功。
「firebird」ユーザから見て他人の領域内にあるディレクトリにはたとえ所有者が「firebird」であってもそこにはデータベースを作成できないようだ。

※ちなみにこの CentOS-5.0 環境は Virtual-PC 2004 上にインストールしたもので確認しています。
(GUI無しの Server インストールで動作しています)

詳細な動作検証は行っていませんがとりあえず普通に動いてそうです。
category11. RDB Firebird  time2007-04-19 02:55  authorkagekino 

コメント

とらお wrote:

CentOS4.5でインストールできなかったので参考にして見ます。
ありがとうございました。
2007-07-10 time12:07

kagekino wrote:

>とらおさん
実はこのあと別の要因(ドライバの関係)で5.0をあきらめて4.4にインストールしました。そのときはこの手順とほぼ同じで特に問題はありませんでしたよ。4.5ではどうでしょうね。
2007-07-11 time03:05

コメント追加

このアイテムは閉鎖されました。このアイテムへのコメントの追加、投票はできません。

トラバ

トラバ
トラバピングURL
http://weblog.hip-labo.com/action.php?action=plugin&name=TrackBack&tb_id=98
手動によるトラバは こちらからどうぞ。