携帯用リンク
メニュージャンプ 携帯専用ページ
2007-06-03
Firebird ホスト名変えると...
Debian sarge から CentOS-5.0 への環境移行は使いたいハードウェアの事情で CentOS-4.4 にした。
移行そのものの詳細は別記事をそのうち書こうと思うが、今回はその移行の過程で Firebird 関連でちょっとはまった罠について書きます。
移行の手順は
(1)
新しいマシンに CentOS-4.4 をインストール
このとき、ホスト名は「nyahaha2」に設定。
※運用中の移行元ホスト名は「nyahaha」で
(2)
「nyahaha2」に Firebird をセットアップ。
(手順は CentOS-5.0 と全く同じ手順でいけた)
(3)
「nyahaha2」と「nyahaha」は同じネットワーク上でクライアントから個別にホスト名を指定して動作テストとかを行う。(データは「nyahaha」でバックアップしたデータをリストアした)
(4)
一通りのテストはクリア。
(5)
「nyahaha」で各種最新のデータベースバックアップデータを作成。
(6)
「nyahaha」のホスト名を「nyahaha_old」に変更し、IPアドレスを空きのものに変更。
(7)
「nyahaha2」のホスト名とIPアドレスを(6)で変更する前の「nyahaha」と同じものに変更。
※これで「nyahaha」は新しくセットアップした CentOS-4.4 の環境になった。
(8)
旧「nyahaha」で作ったデータベースバックアップを新「nyahaha」にリストアする。
...と、ここでリストアできない! create database も gsec コマンドもエラー!!
??あれれ!?
?詳しいエラーメッセージ等は後で追記予定?
と、はまってしまいましたが以下の手順で一応解決。
結論から書くと、Firebirdディレクトリにある以下のファイルにホスト名が使われています。
で、これらは Firebird を停止&起動しても変更される訳でもなく新しいホスト名のものが追加される訳でもないようです。
今回はこれらのファイル名を以下のように変更しました。
※変更するときは Firebird は停止させてます。
この方法が正しい手順かどうかは全く判りません。というかホスト名を変えるときの正式な手順はどうやるんだろう??
あと、複数のホスト名を持たせるサーバとかの場合とか...
とにかく、リストアも出来てユーザの追加も出来てクライアントからのアクセスも問題無かったので一応解決としておこう。
他にも書いておきたいネタが多数たまっている。
・Thinkpad昇天から中古購入とHDD内容移行
・CentOS-4.4 で SiI3132 を使う
・EUCで動かしてた samba データを utf8 環境に移行させる
・MySQL用にSQL文をFirebirdで動かす場合の変更点
・AX300LのHDD&DVD-R交換(UJ-846-B)
移行そのものの詳細は別記事をそのうち書こうと思うが、今回はその移行の過程で Firebird 関連でちょっとはまった罠について書きます。
移行の手順は
(1)
新しいマシンに CentOS-4.4 をインストール
このとき、ホスト名は「nyahaha2」に設定。
※運用中の移行元ホスト名は「nyahaha」で
(2)
「nyahaha2」に Firebird をセットアップ。
(手順は CentOS-5.0 と全く同じ手順でいけた)
(3)
「nyahaha2」と「nyahaha」は同じネットワーク上でクライアントから個別にホスト名を指定して動作テストとかを行う。(データは「nyahaha」でバックアップしたデータをリストアした)
(4)
一通りのテストはクリア。
(5)
「nyahaha」で各種最新のデータベースバックアップデータを作成。
(6)
「nyahaha」のホスト名を「nyahaha_old」に変更し、IPアドレスを空きのものに変更。
(7)
「nyahaha2」のホスト名とIPアドレスを(6)で変更する前の「nyahaha」と同じものに変更。
※これで「nyahaha」は新しくセットアップした CentOS-4.4 の環境になった。
(8)
旧「nyahaha」で作ったデータベースバックアップを新「nyahaha」にリストアする。
...と、ここでリストアできない! create database も gsec コマンドもエラー!!
??あれれ!?
?詳しいエラーメッセージ等は後で追記予定?
と、はまってしまいましたが以下の手順で一応解決。
結論から書くと、Firebirdディレクトリにある以下のファイルにホスト名が使われています。
isc_event1.nyahaha2
isc_guard1.nyahaha2
isc_init1.nyahaha2
isc_lock1.nyahaha2
で、これらは Firebird を停止&起動しても変更される訳でもなく新しいホスト名のものが追加される訳でもないようです。
今回はこれらのファイル名を以下のように変更しました。
mv isc_event1.nyahaha2 isc_event1.nyahaha
mv isc_guard1.nyahaha2 isc_guard1.nyahaha
mv isc_init1.nyahaha2 isc_init1.nyahaha
mv isc_lock1.nyahaha2 isc_lock1.nyahaha
※変更するときは Firebird は停止させてます。
この方法が正しい手順かどうかは全く判りません。というかホスト名を変えるときの正式な手順はどうやるんだろう??
あと、複数のホスト名を持たせるサーバとかの場合とか...
とにかく、リストアも出来てユーザの追加も出来てクライアントからのアクセスも問題無かったので一応解決としておこう。
他にも書いておきたいネタが多数たまっている。
・Thinkpad昇天から中古購入とHDD内容移行
・CentOS-4.4 で SiI3132 を使う
・EUCで動かしてた samba データを utf8 環境に移行させる
・MySQL用にSQL文をFirebirdで動かす場合の変更点
・AX300LのHDD&DVD-R交換(UJ-846-B)
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 さん。
今回の「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 さん。
2007-04-20
yumのリポジトリをDVDロム等にして使う方法(CentOS-5.0)
AppleTalkを使えるようにしなければならない事情があるので、Netatalkを入れようとしたがまたまた足りないものがあるらしく躓いてしまった。
そして、足りないものを yum で入れようとしたがうまくいかなかった。
昨日 Firebird 入れるときでも失敗したことを併せて考えるとどうやらこのネットワークの環境では yum で外に取りに行くことはできないようだ。
ということで yum のてリポジトリをDVDロムとする方法をやってみた。
/etc/yum.repos.d/CentOS-Media.repo
を見てみるとコメントにDVDからインストールする手順らしき記述がある。
以下はその内容
だそうです。
なんか「gpgkey」の「beta」が怪しい。(実際 GPG関連でうまくいかなかった)
※あとで調べたらここは
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
と、修正する必要がありました。
DVDのマウントポイントをこれに合わせて
として...。
実際のコマンドは
・外も見にいってよい場合は
yum --enablerepo=c5-media install groff-perl
・DVDのみの場合は
yum --disablerepo=\* --enablerepo=c5-media install groff-perl
という感じ。(「c4-media」は「c5-media」にしないとだめですよね)
今回は以下で...
でうまくいった。
そして、足りないものを 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
でうまくいった。
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
を適当な場所にダウンロードして
はい、失敗。。。「libstdc++.so.5」が必要ということなので以前の手順に記述した FC3 の場合の対応をそのまま試してみた。
あれれ?失敗?
Webで検索して調べてみると「libstdc++.so.5」を CentOS に入れるには
# yum install compat-libstdc++-33
となるらしい。が。。。
なんかリポジトリ上には見つからないらしい。
で、DVDを見てみると、しっかりファイルは存在していたので
rpmコマンドで以下を実行
これで「libstdc++.so.5」がめでたく入りました。
(追記 2007/04/20 begin)
※ここは yum をDVDをリポジトリでやったほうが良さそうです。
詳しくはこちらに記述。
(追記 2007/04/20 end)
再度 Firebird のセットアップ挑戦
今度は成功
rpmでセットアップした場合は sysdba のパスワードは
/opt/firebird/SYSDBA.password
に記述されている。
このパスワードを変更するには、
/opt/firebird/bin/changeDBAPassword.sh
を使うのが良いらしい。
他のアカウントは通常通り gsec を使うということでよいのかな。
あと、
/etc/profile に以下を追加してパスを通しておくようにする。
export PATH=$PATH:/opt/firebird/bin
ついでに、コマンドラインからも実行しておく。
とりあえずデータベースを新規作成してみる。
ここでは root から通常ユーザ(ここでは「nahaha」)にもどして、
自分のホームにディレクトリ「fb」を作ってそこをカレントにして
またまた、あれれ??
で、いろいろ調べてみると firebird は firebird ユーザで実行されているらしいから firebird が所有者のディレクトリならばいけそうな気がする。
ということで、
/home/nahaha/fb
の所有者とグループを「firebird」に変更してみる。
rootになって
もう一度 nahaha ユーザに戻って isql して CREATE DATABASE するも、同じエラー。
今度は /home に 「fb」ディレクトリを作って所有者とグループを「firebird」にしてみる。
つまり
/home/fb
の所有者とグループが「firebird」にして再度挑戦!
今度は成功。
「firebird」ユーザから見て他人の領域内にあるディレクトリにはたとえ所有者が「firebird」であってもそこにはデータベースを作成できないようだ。
※ちなみにこの CentOS-5.0 環境は Virtual-PC 2004 上にインストールしたもので確認しています。
(GUI無しの Server インストールで動作しています)
詳細な動作検証は行っていませんがとりあえず普通に動いてそうです。
これを機会に今運用している 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 インストールで動作しています)
詳細な動作検証は行っていませんがとりあえず普通に動いてそうです。
2007-03-29
テーマが表示されないバグの修正
3月27日にアンケートオーナー新規登録時の流れを変更しましたが、これに併せて細かい改善をしたはずが大きなバグを誘発させてしまいました。
(症状)
「オーナーホーム」のページで表示されなければならないテーマ一覧情報が表示されない。
過去に作成したテーマが一覧表示されない。
新規に追加したテーマが表示されない。
この症状は3月29日 午前2時35分 に解消しました。
ご利用してくださっている方々には大変ご迷惑をおかけしまして申し訳ございませんでした。
(症状)
「オーナーホーム」のページで表示されなければならないテーマ一覧情報が表示されない。
過去に作成したテーマが一覧表示されない。
新規に追加したテーマが表示されない。
この症状は3月29日 午前2時35分 に解消しました。
ご利用してくださっている方々には大変ご迷惑をおかけしまして申し訳ございませんでした。