Storable の互換性の問題 [2006-03-25-3] で「Byte order is not compatible」とか言われるため perl 5.005_03 で使い続けていた tb.cgi だが,さくらインターネットで使われている OS が FreeBSD 6.x になり perl 5.005_03 が無くなったため,動かなくなっていた.というわけでしば らくトラックバックを送ることも受け取ることも,過去のものを表示するこ ともできなくなっていたのだけど,ようやく重い腰を上げて対応することに した.
ここにある「$Storable::interwork_56_64bitをtrue値に設定」は,Out of memory とか言われてダメだった.
というわけでここの真似をして,いったん perl 5.6.2 で読んでから Data::Dumper で Dump して,改めて perl 5.8.8 で store し直すことにし た.
*.stor を *.stor.old にリネームしてから dump.pl,restore.pl の順に 走らせる.一応うまくいったっぽい.
dump.pl:
#!/usr/local/bin/perl5.6.2
use strict;
use lib "."; # 古い Storable 一式をカレントディレクトリに置いた
use Storable;
use Data::Dumper;
$Data::Dumper::Indent = 0;
$Data::Dumper::Useqq = 1;
while (<*.stor.old>) {
my $new_file = $_;
$new_file =~ s/stor$/txt/;
open(NF, "> $new_file") or die;
my $data = Storable::retrieve($_);
print NF Data::Dumper->Dump([$data], ["data"]), "\n";
close(NF);
}
restore.pl:
#!/usr/local/bin/perl5.8.8
use strict;
use Storable;
while (<*.txt>) {
my $new_file = $_;
$new_file =~ s/txt$/stor/;
open(OF, $_) or die;
my ($line, $data);
$line = <OF>;
eval $line;
close(OF);
Storable::store($data, $new_file);
}
dyndns.org を使っていたのだが,突然 expire された.がーんん.
いつもは expire 直前にメールで警告が来るのだけど,今回は何か知らんが 届かなかった模様.スパムに振り分けられたかと思ったけどそういうわけで もなかったようだ.
dyndns.org は 35 日更新がなければ expire される仕組みになっていて, それにも関わらず 28 日より短い間隔での更新は abuse と見なすぞゴルァ! とか 書いてあって微妙にアレなのだ.「だから有料プランに移行しなさい」とい うことなのかも知れないけど,むしろ意地でも金払いたくなくなるよね.フ リーライダー呼ばわり上等.
というわけでとりあえず dyndns.org のアカウントを再登録するとともに, 別のサービスも検討してみようかなと.無料の Dynamic DNS サービス一覧 は以下のページでまとめられている.
一覧をざーっと眺めて,ddo.jp を使ってみることにし た.選んだ理由は,というか理由というほどの理由もないのだけど,まず国 内で無料のものに絞って,さらに登録時に住所の記入が不要なもの,とする とだいぶ選択肢は減るので,あとは雰囲気でえいやっと選んだ感じ.
今のところ両方とも無事使えています.
kagami.org のドメインは onamae.com を通して取得した.2002 年頃の話. で,実はだんだん不満が溜ってきていた.
onamae.com の嫌なところ:
whois には自宅住所を登録していたのだけど,1 年前に物理的に引っ越した のを実は反映しないまま放置していた.まずいなあとは思っていたのだけど, 上記のような状況なので,あまり住所更新したくなかったんである.
というわけで,レンタルサーバを移動したのを機に,ドメインもさくらイン ターネットに移管することにした.
で,.org の場合は AuthCode ってのを移管元から聞いて移管先に伝えなく てはならないらしい.どこに書いてあるんだろう.と思って調べたら,メー ルで聞け, らしい.めんどくさ.送ってみたところ,翌営業日には返事が来て AuthCode が届いた.
さくらインターネット側では,この AuthCode を使って 移管の申し込み を ウェブからする.ものの数分で 承認依頼 メー ルが届く.メールに従って,Melbourne IT のサイトで承認手続き.
さて待つこと約 1 週間,ドメイン移管完了のメールがさくらインターネッ トから届く.どれどれ,と whois を引いてみると,Registrant と Admin は以前のまま (引っ越す前の住所) 変わっていない.FAQ には 『ドメイ ン登録時に「登録者のお名前(英字表記を含む)」以外の項目(登録者住所・ 担当者等)は、すべて弊社情報にて登録します。』 とあったので,自動的にそうなっているのを期待していたのだけど.という わけでサポートにメールを書く.
翌日にメールで回答.メールには会社の住所等が書かれていて,その内容に 自分で書き変えて下さいと来た.確かにウェブの設定ページから書き換えら れるようになっているんだけど,そんなもん自由に書き換えられたらまずい じゃないですか.とか思いつつ書き換えてみたら,瞬時に whois に反映さ れている.いいのかおい.
しかも,メールで伝えられた住所が,既に登録されている Tech のものと微 妙に (英語表記のスペリングとかが) 違っていて気持ち悪い.あと, Registrant の名前がなぜか「ShingoKagami」とくっついちゃってるのはな ぜだろう.というわけで再度サポートへメール送信.
やはり翌日返事が来て,住所のスペル違いは直しました,らしい. ShingoKagami の方は,移管前からそうだったらしい.手元にある 2002 年 当時のログだと,ちゃんと Shingo Kagami になっているんだけどな.その 後なにかの拍子に変わっちゃったのかな.レジストリが PIR に変わったと きとか? (← 根拠無し)
まあこのままでも全然困らないし,Registrant 名を変えるには 1,800 円か かるらしいので,放置で.
(*1) onamae.com の主張では,これは .org のレジストリである PIR の要請 らしいので,一概に onamae.com を責められないのだけど.
で,当の PIR はというと,ICANN との契約のせいだと主張している.なん だかよくわからん.
今まで使ってたメイルネットのサーバでは perl 5.005_03 (i386-freebsd) が使われていた.モジュール群はあまり揃っていなかったので,必要なもの は ~/lib/perl に自分でインストールして使っていた.
さくらインターネットでは,/usr/bin/perl は v5.8.4 (i386-freebsd-64int).モジュールもそこそこ揃っている.これなら自前で モジュールをインストールする必要はないかなと思っていたけど,甘かった.
Storable に互換性がない.
tb.cgi では,トラックバックのデータの保存に Storable が使われている. そのデータが読めなくなってしまった.Storable::retrieve が「Byte order is not compatible」とおっしゃっている.うーむ.
幸い,さくらインターネットのサーバには perl 5.005_03 built for i386-freebsd も /usr/bin/perl5 としてインストールされているので,こっ ちを使うことにした.こっちのバージョンではモジュールがあまり揃ってい ないらしい.というわけでメイルネットのサーバで使っていた ~/lib/perl 以下をごっそりコピーして使うことにする.再コンパイルとかせずにそのま まで動くのはありがたい.
他の CGI (clsearch, kuttukibbs, noascii) は perl v5.8.4 で問題なく動くようなのでそちらで動かす.ただし use lib で ~/lib/perl を指定しているとモジュールの互換性の問題で動かないので, 指定を止める.
とりあえずはこれでいいけど,いつまでもこのままってわけにもいかないか な.過去データをまとめて新しいファイル構造に変換して,v5.8.4 に移行 するようにした方がいいかも知れない.調べてみると,Data::Dump を使っ て一旦テキストとして吐き出させるという方法があるらしい.そのうち試し てみるか.
おまけ.というかちょっとだけはまった落とし穴.
さくらインターネットのサーバには,以下の 2 種類の perl がインストー ルされている.
そして以下のような symlink がある.
/usr/local/bin/perl5 は 5.005_03 を指しているのが自然だよなあ.どう してこんなことになっているんだか.
* [かがみ] なるほど,そうかも知れませんね.しかしそうだとすると /usr/bin/perl... (2006-03-27 04:45:47)
* [otsune] >どうしてこんなことになっているんだか.おそらく、/usr/local/b... (2006-03-26 21:21:18)
今まで使っていたレンタルサーバの契約 (年更新) が来月切れる.ちなみに ここ:
メールサービスだけ 4 年前に使い始めて [2002-04-19-1],その後 1 年ちょっ と前からウェブを使い始めた [2004-11-14-2].そして現在,ウェブ容量の 50MB はだいたい使い切りそうな状態に至っている.容量の大きなコースは, 競合他社と比べてあまりに割高だ (まあ現コースもだけど).
というわけで,他社サービスに乗り換えることに決めました.メイルネット さん今まで大変お世話になりました.
移転先はさくらインターネットのスタンダードプラン (http://www.sakura.ne.jp/).以下のような辺りが決め手となって選んだ.
最初の 2 つは,まあ個人的な趣味.やっぱり使い慣れている環境に近いの はありがたい.3 つめは直接的な要因ではないけど,ちゃんとした (?) ユー ザ層に支持されているんだなあというのが伝わって来て,決心が後押しされ た感じ.
設定の話.ウェブ関連の修正は以下の通り.
最後の CGI 関連についてちょっと補足説明が必要だと思うけど,長くなる ので別記事で[2006-03-25-3].
というわけで,この辺を変更して動作が確認できたので,旧サーバのコメン トとトラックバックを停止 [2006-03-25-1] して,DNS 情報を更新.新しい 情報が伝播して新サーバにつながるようになれば,コメントとトラックバッ クも復活したように見えるという寸法.もしこの記事が読めているのであれ ば,新サーバにつながっているはずです.
メールの方は,単に同じ名前のアカウントを作るだけで,何の苦労もなく移 行できた,はず.
メンテナンスのため一時停止します.
(追記) 再開しました.たぶん.
自宅から Symantec の Client VPN を使って某所に接続する設定を試す. Client VPN を動かすのは自宅の NAT の内側のプライベートネットワーク. Client VPN の設定では,UDP カプセル化を有効に.
いろいろ試行錯誤したけど結論だけ書くと,UDP の 500 と 786 を通す必要 がある.前者は isakmp で必要.後者はつながった後で必要っぽい.
* [かがみ] 私の接続先では,Gateway Security というハードウェア製品を使って... (2006-03-06 22:17:48)
* [松本] はじめまして、松本と申します。Symantec Client VPNについて書か... (2006-02-21 09:38:50)
ADSL モデムをつなぎっぱなしで放置していたのだが,ふと気づくと ADSL モデムのリンク LED が点灯している.なにー.
適当なところに ping を投げると返って来る.おおつながってるじゃないで すか.結局 ybb から連絡はないようだ.何なんだろうねこの会社.
というわけでコンピュータ周りでテレビ・音声周り以外を取り急ぎ復旧. 今回は,今までの掃除不可能ぶりを反省して,キャスタ付き机が常に動かせる ように注意しながらセットアップ.裏側から配線できるし,掃除もしやすい はずだ.しかしケーブル類はひどい状態.きれいにまとめるようにしないと いずれ破綻しそう.
電話引越しの申込をしていたわけだが [2005-03-18-1],NTT 宮城から連絡が 来る.部屋の側での工事が必要らしく,引越し当日に来てもらえそうだ.工 事費は最大 1 万前後だが,そんなにかからないことも多いらしい.
マイラインは今まで東京電話だったのだが,当然仙台では使えなくなる.ど うしますかと言われたのだが,何も考えていなかったので保留.今週中に再 連絡することにする.
というわけで新しい電話番号が決まったので,ウェブから ybb の引越手続 き.基本的には電話待ちでいいのかな.
(追記) 結局,市内は NTT 東日本,その他 3 区分はフュージョンコミュニ ケーションズにしました.
くっつき BBS を導入してコメント記入欄を作ってみた.
このサイトのコンテンツは,自宅の PC からレンタルサーバにアップロード されていて,ログデータはその中のサブディレクトリに置かれる.このサブ ディレクトリはアップロードで上書きしちゃダメなので特別扱いする必要が ある.むしろ,このサブディレクトリはダウンロードして,手元にバックアッ プを取っておきたい.
ところが sitecopy はどうもこれには向いていないっぽい. ~/.sitecopyrc でディレクトリまるごと ignore に指定してみたのだが,う まく動いてくれない.
sitecopy の man には ``Ignored files will be created, moved and deleted as normal'' って書かれていて,要するに ignore は単に内容の変 更が無視されるだけなのかな.ファイルがどんどん増えて行くケースは想定 外っぽい.本家のメーリングリスト眺めると,似たような質問は出てるんだ けど無視されてるし.
結局以下のようにした,まず自宅 PC 側でログデータをバックアップするディ レクトリは,公開ディレクトリツリーの外に置くことにした.これは ftpmirror でサーバから自宅側へ sync する.
一方,公開ディレクトリツリーの中のログデータ置場は,自宅 PC 側では初 期状態(管理用ログファイルだけがある)のままで触らないようにしておく. このままでは管理用ログファイルが上書きされるので,~/.sitecopyrc で このファイルを ignore 指定しておく.sitecopy は,サーバ側で生成され る新しいファイルの存在は関知しないので,これでとりあえず問題ない.
というわけですごく面倒くさかった.やはり ssh + rsync が使えるサーバ に移るのが正しいのかな.
皆さん普通はどうやってるんでしょうか? てことで早速コメントキボンヌ↓.
ウェブのアップロードに使うツールとして,ftpmirror を捨てて sitecopy に乗り換える.
サーバ側とローカル側が同期した状態からの使用開始なので,~/.sitecopy を掘って ~/.sitecopyrc を書いてから,一度
% sitecopy --catchup kagami.org
などとしてローカルのチェックサム一覧を生成して準備完了.通常のアップロー ドは,
% sitecopy --upload kagami.org
とだけすればよい.
リモートのファイル情報を取りにいかないので非常に速い.ftpmirror には 二度と戻れない感じ.何かの拍子でずれが生じたらどうしよう…とか思うと ちょっと不安になるが,まあそのとき考えよう.あと,設定ファイルにパス ワードを書かなくて済むのが精神衛生上よろしい.
さて,今までは kagami.org ではメールだけを運用していて,ウェブは研究 室のサーバを好き勝手に使っていたのだが,さすがに立場上あまり好ましく ない気がして来たので,外に移すことにした.(実は,このログだけは水曜 ぐらいに一足先に移動していた)
現在 kagami.org の実体であるレンタルサーバは,メイルネット http://www.mailnet.ne.jp/ というサービスを利用しているのだが,ここは 名前が示す通りメールに重点を置いているのか,ウェブに関しては競合他社 と比べてそれほどお特ではないようだ.そんなわけで,ちょっと他のサービ スに浮気しかけたのだけど,敢えて移動の手間(メールも移ることになるの で)をかけるほど魅力的なところもなくて,また,これまで 2 年以上メール を安定して利用できたという実績もあるので,結局メイルネットにウェブサー ビスを追加で申し込むことにした.(「メール」→「メールライト」コース へ変更)
(実は申し込みに先立って,1. アクセスログは見れるか? 2. ssh は使える か? という 2 点をメールで尋ねた.1. は YES,2. は NO という答えだっ た)
メールで申し込んで,1 日くらいでサービスが開始された.ここの素早さに はいつも感心する.
というわけで,週末を利用してウェブのコンテンツ大移動を敢行.結構めん どうくさかったが,だいたい収束したかな?
なんとかつないだ.ていうかモデムでかすぎ.
metallic は PPPoE だったのだが,ybb は DHCP で取って来るだけらしい. ていうかこれってどこかで認証してるんですか? モデムですか? もしかして してないんですか?
というわけで,むしろ設定は簡単になった.まず ppp を止める. natd の interface や rc.firewall の ${oif} を tun0 からネットワーク カードのインタフェース (fe1) に書き換える.DHCP クライアントを fe1 で走らせる.
# dhclient fe1
resolv.conf はとりあえず手動で書き換えた.
dyndns.org への ddup を /etc/dhclient-enter-hooks に.
大学から自宅に ssh でつないでいた kterm が固まっていて,あれーおかし いなとか思いつつ特に気にしていなかったのだが,帰宅してみるとしっかり 接続不能状態になっていた.で,なにやら宅配便の不在連絡票が入っている. モデムらしい.
その時点でようやく状況を理解する.
少し時間をさかのぼるが,東京めたりっくから
この時点で気づけばよさそうなものであるが,スルーしていたのだった.局 内工事と新しいモデムの発送が同じ日じゃ困るじゃん!
「Yahoo! BB めたりっくサービス終了のお知らせ」というメールが届く.まあ 予想されたことではあるが….完全に吸収合併という形のようだ.
サービス終了は 6/30.放っておくと自動的に ybb 8M に切り替わるらしい. といってもモデムとかは変えなければいけないのでなかなかうっとうしい. なお,契約したくない場合や,他のサービス (12M とか)にしたい場合は 6/10 までに申し込め,らしい.
なお,メールアカウントは 8月末まで使えるが,それ以降は Yahoo! BB メール使えということらしい.まあ,東京めたりっくのアドレスは対外的に はまったく使ってなかったので別にこれは困らない.
さて,5月中旬辺りから path MTU discovery に何故か引っかかるように なっていて,別に OS 入れ替えたわけでもないので,めたりっくの方で何か 変更しましたかね? とか思いつつ原因を究明できないまましばらく放ってお く.症状としては,ppp.conf でどう設定しても,ifconfig tun0 で見た mtu が 1500 になってしまう状態.infoseek や nikkei.co.jp はともかくとして, 大学にファイルを scp しようとすると場合によっては固まるという困った状 態.
とりあえず OS を最新版にしてから考えるか,と思ったところ,なんと cvsup サーバにつながらない(つながるんだがデータが下りて来ない)という 罠.
とはいえ原因を究明している体力はやはりないので,/usr/sbin/ppp を mtu とか mru とかで grep した上で, こんな修正 を加えるというなめたことをやってみるとさくっと直った.とりあえ ず cvsup はできるようになったので,ようやくスタート地点といったところ. だがこのままでも困らないので追究の手がゆるみそうな罠.
というわけで swk(at)kagami.org とかのメールアドレスを運用開始.ちゃんと 動いているようだ.よしよし.
サポート宛にいくつか質問を投げる.当日中に返事が来る.ここは本当に対 応が早くてありがたい.質問内容は,
1. はメールで依頼すればよいらしい.2. は残り期間の差額を払うことで可 能.3. は現状では制限がないので使い放題. 4. も一度程度で簡単なもの であれば,無料で対応可能とのこと.なかなか好印象.こういう風にサービ スが柔軟な点ははもっと表向きに書いてあるほうが宣伝になるだろうに.っ てあまり強調すると要求が殺到して大変だから強調したくないのかな.
ドメインを入手したら,メールも使えるようにしたくなるのが人情ってもの でしょう.とすると,自宅サーバじゃ心許ないのでレンタルサーバの利用を 検討.メイルネット というところを選んでみた.決め手は,なんだろ う.やっぱり値段だろうか.メール + ウェブ転送だけなら月 500 円.ウェ ブは当面は大学のページへの転送で十分.
http://www.mailnet.ne.jp/ から仮申込み.当日中にメールで返事が来る.内容を確 認した上で DNS を変更して返信しろ,そしたら設定開始する,とか書いて いるが,とりあえず無視して「内容に間違いありません」とだけ書いて返信 してみる.案の定,先に DNS を設定してくれという返事が速攻で来たので, 「それじゃ空白期間ができる」とごねてみる.いや,どうせ誰も見てないウェ ブサーバしかないので,空白期間があっても困らないんだけど.
相手曰く,いずれにせよ DNS の伝搬には時間がかかるので結局空白期間は できる云々.こっちがやりたかったのは,両方のサーバが並行して動いてい る状態にして,それから DNS を移そうってことだったんだけど.まああま り困らせても意味ないので,委譲の手続をしてから返事.1 日くらいで作業 を完了します.という返事が来る.
特に目的もなく 「何かいいドメインないかなー」 とか探していると,以前は既に取られていた http://www.kagami.org/ がいつの間にか空いていること をついうっかり発見する.2 時間後には手続完了.
さて DNS をどっかに委譲しなければならない. これまで使っていた dynamic DNS は http://www.dyndns.org/ なのだが,「自前のドメイン使うに は寄付をくれ」ってことらしく,寄付くらいしてもいいかなあとちらっ と思ったけどやっぱり面倒くさいので(ぉ,http://www.minidns.net/ とかに鞍替えして,自宅に dns を飛ばすようにしてみた.
miniDNS の登録用フォームって,大学のメールアドレス 受け付け てくれないんですけど,もしかして「-」を illegal な文字と見なしてます か? だめすぎ.
ssh の件だが,3.2-RELEASE の環境で make した sshd を持って来て動 かすと問題は発生しなくなったようだ.なんなんすか? これ.もいっこ気に なるのは,今まで last log に接続元ホストは IP アドレスのまま書かれて いたのに,逆引きされて書かれるようになる.やはり何かおかしかったとし か思えないのだが…
一応試行錯誤の過程を記録に残すと,sshd に -d オプションつけて動か すと現象が再現しないため情報が得られない,OpenSSH-2.5.1p1 持って来て make しても現象は起きる.同じく 2.5.1p1 を動かしている suite に static NAT をかますと,現象は起きなくなる.おや? と思って redirect_port 10.0.0.3:22 10022 とかして 10022 につなぐが現象は起きる. ふと思って suite で動いている sshd のバイナリをコピーして動かすと現象 は起きなくなる.
しばらく試行錯誤を試みたが,ssh が挙動不審な件は今でも突発的に起 こる.実はログインできないのではなくて,数分間待たされた後にログイン できる.ログインできた後は通常と何も変わらない.原因がなかなか特定で きない理由の一つが,これがいつ起きるかわからない点で,(暇ができて)解 析しようと思うと直っていたりするのでどうしようもなかったりする.ログ にもとくに再現性のあるものは残っていない.firewall を全許可にしても状 況は変わらない.
ICMP:3.4 とかが出ていて,これは destination unreach., fragmentation needed and DF set だそうで,よくわからんが ppp.conf で MTU と MRU を 1454 あたりに変えてみる(もとは 1492).何が変わったと いう気もしないが.1454 というのは,単に users-jp に流れていた数字.
開通.設定は Daemon News の記 事そのままであっさりつながる.nocturne をルータとして,suite からの接続を確認.とり あえず ppp に -nat オプションをつけて運用.いつのまにか 640kbps と 1.6Mbps のサービスが統合されていて,同じ値段(安い方)で 1.6Mbps が使え るようになっている.速度も,わりと最高速近くまで出てそうな感じだ.
メールにて,机上調査結果報告が届く.とりあえず光ファイバ収容ではない そうだ.モデム取り付けに関しては,
弊社では、モデムの取り付けからパソコンの設定までをすべて お客様自身の手でやって頂くDIY(Do It Yourself)制導入に向け 準備を進めておりまして、現在、特定のお客様について先行採用 をさせて頂いております。 (中略) 今回、お客様のモデムをNTT局側工事の日程に合わせ発送させて 頂きました。
とかいうように,有無を言わさず「勝手につなげ」状態になったらしい.よ しよし.しかし「特定のお客様」ってどう選んでるんだか.申し込み時のア ンケートだろうか.
ADSL Single 640 サービスを 東京めたりっく通信に申し込む.オンラインサインアップ.
記入するのは,回線種別.回線名義・電話番号・場所(住所).氏名・年齢・ 連絡先 TEL/FAX/Email.クレジットカード情報.その他アンケート.
アンケートにあるのは,どのようにして弊社をお知りになりましたかとかい うありきたりのものから,建物・電話線の状況(電話機構成や PC との位置関 係),LAN は使っているか,どんな ISP を使っているか,どんな OS を使っ ているか,TCP/IP について(使える/使えない/わからない …ってどんな質問 だ),ハードウェア機種名・メーカ名などなど結構細かい.ユーザ層が知りた いんだろうか.
最終更新時間: 2008-04-23 08:31