サーバ管理の最近のブログエントリ
そろそろ私もblogを復活したほうがよい雰囲気になってきました。
手始めに、せっかくの過去のXoopsベースのブログでの投稿をどうにかこのMobableTypeにマージしたいという多方面のニーズをくみ取って(?)ちょこちょこっとインポート用のデータを吸い出すプログラムを書きました(末尾に掲載)。
このへんを参考にスクレイピングをしています。XPathやCSSセレクタの表現で簡単に目的のコンテンツが取れますねぇ。いや、実に簡単。
旧ブログのエントリは全て吸い出しましたので、旧ブログの投稿をされていた方で、ご希望の方は、公開状態を「未公開(原稿)」にしてインポートしますので、コメントください。(ただし旧ブログのコメントは吸い出していません。やろうと思えばできると思いますが。。。)
ところで、「コミュニティの人々」のページが更新されないような気がしていましたので、 少し探ってみると、SQLほにゃららのエラーが出て同ページの再構築に失敗していました。でもテンプレートの編集画面で再構築を実行すると、なぜか成功するんですねぇ。不思議。
ということで、今後ともよろしくお願いします。
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use URI::Fetch;
use LWP::UserAgent;
use HTML::Selector::XPath;
use HTML::TreeBuilder::XPath;
use HTML::Entities qw/decode_entities/;
use Encode;
my $base = 'http://www.tyzoh.jp/www.tyzoh.jp/modules/weblog/details.php_blog_id=%s';
my $id = shift or die "usage: $0 ";
my $ua = LWP::UserAgent->new();
$ua->env_proxy();
my $res = URI::Fetch->fetch(sprintf($base, $id), (UserAgent=>$ua))
or die URI::Fetch->errstr;
my $tree = HTML::TreeBuilder::XPath->new;
$tree->parse($res->content);
$tree->eof;
my $content = $tree->findnodes(selector('#content'))->shift;
my $date = $content->look_down(_tag => 'div', class => 'blogDate')->as_text;
$date =~ s#(\d\d\d\d)/(\d\d)/(\d\d)#$2/$3/$1#;
my $entry = $content->look_down(_tag => 'div', class => 'blogEntry');
my $title = decode('Shift_JIS', $entry->look_down(class => 'blogTitle')->as_text);
my $auther = decode('Shift_JIS', $entry->findnodes(selector('.blogShoulder a'))->shift->as_text);
my $time = $entry->look_down(class => 'blogShoulder')->as_text;
$time =~ m/.*\((\d?\d):(\d?\d) (pm|am)\)$/;
$time = sprintf "%02d:%02d:00", (($3 eq 'pm' and $1 != 12) ? $1 + 12: $1), $2;
my $html = $entry->look_down(_tag => 'div', "class" => "blogContents")->as_HTML;
(以下略)
インポート用のデータフォーマットは、「Movable Type のブログ記事インポートフォーマット 」を参考にしました。
自分だけ旧Tyzohブログをインポートの続きを読む
ワタナベ (2008-06-30 01:18) | コメント(8)| トラックバック(0)
最近のサーバ仮想化熱はすごいですね。
今日は仮想化関係の私のネタ元を紹介します。
小出しですが...。
virtualization.info
http://www.virtualization.info/
http://www.virtualization.info/2006/04/virtualization-industry-roadmap.html
↑ Virtualization Industry Roadmap は製品名のキーワードを拾うにはいいですよ。
Open Tech Press{仮想化}
http://opentechpress.jp/search.pl?tid=41
ワタナベ (2006-08-10 17:58) | コメント(0)| トラックバック(0)
備忘録的に。
プライベートのノートPCに入っていたWindowsですが、
重要なシステムファイルに致命的な問題が発生したため正常に動作しなくなってしまいました。復旧インストールなどを試みたのですが、SP2にアップデートしてあったところに、通常のWindows XPのインストールメディアで復旧インストールしたため余計に自体は悪化してしまいました...
そこでプッツリと切れました。
「Linuxにしよう」
ということで、Ubuntu 6.06TLS とか SUSE 10.1 とかいろいろとっかえひっかえ入れてみたのですがどれもしっくり来ず。結局落ち着いたのは Fedora Core 5 なのですが無線LANカードを動かすのに少し苦労しました。
利用したカードは BUFFALO WLI-CB-G54 です。
ndiswrapper を利用して Windows用のドライバを動かすという基本方針なのですが、
やはり相性とか個別問題がありますね。
以下、参考サイトです。
上から順に見てみてください。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/785ndiswrapper2.html
http://www.ubuntuforums.org/showthread.php?t=223729
ポイントは bcm43xx モジュールがロードされないようにすることです。
sudo gedit /etc/modprobe.d/blacklist
add: "blacklist bcm43xx" (no quotes) and save the file
from the command line type in:
sudo modprobe -r bcm43xx
then
sudo modprobe ndiswrapper
ワタナベ (2006-08-04 22:49) | コメント(0)| トラックバック(0)
VMware上でゲストOSの時刻が大幅にずれる現象が発生しています。手元の環境では著しく時間が進んでしまいます。
VMwareに関する情報が集まっている VMTNによると原因と対策はいくつかあるようですが、根本的な問題としてはCPUの周波数に基づく時刻のカウントがVM上で想定どおり動いていないことのようです。対策: カーネルによる補正をOFFにする
2.6系のLinuxカーネルでは時間の計測は1000回/秒のRTC割り込みを要求をカウントすることで行っていますが、OSがビジーで割り込みを処理しきれない場合の対策のため、カウントの補正を行う機能がカーネルに組み込まれているそうです。VMwareのゲストOSとしてLinuxを動かしている場合に、この補正機能が利きすぎてしまって実際の時刻より時計が進んでしまう原因となっているようです。
対策として、カーネルの補正機能を起動オプションでOFFにします。例えばGRUBの場合、menu.lst のカーネル定義部分で 引用:
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/hda2 clock=pit
と "clock=pit" を追加して再起動します。
また、vmware-tools によりホストOSとの時刻同期を有効にする(ntpdとは同時に使わない)ことも必要になります。
その他、ホストマシンのCPUの省電力機構(Intel SpeedStep, AMD PowerNow or Cool'n'Quiet)による周波数の動的変更によるカウント数の変動も原因となるようです。手元の環境では省電力機能が無効でしたので、こちらは関係が無いようです。参考まで。
ワタナベ (2006-08-01 13:59) | コメント(0)| トラックバック(0)
以前からご意見をいただいていた件について対応しました。
ワタナベ (2006-07-21 11:36) | コメント(0)| トラックバック(0)
YAMLでXOOPSユーザ情報を拡張したい。
YAMLでXOOPSユーザ情報を拡張したい。その後。
でユーザ情報に追加情報を入れられるようになりました。
私のユーザ情報は → http://www.tyzoh.jp/userinfo.php?uid=3
皆さんのユーザ情報はログイン後にページ右上に表示される「ようこそ xxxx さん」のところから見ることが出来ます。自分のユーザ情報であれば、この画面からプロフィールの編集が出来ますので、皆さんも登録してみてはいかがでしょうか。
さて、追加情報として現在表示されるのは、個人の写真画像、ブログURL、紹介文ですが、今日はそのフォーマットを紹介いたします。
サンプルとして私のユーザ情報を利用しますと、見え方は以下の通りになっているはずです。

これを表現するために、「その他」フィールドに以下の情報を入れています。
1: #yaml
2: image:http://www.tyzoh.jp/contents/member_watanabe.jpg
3: blog:http://www.tyzoh.jp/modules/weblog/index.php?user_id=3
4: body:>
5: 無線P2P、ICタグ、その他ユビキタス系デバイスなどを扱うミドルウェア開発や実証実験に
6: 関わってきました。最近はWeb関連技術に傾いていて、とくにセマンティックウェブ周辺に
7: 興味があります。1行目: YAMLを使った追加属性が始まることを示す。必須。
2行目: ?に表示される画像ファイルのURLを指定します。
省略すると http://www.tyzoh.jp/contents/member_[ユーザ名].jpg が表示されます。
存在確認をしていないので、画像が無ければ×が出てしまいます...
3行目: ~に表示されるブログのURLを書きます。無ければ表示されません。
4~7行目: ~に表示される自己紹介文を書きます。body: の直後に '>' を入れておけば、
改行を入れることが出来ます。そのとき、インデントが同じになるように
各行の先頭にスペースを同数入れてください。
ただ、この画面から「その他」を編集すると「YAMLでXOOPSユーザ情報を拡張したい。」にあったように字数制限に引っかかってしまいました。せっかくDBのカラム幅を広げたのに編集画面から登録するときにプログラムが長さのチェックをしているのが原因です。そこで以下のように字数のチェックをDBのサイズに合わせています。
edituser.php
124: $edituser->setVar('bio', xoops_substr($_POST['bio'], 0, 255));
↓
124: $edituser->setVar('bio', xoops_substr($_POST['bio'], 0, 65535));
ワタナベ (2006-04-11 18:32) | コメント(0)| トラックバック(0)
以前、こんなことを言っていましたが、ついにVMwareのディスクフォーマットが公開されてしまいました。今後は、仮想環境のディスクイメージのフォーマットの覇権争いになってしまうかも。やはりメディアを押さえたほうが勝ち。仮想環境普及にはマーケティング戦略が必要ですね。
VMwareのディスクフォーマットが公開 - オープン規格の統合目指す
ほとんどのオープンソース系の仮想化技術で利用されるディスクイメージは、物理ディスク上のデータをファイルシステムも丸ごと含めて、そのままの状態で1ファイルに書き出したものを利用します。
なので、どの仮想化技術を利用しても使い回しが利きやすいのです。
VMWareのようなプロプライエタリな製品はディスクイメージのフォーマットが公開されていなかったのでクローンなどが出てきにくかったのですが、これがオープンになったことでこれまでのオープンソース系の仮想化技術もVMWareディスクイメージ対応になってきそうです。
そうすると、構築時の下準備や実験などで安く済ませたい場合はOSS系を利用して、本番時は実績上VMWareを採用する、なんて使い分けが出てくるかもしれません。
伝統的に生のディスクイメージが使われてきた世界にVMWareの技術が取り込まれていけば、仮想化技術全体の進化につながります。
これはこれで、歓迎すべきことなのでしょう。
それにしても、最近の仮想化技術周辺の業界は熱いですね。
MSも Virtual Server を無料化してしまいましたし...。
インフラを握ってサポートで儲けようというスタイルになりつつありますね。
OSS陣営は判断が迫られそうです。
追記
こんな論評が出てました。
http://japan.linux.com/enterprise/06/04/05/025258.shtml?topic=1
ワタナベ (2006-04-07 10:51) | コメント(0)| トラックバック(0)
手元のノートPCのHDがクラッシュしてしまいました...
以前から兆候があったので、データ類はすべて「あちら側」に置いてあり
大きな問題にはならず、事なきを得ましたが、
マシン自体は、
1. Windowsの起動がやたらと遅い
2. ログイン後、しばらくするとブルースクリーンになる
3. 書き込みがやたらと遅い(ある特定のセクタ群だと思われる)
のような症状になってしまい、
とても実用には堪えない状態になってしまいました。
ここは、いい機会だと思って、仮想環境によって実現する AnonymousノートPC作成の実験台にしようと思います。
構想はこれからですが。。。
Xen + ディスクイメージのライブラリ化 (+ QEMU)
でまとめてみたいですね。
中身は何も語っていませんが、まずは導入ということで。
# でもHDDが壊れてたらそもそも作業がままならない。。。
ワタナベ (2006-03-28 22:37) | コメント(0)| トラックバック(0)
KNOPPIX というCDから起動可能なLinuxディストリビューションがあります。ブート時のデバイスの認識力に優れ、多様なマシン環境でも起動することが出来るということで、デモ環境や学内での計算機環境として利用されています。
日本では産総研が精力的にKNOPPIXの日本語化、多機能化を進めていて、いくつかのKNOPPIXの派生バージョンが出てきています。
中でも面白そうなのが、HTTP-FUSE XENOPPIX というものです。
KNOPPIXは cloop という圧縮ループバック・デバイスを使っています。これは大きな容量のシステムのイメージを圧縮された1つの大きなファイル(700Mb近く)に格納し、起動時にループバックデバイスとしてマウントする方法です。
これにより高機能なシステムを CD に収められるようになりました。
しかし、CDから起動する性質上、システムの環境を変更することは難しく、
実施したとしても大きなイメージファイルを作成し、再びCDに焼かなければならないというのはとても面倒です。
そこで、産総研では HTTP-FUSE KNOPPIX という派生バージョンで、FUSE-cloop という「分割圧縮ブロックファイルによるループバックデバイス」を開発しました。これは cloop デバイスを拡張して、ファイルアクセスがあったときに必要な部分だけをインターネットからダウンロードして読み込むというものです。
FUSE自体はユーザランドで仮想ファイルシステムを作り出すカーネルモジュール、ライブラリとして開発されています。これを利用して、FUSE-cloopはcloop を分割し、HTTP経由で転送できるようにしています。
分割・再構成がデバイスレベルで行えるようになったため、システムイメージが変更になっても差分部分の配布だけで済み、効率がよくなります。
さて、HTTP-FUSE XENOPPIX は、その名の通り、Xenを導入したKNOPPIXである Xennopix を HTTP-FUSE 化したものです。ブートに必要なイメージのサイズは6.5Mbで、そこからホスト環境となるKNOPPIX、ゲスト環境となる Plan9、NetBSDを起動することが出来ます。
HTTP-FUSE Xennopix が成熟していけばライブラリ化された新旧さまざまな仮想環境がいつでも再現できる環境になりそうです。
ワタナベ (2006-03-06 13:53) | コメント(0)| トラックバック(0)
ご覧の通り、トップページのレイアウトを若干変更しました。
画面表示がおかしい方は、スタイルシートはキャッシュされております。一度ブラウザのリロードをお願いいたします。Windowsをお使いの方は F5 キーでよいはずです。
ブログの更新がページの下のほうにあり、更新されたかどうかが分かりにくいという意見が多数ありましたので、トピックスのすぐ下に位置するようにしています。
色が薄くて見づらいとか、文字が小さいとか
画面上のご意見などあれば検討します。
ぜひぜひコメントください?。
ワタナベ (2006-03-02 19:37) | コメント(0)| トラックバック(0)
プロフィール
ワタナベ
サーバ管理が趣味の渡邉充隆です。
仮想化やネットワーク構成に興味があります。
あとは、ウェブ系の技術(プログラミングからインフラまで)も好きで、特にデータの見せ方などを工夫することで情報の流通や再活用を促進する技術を研究しています。
dev.tyzoh.jp では ssdb の(コアではなく)周辺のコードをいじっています。
月別アーカイブ
Copyright (C) 2004-2008 Nihon Unisys, Ltd. All Rights Reserved.
Powered by Movable Type Open Source