2004年04月29日
|
前ページの通り、Windows端末にDiCE Windows版をセットアップして、試験的に独自ドメインでの稼働確認をしてきた結果、ちゃんとIPアドレス変更時にminiDNSを書き換えてくれることを確認出来ました。しかし私が行いたいのはFreeBSD上でminiDNSを書き換える様にしたいのです。miniDNSではLinux用の書き換えツールを配布しているのですが、残念ながらFreeBSD用は無いみたいです。色々と探してみたのですが、見つかりません。FreeBSDユーザーでminiDNSを使っている人は、どうしているのかなぁ... という事で考えていても進まないので、今度はDiCE Linux版を試してみます。いきなり稼働しているWebサーバに入れるのは慎重さに欠けるので、VMWareを使ったFreeBSD4.9Rの試験環境でDiCE Linux版を試してみます。 今まで重要だとは思っていなかったのですが、FreeBSDにはLinuxバイナリ互換機能が備わっています。なので今回はこの機能を使ってみようと思います(っていうか他の方法が思いつかない)。FreeBSDインストール時にLinuxバイナリ互換機能をセットアップしていたのであればそのまま作業に入れると思うのですが、私はセットアップをスキップしていたので、改めてセットアップし直さなくてはなりませんでした。 Portsから、linux_base-6をインストールしてみます。/usr/ports/emulators/にlinux_base-6がありましたので、portinstallでサクッとインストールしてみました。/stand/sysinsatallからでもインストール出来ると思いますので、ご自分の環境に合った方法でインストールして下さい。その後で、恐らく再起動しないと有効にならないと思いますが、どうしても再起動させたくない場合は、下記のコマンドをroot権限で試して見て下さい。(Linuxバイナリ互換機能をカーネルに読み込みます) # kldload linux Linuxバイナリ互換機能がカーネルに組み込まれたかどうかを確認するには、下記の様にコマンドを入れます。 # kldstat
linux.koという名前のモジュールが表示されたら、カーネルへの組み込みが成功しているという事です。上手く行かない時は素直に再起動するしか無いかも知れません。さてこれで準備OK。(次からはrc.confに記述されているので、FreeBSDサーバを再起動したら自動的にLinuxバイナリ互換機能がカーネルに組み込まれます。) ちなみにカーネルから解放する場合は、下記のようにコマンドを投入すると良いようです。その後でkldstatして確認してみて下さい。 # kldunload linux ちょっとした予備知識でした。また少しFreeBSDが身近に感じられるようになってきたぞ(笑 ←大げさすぎる |
||||||||||||||||||||||||||||||||||||||||||||||
| まずはDiceのLinux版をゲットして解凍する | ||||||||||||||||||||||||||||||||||||||||||||||
|
とりあえずDiCE Linux版をゲットして来ましょう。Windows端末でも良いです。後でFTP転送すれば良いことです。FreeBSDサーバを直接操作してwget等で取りに行ける方はそうしてもかまわないと思います。 私はWindows端末でゲットして来たので、FTPでFreeBSDサーバに転送します。転送が終わったらsuになって、root権限を使える様にして下さい。 私が手に入れたDiCE Linux版は、diced0199.tar.gzというバージョンの付いたファイル。これを実行ファイルのディレクトリに移動させます。どこでも良かったりするのでしょうが、/usr/local/binが適当かなと私は思います。 # mv diced0199.tar.gz /usr/local/bin これで、DiCEというディレクトリが作られて、DiCEの構成ファイルが解凍されます。このディレクトリ内にDiCEの実行ファイルである、dicedとプラグインの類のファイルが入っています。元のファイルはもう要らないので、削除してしまっても良いでしょう。 # rm diced0199.tar.gz |
||||||||||||||||||||||||||||||||||||||||||||||
| dicedをLinuxバイナリだと明示する | ||||||||||||||||||||||||||||||||||||||||||||||
FreeBSDにLinuxバイナリ互換機能が備わっているからと言っても、単純に同じ操作ではダメな様です。dicedがLinuxバイナリだと言うことを、FreeBSDに教えてやらなくてはなりません。brandelfコマンドを使います。 # cd DiCE 上記の様な手順でdicedがLinuxバイナリファイルだという事を明示的に設定します。 |
||||||||||||||||||||||||||||||||||||||||||||||
|
DiCEを起動する |
||||||||||||||||||||||||||||||||||||||||||||||
|
いきなりですが、ここでやっかいなことを思い出しました。VMWareを使って試験環境のFreeBSD4.9Rの環境で気づいていたのですが、すっかり忘れていました。 DiCEは日本語対応なので、TelnetやSSH等のリモート操作では日本語が文字化けします。多分RedHatやVine等の日本語環境が整った環境下で使う事を前提としているようですね。私のFreeBSDサーバは、全然日本語対策していないので参りました。 ここはとりあえずkon(Kanji On Console)を使うしかないですね。portinstallを使って、Portsからkon2-16dotをインストールしました。普段使わないから要らないんだけどなぁ。konをインストールしていない人は、kon2等をPortsやPackageからインストールして下さい。 普段はキーボードもモニターも接続していないのですが、今回ばかりは仕方ないのでディスプレイとキーボードを本体に取り付けて作業する事にします。直接FreeBSDサーバを操作している人は全然問題無いです。konを起動して日本語表示に対応させて下さい。 # kon
kon(日本語表示)の準備が出来たら次のステップに進みましょう。 |
||||||||||||||||||||||||||||||||||||||||||||||
| DiCEを起動して使えるコマンドを把握する | ||||||||||||||||||||||||||||||||||||||||||||||
kon(日本語表示)の準備が出来たらdicedを起動します。下記の様になればOKです。 # /usr/local/bin/DiCE/diced
ふぅ、コマンド拾い上げるのに苦労した。SSHが使えないとこうも辛いものか... |
上記の情報とDiCE
Windows版での挙動を把握していれば、詳しい解説は不要だと思われますので、イベントの登録手順等は割愛します。
なぜかというと、DiCE
Linux版の解説は色々なサイトでなされているので、今更私が作るまでもないからです。それともう一つの決定的な理由は、FreeBSDに備わっているLinuxバイナリ互換機能(linux_base-6)を使って、DiCE
Linux版を動かしてみましたが、私のセッティングが悪いのか、残念ながら上手く動作しなかったからです。
DiCE Linux版は、 見た目バックグラウンドでプロセスとしてdicedが常駐してくれます。ルーターに割り当てられたグローバルIPアドレスもしっかりと取得してくれたのですが、肝心のIPアドレス変更時に、DDNSの書き換えアクションを起こしてくれませんでした。DiCE Linux版はオープンソースではないので(オープンソースだったとしても私の技量では解読不可)、残念ながらこれ以上は調べられないと断念することにしました。
しかし、もしかしたらLinuxバイナリ互換機能(linux_base-8)環境なら動作するかも知れません。これは未検証なので、DiCE Linux版がFreeBSDで動作しないとは言い切ることが出来ません。FreeBSDのLinuxバイナリ互換機能を使って、DiCE Linux版のセットアップに成功された方がいらっしゃったら、そのノウハウを教えて頂ければ幸いです。
と、いう訳で私はFreeBSDのLinuxバイナリ互換機能でDiCE Linux版を動かすことを断念しました。
仕方ないので、UNIX対応のminiUpdateを使ってみることにします。(NEXTへ続く)
専門書籍はこちから購入することが出来ます。良かったら探してみて下さい。