Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Web
BounceHammer の中の人からコメントをいただきました。Gmail の state 値について、こちらの Gmailのバウンスメールにあるstateの値9種類を見る という記事でまとめていただいています(ありがとうございます!)

 *

しかし、DoCoMo の「User Unknown」は、どうにかならないのかな。普通に「Rejected by user's preference」とか、それっぽいメッセージを出しても良いと思うんだけど。
Category: Linux
環境: CentOS 5.6 (x86_64) / 2.6.18-238.9.1.el5 / kvm-83-224
症状: 今まで動いていた VM がブートできない。新規にインストールしようとすると HDD のサイズが 0 MB (Unknown) となる、または設定したサイズよりも小さく表示される。
原因: QCOW2 形式のイメージファイルが raw 形式として認識されているため。
解決策: 既存の VM に関しては virsh edit で <disk type='file' device='disk'> の下の行の type='raw' を type='qcow2' に変更。新規にインストールする場合は、virt-install で一度 VM を作成した後、Ctrl-C で抜け、virsh edit で上記書き換えを行った上でインストール用の設定 (CD-ROM からのブートなど) を行い、virsh start してインストール実施。インストール後、インストール用の設定を解除する。

 *

qemu-img で qcow2 イメージを作成して virt-install で VM インストール、という手順でやっていたのですが、CentOS 5.6 から動かなくなりました。virt-install の --disk オプションに format 引数が用意されていない (format 引数が入ったのは virtinst 0.500.1 からで、CentOS 5.x に付属のものは 0.400.3) ため、今まではすべて (qcow2 の場合も含め) type='raw' で VM 設定ファイルが作成されてきました。

CentOS 5.5 までは qemu-kvm の -drive 引数に format=raw が指定されていても、ファイルのヘッダが qcow2 であれば自動的に認識されていたのですが、CentOS 5.6 付属のバージョンでは自動認識が broken、あるいは format を尊重するようになった ということのようです。

virt-install のメジャーアップデートをするつもりはないだろうから、qemu-kvm 側の挙動を変えるのが無難な落としどころかなぁ。RHEL ではどうなんでしょう。

(追記: 2011-06-05)
/etc/libvirt/qemu.conf にパラメータがありました。セキュリティ上の理由で、自動検出はデフォルトで無効になっているとのこと。
# If allow_disk_format_probing is enabled, libvirt will probe disk
# images to attempt to identify their format, when not otherwise
# specified in the XML. This is disabled by default.
#
# WARNING: Enabling probing is a security hole in almost all
# deployments. It is strongly recommended that users update their
# guest XML elements to include
# elements instead of enabling this option.
# allow_disk_format_probing = 1
ただ、現状では、virsh edit で type 属性を消しても type='raw' が自動補完されてしまうので、このパラメータの意味はあんまりなさそう。
Category: Web
ご存知のようにこの blog は非常に残念な HTML で書かれているのですが、DOCTYPE を HTML5 にしてみたところ、かなりレンダリングの結果が変わってしまいびっくりしました (ここ数日の間に、この blog を訪れた方は気づかれているかもしれませんが)。ずっと理由が分からなくて、Firebug でカーソルを当てて CSS 探したり (1 つもスタイル適用されてない!) しちゃいました。

せっかくさくらの VPS に移行して、負荷も気にならなくなっているので、WordPress でも導入したいところではあります (この blog は 2006 年くらいに自製したもので、かなり軽量ですがコードと操作性は悲惨です)。
Category: Computer
Microsoft が インストール不要無償のウィルススキャナ「Microsoft Safety Scanner」をリリースしました。

まだ試用していないですが、素晴らしい動きだと思います。

Microsoft に一銭の利益も生まないこの施策は、言うなれば「生活保護」。
海賊版 Windows を使っているようなユーザ層が、サードパーティの (怪しいセキュリティソフトをダウンロードする) リスクを負わずにマルウェア対策をすることができ、結果として Windows プラットフォームの価値を落とさずに済む、ということです。

勿論、海賊版を使われることは Microsoft の本望ではないですが、そういうユーザが一定数居ることも確か。
それらのユーザによって「Windows はウィルスに弱い」という噂が立てば (あるいは統計的に --- 海賊版 Windows も Windows であることに変わりはないので --- 示されてしまえば)、ブランドに傷が付くだけでなく、他の (正規版を含む) Windows へのウィルス蔓延、ボットネットの増加など、PC とインターネット全体に渡って悪影響を及ぼすことになります (「生活保護」に対する「スラム」のような感じですね)。

一方で、Microsoft Security Essentials (MSE) という無償のソフトウェアがあります。こちらは 正規の Windows を実行している PC のみダウンロード可能、というところがミソ。言うなれば「健康保険」に近い概念で、税や保険料(= ライセンスフィー)を納めている人に対するサービスという位置付けです。

ところで、MSE が対象とするのは、個人または 10 ユーザ未満の小規模ビジネスです。そこで Microsoft にはもう一つ、Forefront Endpoint Protection (FEP) という製品もあります。これは企業向けのセキュリティソフトウェアで、有償 --- 例えるなら「法人税」が近いでしょうか --- のサブスクリプションとなっています。

 *

つまるところ、「金のある所から取り、ない所に回す」という社会構造が、Windows プラットフォームを中心として出来上がっている、と言えると思います。
今回の Safety Scanner のリリースによって、また一歩、Windows が「数ある OS うちの一つ」から「情報技術の基盤」へ進んでゆこうという姿勢を、Microsoft に感じとることができました。

# 蛇足: まぁ、同時に言えることは、Apple にはこういう施策が必要ないということです。理由は言わずもがな。
Category: Web
携帯電話宛バウンスの宛先不明とドメイン指定拒否を見分ける - メールの話題 | bounceHammer

すごく参考になりましたが、自分は Gmail ユーザなので、Google の SMTP サーバから送信した場合について調べてみました。

宛先不明の場合(RCPT TO):
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550 Unknown user 宛先@docomo.ne.jp (state 14).

ドメイン指定拒否の場合(DATA):
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550 Unknown user 宛先@docomo.ne.jp (state 18).

ということで、最後の state の値を見れば良いようですね。state の一覧があれば便利なのですが、見当たりませんでした。