CentOSからUbuntu22.04.3LTSに移行した。今回はChatGPTがあったのでそこまで大変ではなかったけど、手順も含めて備忘録として。
インストールまでの手順
- Ubuntuのホームページからダウンロードする。
- Rufusというプログラム(無料を)ダウンロード
- Rufusを使って、Ubuntuの起動イメージをUSBメモリに書き込む
- インストールするPCのBios設定で起動する順番をUSBを1番に変更
- USBメモリを挿したまま起動
- 手順に沿ってインストール
インストール後の設定
- ネットワークの設定
- 共有フォルダの設定
Firebirdのインストール
Firebird(以下Fb)
#firebirdというダウンロード用のディレクトリを作る
sudo mkdir /usr/local/firebird
sudo chown $USER /usr/local/firebird
#libtommath1をインストール(これも必要みたい)
sudo apt -y install libtommath-dev libtommath1
#Firebirdをインストール
sudo chown -R $USER /usr/local/firebird
cd /usr/local/firebird
tar -xvzof Firebird-4.0.2.2816-0.amd64.tar.gz
cd Firebird-4.0.2.2816-0.amd64
sudo bash install.sh
#途中sysdbaのパスワード設定があるので入力。
#/opt/firebird/binにPathを通す
export PATH=/opt/firebird/bin:${PATH}
echo 'export PATH=/opt/firebird/bin:${PATH}' >> ${HOME}/.bashrc
#isqlを起動
isql
#isqlを修了
SQL>exit;
#SQLの場合終わりは必ず;セミコロンが必要
Sambaのインストールと設定
$sudo apt update
$sudo apt upgrade
$sudo apt install -y samba
samba.confをいじるので、一応バックアップ(コピーして別の名前にする)
$sudo cp -a /etc/samba/smb.conf /etc/samba/smb.conf.default
smb.confの編集
sudo vim /etc/smb.conf
今回はvimを使って編集した。smb.confの一番最後に下記コードを追加
[db]
path = /data/db
writable = yes
guest ok = yes
guest only = yes
force create mode = 777
force directory mode = 777
sambaユーザーを登録
sudo smbpasswd -a ユーザー名
編集が終わったら再起動(reboot)
続いてWindowsの開発用のデータベースコンポーネントのTCPアドレスやデータベースの場所などを修正し、テスト接続を行う。
スタック!
行き当たりばったり知識なしが必ず起こすスタックがここで発生w
Delphiのデータベースコンポーネントに必要事項を入れてテスト接続するも、「connection rejected by remote interface」というエラーメッセージが出てくる。ここからが大変だった。とりあえず、やったことは、
- Fb用のポート3050を解放してあげる
- ファイアウォールの確認
- firebird.confの修正
3050ポートもTCPで使いたいのにTCP6が利用できるようになってて、強制的にIPv6を使えない設定にしてみたり、ファイアウォールも一時的に無効にしてみたり、Firebird.confも色々といじってみたものの、全然つながらなかった。ここで数時間経過。
試しに以前、mousePCにUbuntuとFirebirdを入れてうまく行ってたのを思い出して急遽立ちあげることに。


設定などを確認してたところ、firebird.confの中身が違くて「???」ってなったら、どうやらFirebirdのバージョンが違うから?って思い、Fb4.0をアンインストールを敢行。が、しかし、ネットにはFb3.0か4.0しかなくて悶絶。mousePCに入ってたのはFb2.5。そしてCentOSにも入ってたのもFb2.5。
幸いなことにmousePCにダウンロードしてたFirebird2.5.9のファイルがあったので、それを共有フォルダに入れて何とかサルベージ成功した。そして、そのFb2.5を無事にインストール。
そしたら、あっさりつながってしまった。

crontabの設定
データベースを毎夜中にバックアップを取るべくCrontabにバックアップのコマンドを登録。これは、Windowsで言うところのスケジューラー。スケジュールを立てることで、忘れがちなバックアップを行ってくれる。テスト段階では問題なくバックアップが取れてた。
今はスクリプトを使って、バックアップデータをWindowsのフォルダに飛ばせるよう画策している最中。
今回は、UbuntuのインストールからSambaの設定にFbのインストールからデータのバックアップまでの備忘録