Locked History Actions

Diff for "firebird/Install"

Differences between revisions 7 and 8
Deletions are marked like this. Additions are marked like this.
Line 47: Line 47:
インストールする。 インストールする。superclassicも用意されているようだが、今回はsuperserverにする。
Line 115: Line 115:
/usr/share/doc/firebird-2.5.1.26351.0/README.Fedoraの注意事項を読むこと /usr/share/doc/firebird-2.5.1.26351.0/README.Fedoraの注意事項を読む。
Line 117: Line 117:
{{{
}}}
 * /usr/bin中のgbak,gsec,gfix,nbackupはシンボリックリンクになっている(これらのリンクはfirebirdパッケージに含まれるが、実体はfirebird-superserver中にある)。isql,gstatはisql-fb,gstat-fbという名前に変更してある。
 * superserverの起動はservice firebird startとする。classicサーバはchkconfig firebird onとする。ブート時にsuperserverを起動するには、chkconfig --level 345 firebird onとする。
 * その他、非互換性について

インストール

以下では、CentOSにrpmパッケージをインストールする場合のみを記述している。

サービス起動方式

特に注意が必要なのは、バージョンあるいはアーキテクチャによって起動方法が異なること。次の二つの方式がある(ようだ)。

  • linuxのサービスとしてインストールされる
    /etc/rc.d/init.d/firebirdというスクリプトが生成されるので、これを直接使うか、あるいは「service firebird start」などとして起動する。

  • xinetdのサービスとしてインストールされる
    /etc/xinetd.d/firebirdという設定ファイルが生成され、起動はxinetdから自動で行われる。

どういう場合に前者をあるいは後者を選択しているのかは不明だが、前者のタイプを使い続けていた場合に後者をインストールすると、なぜサービスが登録されないのかと悩むことになる。

また、Firebird 2.5 Quick Start Guideのような文書にさえ、この件については何も記述されていない。わずかにAppendix A: Firebird server architecturesにそれを匂わせるような記述があるのみである。

パスワード変更

Windowsの場合はsysdbaのパスワードはデフォルトでmasterkeyになっているが、linuxではインストールごとに変更される。 これはインストールディレクトリトップのSYSDBA.passwordに記述されており、これを変更するにはbin/changeDBAPassword.shを使用する。

CentOS6.2へのインストール

「October 04, 2011 FirebirdSS-2.5.1.26351-0.amd64.rpm」をCentos6.2にインストールしようとすると、

error: Failed dependencies:
        libncurses.so.5 is needed by FirebirdSS-2.5.1.26351-0.amd64
        libstdc++.so.6 is needed by FirebirdSS-2.5.1.26351-0.amd64

となる、ところがlibncurses.so.5とlibstdc++.so.6はインストール済み。 この件については以下(FirebirdCSでも同じ)。

http://tracker.firebirdsql.org/browse/CORE-3803

libncurses.so.5及びlibstdc++.so.6はインストールされているにも関わらず、それが認識されないため、インストール時に--nodepsフラグをつけてインストールする方法が提案されている(実際に行ってみたが、これではうまく動作しない)。

上では、tarボールからインストールするか、あるいはfirebirdsqlから配布されているrpmではなく、epelからの配布rpmを使えとある。

しかし、後者の方法だと、インストールされるディレクトリが「標準」ではない(標準rpmとは異なるディレクトリにインストールされてしまう)。が、この方法が最も簡単のようだ。

インストール方法

epelのレポジトリを登録する。以下を参考

インストールする。superclassicも用意されているようだが、今回はsuperserverにする。

yum install firebird firebird-superserver

インストールされるものは以下。

rpm -qa | grep -i firebird
firebird-superserver-2.5.1.26351.0-1.el6.x86_64
firebird-libfbembed-2.5.1.26351.0-1.el6.x86_64
firebird-libfbclient-2.5.1.26351.0-1.el6.x86_64
firebird-2.5.1.26351.0-1.el6.x86_64
firebird-filesystem-2.5.1.26351.0-1.el6.x86_64

このうち、firebirdパッケージの中身を見てみる。

# rpm -ql firebird
/etc/firebird
/etc/firebird/aliases.conf
/etc/firebird/fbintl.conf
/etc/firebird/fbtrace.conf
/etc/firebird/firebird.conf
/etc/logrotate.d/firebird
/usr/bin/fb_config
/usr/bin/fbsvcmgr
/usr/bin/fbtracemgr
/usr/bin/gbak
/usr/bin/gdef
/usr/bin/gfix
/usr/bin/gpre
/usr/bin/gsec
/usr/bin/gsplit
/usr/bin/gstat-fb
/usr/bin/isql-fb
/usr/bin/nbackup
/usr/bin/qli
/usr/lib64/firebird
/usr/lib64/firebird/UDF
/usr/lib64/firebird/UDF/fbudf.so
/usr/lib64/firebird/UDF/fbudf.sql
/usr/lib64/firebird/UDF/ib_udf.so
/usr/lib64/firebird/UDF/ib_udf.sql
/usr/lib64/firebird/UDF/ib_udf2.sql
/usr/lib64/firebird/intl
/usr/lib64/firebird/intl/fbintl
/usr/lib64/firebird/intl/fbintl.conf
/usr/lib64/libib_util.so
/usr/sbin/fb_lock_print
/usr/sbin/fbguard
/usr/share/doc/firebird-2.5.1.26351.0
/usr/share/doc/firebird-2.5.1.26351.0/IDPL.txt
/usr/share/doc/firebird-2.5.1.26351.0/README.Fedora
/usr/share/doc/firebird-2.5.1.26351.0/README.license.usage.txt
/var/lib/firebird
/var/lib/firebird/data
/var/lib/firebird/data/employee.fdb
/var/lib/firebird/system/de_DE.msg
/var/lib/firebird/system/firebird.msg
/var/lib/firebird/system/fr_FR.msg
/var/lib/firebird/system/help.fdb
/var/lib/firebird/system/security2.fdb
/var/log/firebird
/var/log/firebird/firebird.log
/var/run/firebird

上のようにコマンドは/usr/binにインストールされ、パスワードデータベース等は/var/lib/firebird以下にある。 /usr/share/doc/firebird-2.5.1.26351.0/README.Fedoraの注意事項を読む。

  • /usr/bin中のgbak,gsec,gfix,nbackupはシンボリックリンクになっている(これらのリンクはfirebirdパッケージに含まれるが、実体はfirebird-superserver中にある)。isql,gstatはisql-fb,gstat-fbという名前に変更してある。
  • superserverの起動はservice firebird startとする。classicサーバはchkconfig firebird onとする。ブート時にsuperserverを起動するには、chkconfig --level 345 firebird onとする。
  • その他、非互換性について