持ち歩きでの更新環境構築

雑談兼備忘録です。

 他の記事のレスでも言及致しました通り、この度ネットも碌に使えない環境に引っ越してしまいました。『建物が』ではなくて『地域が』というところなのでどうしようもありません。自分は田舎人&田舎大好きっ子なのでそれ自体はかまわないのですが、ネットすらないのはちょっとしょぼーんです。『地域格差』、言葉にすれば簡単なんですが。
 とはいえ、障害が大きいほど恋は燃えるというものです。マダマダガンバレマス。

 脱線修正。で、今回話題にするのは過去ログの保管と過去ログ&WikiのNamazu検索インデックスの作成と更新です。これらを行うには結構な時間・スペック・回線が必要なので、ネットトップなPCをマクド等で使うなんてのは無理です。そもそもマクドなんてどこー。

 そこで、まずSite管理に必要な事柄を必要環境に応じて三つに分類しました。A(大した環境は必要でない)、B(マシンスペックが必要)、C(安定した通信環境が必要)です。

A) スレのDATを取得
A) DATのコンバート
B) HTML化したログからNamazu用のINDEXを作成する
C) コンバートしたHTMLと作成したINDEXをUPする
C) Wikiのログを取得する
B) Wiki のログからNamazu用のINDEXを作成する
C) 作成したINDEXをUPする
A) Wikiや管理blogでの対応

注)
・ NamazuのINDEX作成環境の構築は面倒
・今まで更新に使っていたlftpはWindowsではCygwin版しかない(つまりCygwin環境も場合によっては必要)

 AはぶっちゃけマクドでもOKなレベルですので省略。

 Bはなかなか面倒です。通常、スレのログは更新された部分だけINDEXを再構築するようにしていますが、そうでない場合はとんでもない時間を要求されます。たとえば、Oblivion関連のログだけで現在600弱有ります。『600?ちょろいじゃん』と思われる方はある程度正解です。普通にINDEXを構成するだけなら600程度のHTMLなんて大して時間がかかりません。ですが、です。一度でも過去ログ検索を利用された方ならお気づきでしょうが、レスごとに検索できるようになっています。これは内部的にはスレッドのレスを1つの文書とみなしてINDEXを構築しているからです1。つまり1からINDEXを作り直す場合、実質600*1000=600,000の文書のINDEXを構築するのに等しくなるのです。ここまでくるとCPU速度よりもDIskの読み書きで手間がかかりそうなのが見えてきます。あと、当方のデスクトップはPhenom X4 965BEなのですが、Namazuの中身はPerlなのでどうもマルチコアを上手く使えてないようなのです。これはしょうがないことでしょう。

 で、注)にも書きましたが、Namazuが動き出すように設定するには結構手間がかかります。大体は何も見なくても出来るようにはなっていますが、激しく面倒です。さらにネットカフェのPCがリブートした日には…。そういう訳で、更新環境には仮想PCを利用することになりました。これならディスクイメージと仮想PCのインストーラを持ち歩くだけでどこでも更新作業に最適化された環境を利用できます。わざわざネットカフェでPC立ち上げ後、30分位も無駄に設定作業をしなくてすむのは嬉しいことです。

 ところで、スペックの話のところで仮想PC?と疑問に思われるでしょうが、実際密接にかかわってきています。接続後、大概は更新されたデータがあります。それのためにINDEXの更新作業は必要になってきます。ところがどっこい、仮想PCはホストのPC内でシミュレートされているものなのでどうしても能力は貧弱になります。この貧弱さがINDEX更新の際には激しく障害となるのです2

 結局、激しく時間の掛かりそうな作業は持ち帰って自宅でぶん回し、次の機会に更新するというパターンになりました。

 Cもなかなか大変です。実はz49.org上のNamazu用INDEXは大体1GB位になります。これはマクドじゃむりっ3。で、実際に使ってみて感じたのですが、仮想PCのネットワークは基本的に使い物にならないと思いました。普通にWebを閲覧する分には十分出来るんですが、継続的な通信を行うとちょいちょいパケットの取りこぼし?みたいなものが発生して通信が途切れてしまいます。また、速度もありません。これらは仮想PCとハードとの相性もあるのでしょうが、こんな不安定な要素を頼りにするわけにはいきません4。結局、ローカルで更新ファイルを1つに固め、仮想PCではないホストのPCからサーバに送信し、サーバ上で展開することにしました。

 という感じで、一応A-Cの対応方針を決め、ちょくちょくと作業をしています。実際にやってみて上手くいかないことも結構見つかっている5ので安定稼動にはしばらく掛かりそうですが、大目に見ていただければ幸いです。

追記 2010-04-18)
 結局lftpでのデータのDL&UPは非効率的と判断、wikiデータの取り出しはwiki組み込みのdumpプラグインを使用することにしました。また、それを仮想環境内で展開&NamazuのINDEXを作成。その後に作成したINDEXをtarでアーカイブし、これをホストPCに移動、ホストPCからWinSCPでUP&サーバ上で展開して反映という流れになりました。もちろんこれらの間にあるこまごまとした処理はBATファイルやシェルスクリプトで省力化を図っています。2chのスレッドログの保管も大体似た感じです。●を所有しているので落ちたログも拾えますし。更新されたスレッドだけの更新なら仮想PC上でも十分実用になります。

 仮想PCはVirtualPC 2007(以下VPC)を利用しています。VMWareはちょっと面倒ですし、VirtualBoxはVirtualPCより動作が軽快な状況もあるのですが、VPCはドラッグアンドドロップがホストとゲスト間で出来るという気軽さが魅力でした。VirtualBoxでは共有周りを弄らざるを得ず場合によってははまりそうな気配が見えました。ネットカフェで利用する関係上、再起動したら負けですし。

 セキュリティ周りはAvira AntiVirを起動後にDLしてきてインストールするようにしました。無料で利用できる中でも検出力には定評がありますし。

  1. 実際に、内部的にはレス毎にHTMLを分割してテンポラリとして書き出し、それから夫々に対して解析を行っているっぽい []
  2. 因みにz49.org上に保管してあるログ全てのINDEXを再構築した場合、PertualPC上では14時間、VirtualBox上では8時間掛かった []
  3. もちろん更新部分だけすればいいので常に1GBではないが、それでも1カテゴリで数十~数百MBは有る []
  4. 更新作業は自動化がとても楽に出来るlftpを愛用していたのですが、ぶちぶち通信が切れるようではやってられません。VirtualPCでもVirtualBoxでも、ネットカフェの場所を変えてもそれは同じでした。まぁ、田舎なので回線品質があまりよくないこともあるのかもしれませんが []
  5. たとえば、上述の仮想PCのネットワーク能力 []

持ち歩きでの更新環境構築」への3件のフィードバック

  1. Irrlicht

     本当はもうしばらく後に来る予定でしたが、この記事を書いた時に利用していた店の端末がウイルスに感染していたらしく、結局別経路で各種アカウントのIDとPasswordの変更を行いました。実際は殆ど仮想PC上で作業を行っていたのであまり問題はなかったのですが、上で触れたとおり、仮想PCからの通信速度が駄目駄目だったので圧縮したアーカイブのみFTPでUploadしてしまうというポカをしてしまいました(FTPは通信で生のPasswordが流れるので通信を盗聴するようなトロイには格好の餌食)。いつもならWinSCP (通信経路が暗号化されているので強い)でやってしまうんですが、時間が押していたもので慌ててしまったのです。
    そのついでに現在色々管理作業を行っています。因みに利用しているさくらのレンタルサーバではログイン履歴がコンパネで閲覧でき、不審なアクセスは発見できなかった事をお知らせしておきます。

    しかし…ブッチャケアリエネー。
    本記事作成の2010-04-16での作業時にはUSB接続のHDDを持参して色々してたのですが、帰宅後、マイPCにそれを繋いだらAvira AntiVirさんが

    WORM/Conficker.Autorun.Gen ワームの認識パターンが含まれています

    マヂディスカー。
    中身を見たらルートに怪しげなautorun.infが作成されていました。あははーっ。
    ネットカフェのPCなんて誰がどんな管理をしているかわかったものではない代物なので信頼するほうが馬鹿なのは自明なのですが、その店のチェーンをいくつか利用していてある程度安心していたので油断していました。尚、本日VirusTotalというウイルスをいろんなアンチウイルスソフトでチェックしてくれるサイトで確認したら殆どが陽性反応を示しました。

     店に直にごるぁしに行ければよいのですが近くもないし用事のついででもなければ行かない場所なのでメールで連絡しようと思ったら…電話だけかいっ。
    しょうがないので今度電話します。めんどうやのぅ。というか、先日の更新で更新システムはほぼ完成したのでしばらくネットカフェで無駄金を使う事もないなぁと思ってた矢先の事でした。色々もにょります。

     因みに余談ですが、この記事や今回のレスのように結構自分は管理側の内情を公開するようにしています。これは寄付を頂いているという事情もあるのですが、公開することによって利用者の皆さんに当方の事情を色々理解して頂き、お互いに良好な関係を築く為という打算…おおっと、目的があります。『何やっているか分からない人』より『へーこんな間抜けやっているんだー』というほうが親近感が沸く、そんなものかと思います。また、やっている事を公開する事で新たな助言を頂けるかも知れません。それに同じような事で苦労されている方には参考になるかもしれません(管理人はえてして孤独なのです)。

     というわけで、本当に雑談モードでした。

    返信
  2. tea

    状況が大変すぎて、ますます頭があがりません・・・
    って、これはやっぱりカンパのフリなのか!?

    ところで、田舎はいいですよねぇ
    ネットさえあれば。
    ブロードバンド普及率100%を前倒しとか話が出てますが
    結局、市町村役場周辺しかカウントしてないんでしたっけか、アレは。
    物理的な道路とかのインフラより、ネットインフラを
    もっと重要視して欲しいもんです

    返信
  3. Irrlicht

    コンニチハ、いつもお疲れ様です。

     好きでやっている事なのでこの位の苦労は厭わないですし、だからこそ寧ろ俄然闘志が湧いているのではありますが、結果として利用者の皆さんに不便を感じさせてしまうかもしれないことは申し訳なく思います。最悪引継ぎも考えましたが、多分この規模をぼんと喜んで任されるような奇特な方は居られないでしょうし、そもそも引き継ぎの手間が多分極めつけに面倒くさいと思います。まだまだがんばれそうなのでとりあえずはしばらくこのままで移行かとは考えています。

    >って、これはやっぱりカンパのフリなのか!?
    そうそう、右や左のだんな様……って何をいわすーっ。

    >ブロードバンド普及率100%を前倒しとか話が出てますが
    >結局、市町村役場周辺しかカウントしてないんでしたっけか、アレは。
     たしかそんな話もありますよね。モバイルとかで電波が入るエリアとかのやつで。
     基本田舎ばかりをあっちこっちしていたので、『ブロードバンドのカバー率90%』とかどこぞの人が言っているのは仮に統計的には正しくとも実情を反映してないものだと思っています。どこかの会社が回線の独占が何たらと言ってますが、携帯分野であれだけアンテナ増やしますとかアピールしながら結局田舎の電波状況はあんまり変わっていないという自分の経験(ただし、当方の経験の範囲であり、そうでない所もある可能性が有るのでこれで全てを語るのはおこがましいが)から、あんまり幻想は抱かないようになりました。ま、皆さん商売ですからその辺はしょうがないのは重々承知していますけどね。

     因みに、Wikiのnamazu検索をcronでまわして自動で行うようにしようかと思いましたが、今日は上手くNamazu周りを上手く動かせなかったので保留しました(Namazu自体はInstallできましたが、kakasi周りが上手くいかない。)。とりあえず情報だけ漁って次には実装できるようにしてみたいです。

    返信

コメントを残す

メールアドレスが公開されることはありません。