月別のアーカイブリスト

2007-04:アーカイブ

2007-04-21

Firebird の最新情報は Firebird News で!

なぜかFirebirdのセットアップ手順的な記事を書くと「Firebird News」というかなりメジャーっぽいサイトで紹介されてしまいます。

今回の「CentOS-5.0 に Firebird 2.0.1 をセットアップしてみた手順」は
Setting up Firebird 2.0.1 in CentOS-5.0

昨年10月のエントリ「Firebirdかなりいい加減なアップグレード手順(1)」は
Firebird random upgrade procedure between release canditates
という感じ。
2chの Firebird Wiki を「They have an link to a good firebird japanese wiki site」なんてコメントくれてますね。

しかもご丁寧にGoogle翻訳へのリンク付きです。

とにかく紹介してくれてありがとう Firebird News さん。
category11. RDB Firebird  time2007-04-21 11:10

2007-04-20

yumのリポジトリをDVDロム等にして使う方法(CentOS-5.0)

AppleTalkを使えるようにしなければならない事情があるので、Netatalkを入れようとしたがまたまた足りないものがあるらしく躓いてしまった。
そして、足りないものを yum で入れようとしたがうまくいかなかった。

# yum install groff-perl
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for groff-perl to pack into transaction set.
groff-perl-1.18.1.1-11.1. 100% |=========================| 13 kB 00:00
http://rsync.atworks.co.jp/centos/5.0/os/i386/CentOS/groff-perl-1.18.1.1-11.1.i386.rpm: [Errno -1] Header is not complete.
Trying other mirror.
 ...以下、全部失敗するので省略。

昨日 Firebird 入れるときでも失敗したことを併せて考えるとどうやらこのネットワークの環境では yum で外に取りに行くことはできないようだ。

ということで yum のてリポジトリをDVDロムとする方法をやってみた。
/etc/yum.repos.d/CentOS-Media.repo
を見てみるとコメントにDVDからインストールする手順らしき記述がある。

以下はその内容


# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c4-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c4-media [command]

[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta

だそうです。
なんか「gpgkey」の「beta」が怪しい。(実際 GPG関連でうまくいかなかった)
※あとで調べたらここは
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
と、修正する必要がありました。

DVDのマウントポイントをこれに合わせて
# mount -t iso9660 /dev/cdrom /media/cdrom

として...。

実際のコマンドは
・外も見にいってよい場合は
yum --enablerepo=c5-media install groff-perl
・DVDのみの場合は
yum --disablerepo=\* --enablerepo=c5-media install groff-perl
という感じ。(「c4-media」は「c5-media」にしないとだめですよね)

今回は以下で...
# yum --disablerepo=\* --enablerepo=c5-media install groff-perl

でうまくいった。
category90. 未整理  time2007-04-20 23:16

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