12月 252008
 

自宅のサーバが安定しない。とずっとここに書いてきたのだけど、ふぅ。23 日の 22:00 頃にようやっと原因と思われるメッセージを出力してカーネルがパニックしてくれた。それまでは突然凍りつく現象がずっと続いていたのだけど。

サーバの突然の停止によって、メモリを交換・電源交換・あげくの果てにマザーボードの交換までしたのにそれでもサーバの突然の停止。まいった。

しかし、今回はようやっとメッセージが出力された。タイトルの通りで ufs_dirbad で mangled entry だとメッセージが出力されて、その後 panic: だと。トホホだけど、原因が特定できてよかった。ちなみに僕の場合は /var でこのメッセージが出力された。

PC のハードウェアは交換したけど、HDD はずっと使い回していたので再インストールは特にして居なかったのだけど・・。

FreeBSD のソースコード的には /usr/src/sys/ufs/ufs/ufs_lookup.c の 297 行目辺りなんだけど、何をしているのか皆目見当がつかないので google で検索してみるとそれなりに結構ヒサンな状態みたいですねぇ・・。このメッセージが出ると言うのは。

と、言うことでバックアップを開始し、スパッとパーティションを削除して FreeBSD の再インストールを実施。インストール前は FreeBSD/amd64 7.1-PRERELEASE だったのだけど、インストール用メディアは FreeBSD/amd64 7.1-RC2 でおこなった。その後、cvsup で再度 7.1-PRERELEASE にしたけど、今のところは無事に動作している。と言う感じかな。

けど、cron で動くものやウェブ経由で動作するプログラムが結構 core している模様。dmesg に出力されているのよねぇ・・。

一体何がいけないのか・・。サーバ自体が安定してもその上で動作しているものがボコボコ落ちても余り意味がないのだけど・・。

後、ufs_dirbad なメッセージが FreeBSD/amd64 のみで発生している事象なのかも知りたい所。FreeBSD/i386 使って ufs_dirbad なメッセージが出た。と言うのは google で探しても見当たらないのでもしかしたら FreeBSD/amd64 のみの事象なのかなぁ?

FreeBSD/i386 を利用していても ufs_dirbad なメッセージが出るぜぃ。って人いましたらどうかお願いします。コメント頂けませんでしょうか。宜しくお願いします。

それにしても再インストールでサーバが安定することを切に願うのであります。

12月 182008
 

最近の液晶ディスプレーの価格の下落にはちょっと驚いているのですが、驚きつつ、ついつい買ってしまいました。 Acer の H223HQbmid を。インターネットで買ったら 25,000yen 程度。まぁ、冬のボーナスで買うにはこれ位で良いかぁ。みたいな感じでした。

届いたのをしばらく使ってみたのですが、その感想を少々書いてみたいと思います。

・ディスプレーが広大だねぇ。Full HD で 1920X1080 のサイズの画面が出るのだけど、右から左に首を動かす量が増えた。まるで車のフェンダーミラーがドアミラーに変わったように・・。

・コントラスト比が 20000:1 だと言うので default ではなんかむちゃくちゃ明るくて、僕の場合頭の後ろが痛くなるので随分と暗くしました。

・ディスプレーを設定するボタンが、ボタンでは無くタッチするだけなのですごいかっちょ良いし、D-SUB・DVI-D・HDMI を切り替えるのは信号が来ているものを勝手にチョイスしてくれるのですんごい楽。

・やたらでかい・・(^^;;。

って感じでしょうか。僕的にはこれが 25,000yen で買えるのが驚きで、良い買い物だったと思っています。

さて、続いて各種 OS の接続状況を見ていくことにしましょう。

・MacOSX Leopard ですが、僕は 2006/11 発売の Dore2Duo な MacBook を持っているのですが、これは Intel GMA 950 なグラフィックチップです。が、 mini-DVI-D のコネクタでディスプレーに接続したらいとも簡単にフル HD で表示してくれました。何も悩まずに広大なデスクトップ環境を手に入れました。

・続いて WindowsXP ですが、これは D-Sub15 ピンで接続しています。こちらも全く問題はありませんでした。

・最後は FreeBSD の X11 ですが、ディスプレー側でアスペクト比固定にすると、左右に黒く入って正しい比率で表示してくれます。一回 Xorg -config を実行し新しい xorg.conf を作成し、それを利用するとフル HD で表示してくれます。おーー。パチパチパチ。僕は KDE4 をデスクトップに使っているのだけど、いやはや。すんばらしい。

・X11 での問題点もあります。フル HD のサイズにしたら日本語の TrueType フォントが表示できなくなってしまいました。1280×1024 の場合は日本語を表示しくれるのですが、1920X1080 にすると日本語フォントが□で表示されてしまいます・・。アタタタ。

ちなみに現在 X11 上で TrueType フォント を利用しているのは emacs のみです。それ以外は KDE や GNOME のアプリなので pango+cairo のアンチエイリアスが有効になったフォントなので X11 は知らないんですね。

さてと・・。X11 で 1920X1080 の時に TrueType フォントを表示できるように格闘すべきか、emacs 自体を pango+cairo のアンチエイリアスが有効になったものに移行すべきか悩むところです。

ちなみに僕は両方とも試しました。xorg.conf を色々いじっただけではだめでした。後、emacs-23.60 は pango+cairo のアンチエイリアス対応ができるのですが、scim からの入力ができず、日本語がまるで打ち込めない状態だったので利用を諦めたのでありました・・。トホホ。

と、言うことで emacs は -nw オプションを付けて konsole から起動することにしました・・。よ、弱い・・。

とまぁ、こんな感じでフル HD を体験しているわけですが、画面が広いのは良いけど首が疲れる。と言うのが良く分かりました。 DVD も見たけどそれは画面が大きくて良いですねぇ。ただ、5.1 チャンネルの音が無いしぃ・・。みたいな。

結局、どっちやねん?(^^;;。

12月 162008
 

自宅のサーバがどうやら壊れたみたいだったので新しいマザーボードと CPU を購入したのが約二か月前。そして、その新しいサーバがボコボコ落ちるようになったのが一ヶ月前。

昨日、いよいよ利用を断念して、僕の使っているデスクトップ機からマザーボードを引っこ抜いて、それはつまり、ASUS M2A-VM HDMI なんだけど、それをサーバの中に入れた。両方とも FreeBSD/amd64 で動作しているので OS のインストール作業などはいっさいなし。物理的なマザーボードの交換で済んだのでありました。

でもって、サーバで利用していたマザーボードですが、これを今度はデスクトップ機に入れようと思ったわけです。こっちのほうがチップセットは新しいし。これは ECS の A780GM-M と言う製品です。それにしてもこのマザーボードの凄さ。今からお聞かせしましょう。

・FreeBSD を shutdown -p now した後、WakeupOnLAN しても BIOS が起動しない。
・WakeupOnLAN は OnBord NIC のヤツでも PCI BUS に接続したものでも同じ動作。
・FreeBSD を shutdown -p now した後、電源ボタンを押しても BIOS が起動しない。
・FreeBSD を shutdown -r now しても再起動せず BIOS が起動しない。
・電源のスイッチを切るもしくはケーブルを一回抜かないとまともに起動しない。

しかし、これらの動作は WindowsXP を起動した後、シャットダウンしたら全てまともに動作する。

オンボード NIC の場合、WakeupOnLAN した時の動作としては良くあるんだけど、つまり電源投入後に Windows で一旦初期化してやらないとマトモに動作しないと言うやつですね。けど、これが PC の起動にもその原理が使われているのは初めてのことです・・。

このマザーボード、ACPI 回りを Windows で初期化しないときちんと動作してくれないみたいですね。ブートすらしないマザーボードです。ヒサンですねぇ・・。こんなのがあるんですねぇ・・。

僕、ECS のマザーボードを買ったのは今回初めてなんですが、もしかして ECS の製品は全てこうなんでしょうか?そもそも ACPI のコードなんてハードウェアメーカで使い回す傾向があるので、一個の製品で問題があると、そのメーカの製品ほぼ全てダメじゃね?とか思うのだけど・・。

ECS A780GM-M は Windows のマザーボードです。Windows 以外の OS を起動しようしている方、気をつけてくださいねぇ。なんせ、電源ボタン押す前に電源ケーブルを一旦引っこ抜かないと起動しないんですから・・。

Linux は無事に動作するのかなぁ?

と、言うことでハズレなマザーボードでした。

あ、後もう一点。最近のマザーボードはボードの裏に CPU ファンを固定する部品が付いているのだけど、これが弧を描いて CPUファン側(つまり上面に向かって)曲がっているのよ。まっ平らでは無いマザーボードなのよ・・。

大丈夫か? ECS。もう二度と買わないけど、そもそも、安物買いの銭失い。とは僕のことだなぁ・・。と、実感・・。トホホ。

11月 282008
 

FreeBSD、僕は7.1-STABLE を利用しているのだけど、ちょっと前に Users-ML で話題になった。

FreeBSD-users-jp 91899 からのスレッド ですねぇ。

このスレッドの中で ume さん が、その対処法を書かれているのです。

作業内容は以下みたいな感じですかねぇ。

元々 linux_base-fc4 が入っていたので /etc/make.conf に

OVERRIDE_LINUX_BASE_PORT=f8

 
と設定します。続いて、

# sysctl compat.linux.osrelease=2.6.16

 
してからいよいよバージョンアップです。

# portupgrade -o emulators/linux_base-f8 linux_base-fc4
# cd /usr/ports/emulators/linux_base-f8
# make install
# portupgrade -f linux-\*
# cd /usr/ports/www/linux-flashplugin9
# make install

 
最後にプラグインのコマンドを実行します。

$ nspluginwrapper -v -a -i

 
これで良いはずなんですけど、これで確かに flash9 が動作するのですが、遅い・・。yahoo.co.jp とか watch.impress.co.jp は最近、flash の CM があるのだけど、これを表示する時にむちゃくちゃ遅いっ!! 記事を真ん中クリックして別のタブに表示させるんだけどそこに flash があると平気で 10 秒以上凍りつき、応答がなくなる firefox3。

もうウンザリ・・。flash7 に戻すべや。とか思っていたら、回避策を教えていただきました。ありがとうございます。 ume さん;-)。

原因は linux-glib2 です。linux_base-fc4 で利用していたこれを削除して、再度インストールしなおせば劇的に速く動作するようになります。

その手順は以下のような感じ。

# pkg_deinstall -f linux-glib2
# portupgrede -f linux_base-f8
# pkgdb -F

 
これをやることにより劇的に速く表示してくれるようになります。いやぁ。良かった。flash7 と同じ位の動作で、ストレスも感じません。

ちにみに /usr/ports/devel/linux-glib2 はインストールする必要は無いみたいです。linux-glib2 は fc4 用で、fc5 以降は自前で glib2 を持っているので必要無いみたいです。
#だけど、インストールできちゃうんだよなぁ・・。

良かったです。ありがとうございました。

11月 262008
 

新しいバージョンが出たので、JailBreak が出ているか確認してからバージョンアップしてみました。

・Safari が見た目変わったねぇ。
・絵文字は iPod Touch では使えないののね。

って感じでしょうか。日本語入力が賢くなった Ver.2.1 よりは面白みは少ないかもー。

2.2 にバージョンアップしてすかさず JailBreak してみたけど、最近はあんまり必要性を感じなくなってきた・・。唯一 textReader が欲しい位かしら・・。

AppStore から TouchTerm が無料だったのでインストールしたけど、これ、中々良いですねぇ。どうして「TouchTerm」って言うのかわかる気がします。タッチして自分の見たい所を表示するためにずらすからなんですねぇ。なぁるほど;-)。

TouchTerm と AirSharing があれば JailBreak は必要ないかなぁ。と思えてきた今日このごろ。そー考えると Apple がきわどーーいアプリケーションを AppStore に用意している意味も解ってくる。「もう JailBreak 必要ないでしょー。AppStore から色々ダウンロードしてください。」って感じなんでしょうなぁ。

11月 242008
 

今まで30日分のお試しライセンスを使っていたのだけど、昨日だか一昨日、アメリカの vmware からメールが届いて、クーポン券を使えば $79,99 が $59,99 で買えるよ。だそうな。

日本円で買うと 10,990yen するんだけど $59.99 だと 5,700yen 程度で購入できるみたい($1=95yen で計算)。ずいぶんと安いなぁ。

http://www.vmware.com/products/fusion/

それにしても対する Parallels Desktop 4.0 for Mac も新製品を比較的安価な値段で提供するようです。

http://shop.vector.co.jp/service/catalogue/parallels/

こちらを見ると、日本円で 5,800yen(正確には6,800yenのほうか。)。んー。微妙だ・・。本当に。vmware がクーポン券を出したので勝負できる価格になったようですねぇ。

で、僕は結局 VMware Fusion 2 のライセンスを購入したのでありました。

さて。ライセンスを入力した VMware Fusion 2 には驚きました。お試しライセンスと比較すると起動時間が五倍くらい速くなっているっ!!なんなんだっ!!このスリープから目覚める速さはっ!!まさしくシャァ専用だっ!!

って感じがする。後、CPU 負荷とかもお試しライセンスよりも軽いような感じ。いやはや。驚いた。こー言う差別化というのもあるのですねぇ。と、みょーに実感してしまったのでした。

今までは MacOSX 上で WindowsXP を起動するのが苦痛だったのだけど、今はうれしくなってきています。が・・。僕ってあんまり Windows 使う機会って無いんだよなぁ・・(^^;;。

けど、Solaris10 x64 もインストールされているのよ。僕の VMware Fusion 2 にはさ;-)。

11月 232008
 

最近、自宅のサーバがみょーに安定しない。落ちまくり、フリーズするし、カーネルパニックするし・・。電源が悪いのかと思い交換したけどやはり落ちる・・。結局、メモリ交換したら復活した感じなのでメモリが壊れていたんでしょうなぁ。という結論に達したのでありました。

そんなとき、サーバをちょっと調べていたらミョーにチップセットが熱い。けど、チップセットを冷やすべきクーラーが無い。「こんくらいの熱さでもだいじょーぶだよなー。」とか思いつつ心配になってしまうのです。

で、思いついた技がこれ。

IMG_4645_pc.JPG

ヒートシンクにアルミ製の洗濯ばさみを付けるのです;-)。

その昔、バイクは空冷エンジンが主流であった頃、夏に誰もが熱ダレに悩んでいました。そこで発明された技で、エンジンのフィンに洗濯ばさみをたくさんつけると良く冷える。って、言うんですね。

それをそのままPCにも応用してみました。ヒートシンクにとりあえず三つ;-)。

しばらく運用してみましたが洗濯ばさみがきっちりと熱くなっているので見事に熱は伝導されているのでしょう。まぁ、役にたっている。と言うことで;-)。

しかし、こんな技、その昔にバイク乗っていたヤツしか思い浮かばんと思うけどなぁ;-)。

11月 122008
 

渋谷に新しくヤマダ電気が出来たのだけど、そこの特売で今はディスコンのバッファロー(FreeBSD 的には MELCO)の WLR-UC-G が 1,480yen で売っていた。

USB 接続の無線 LAN アダプタで、WindowsXP 上では AOSS と言うソフトウェアルータを利用して無線アクセスポイントになれる。と言うヤツ。

Windows 専用のアプリケーションをインストールすると無線アクセスポイントになれるんだけど、これを FreeBSD に接続してフツーに無線 LAN アダプタに利用できないかなぁ。と思い、購入。まぁ、FreeBSD で動かなければ WindowsXP で iPod Touch 用に利用すれば良いかな。とも思ったんだけど。

で、FreeBSD に早速接続してみた。kldload if_* とかした後で。けど、かわいくないなぁ。ugen0 に落ちてしまった。しくしく。

さてと。格闘はここから。まず、WLR-UC-G はどんなチップが乗っているのか? google で探すのだけど、どうも解らない。Linux 方面での実績を調べてみたのだけど、それも無いみたい・・。あらら。結局どんなチップを使っているのか google では解らなかったので、しょーがない。Windows に付属の CD からドライバをインストールして調べてみた。すると、Ralink Technology Corp. と言う所のドライバを利用しているみたい。ふぅ。

ちなみに FreeBSD に接続した時の usbdevs -v はこんな感じ。

port 5 addr 2: high speed, power 300 mA, config 1, WLR-UC-G(0x0119), Buffalo(0x0411), rev 0.01

 
ただ、こいつ、しゃらくさいことにプロダクト ID を二つ持っている。AP モードにした場合は 0x0119、クライアントモードにした場合は 0x0116 となる。これを覚えておいてと。

これ位の情報が手に入ると後は簡単。FreeBSD で Ralink Technology Corp. 用のカーネモジュールが無いか調べてみたら if_rum と言うのがあるじゃーん。と、言うことで最新の 7.1-STABLE のソースコードを持ってきてエントリを追加します。

でもって出来たパッチはこの辺りにおいておきます。

http://www.icmpv6.org/Prog/FreeBSD_patches/MELCO_WLR-UC-G.patch

プロダクト ID を二つ登録したので AP モードでもクライアントモードでもどっちでも 無線 LAN アダプタとして利用可能です。けど、クライアントモードで利用したほうが安心かも;-)。

実際に利用するするためには色々なカーネルモジュールをロードする必要がありまずが、ここでは割愛させていただきます;-)。 僕が試した感じでは ifconfig rum0 up して、ssid 付けて dhcp でアドレスが付きました。後 ifconfig rum0 scan も利用できました。

FreeBSD において AP モードは利用できないけど、ハードウェア自体は利用できるようになりました。めでたしめでたし。と言うことにしましょう;-)。

10月 142008
 

新しい BB ルータを買ったら、IPv6 閉域網のアドレスが降ってきて、FreeBSD の rtsol で付くようになってしまった。と言うのは前回書いた

この時は「ip6addrctl より先ににまずはルーティングだよねぇ。」って書いたんだけど、いよいよ ip6addrctl が必要になってきた。と、言うのも、僕の場合、/etc/hosts には以下のように書いている。

# google
2001:4860:0:2001::68       www.google.com

 
そー。ipv6.google.com と、言うのがあるんだけど、これを default で見に行くように設定しているのでした。

この設定をした場合、ipv6.google.com に対してアクセスするとき、僕が持っている IPv6 グローバルアドレスである、2001:200:: より、 NTT の Flet’s v6 (以降「IPv6 閉域網」と記述)の 2001:c90:: のほうが「デスティネーションと同じかより大きなスコープのアドレスが優先」されると言う法則により、ソースアドレスの IPv6 アドレス、つまり、自分のマシンのソースアドレスが IPv6 閉域網のアドレスになるので ipv6.google.com にはアクセスできない。と言う事態が発生してしまうのでした。

こらーもう /etc/ip6addrctl.conf 書くしかねぇべや。と言うことで当初書いていたのがこんな感じ。

:ffff:0:0/96 50     0
::1/128       40    1
::/0          30    2
2002::/16     20    3
::/96         10    4
2001:200::/35 10  100
2001:c90::/32  1  101

 
これでもーたいじょーぶだべ。とか思って、しばらく利用していたんだけど、どうもおかしい。やはり、ipv6.google.com にアクセスできない場合がある。で、どういう時にアクセスできないのか?と、言うと ifconfig でインターフェースについている IPv6 アドレスのうち、一番上についているアドレスがソースアドレスとして動作している。と言うことが解りました。

つまり、IPv6 閉域網のルータ通知デーモンと、自宅の rtadvd が動作しているルータから rtsol で IPv6 アドレスを取得した場合、NTT 側のルータが先に反応すると IPv6 閉域網の IPv6 アドレスが一番先に付いてしまうので ifconfig した時に一番上に来てしまう。その状態で ipv6.google に ping6 してもソースアドレスが IPv6 閉域網のものであるために到達性が無い。と言うことですね。

それにしても ip6addrctl の設定ファイルを書いてもなんでじゃー!?どうしてじゃー!?状態に陥るのでこざいました・・。

で、とある有識者、FreeBSD と IPv6 に詳しい人にお尋ねしたところ、自分が利用したい IPv6 は /etc/ip6addrctl.conf に書く必要はないので消せば良いでしょう。ちゃんと RFC3484 読もうねぇ。と言われつつ教えていただきました。

なので、正しい /etc/ip6addrctl.conf の書き方は以下のようになりますねー。

::ffff:0:0/96 50    0
::1/128       40    1
::/0          30    2
2002::/16     20    3
::/96         10    4
2001:c90::/32  1  101 

 
自分が利用したいアドレスである 2001:200::/35 を削除するのが正解なのでした。この設定を有効にした状態でなおかつ IPv6 閉域網のアドレスが ifconfig で見たときに一番上に来ていても、2001:200:: のアドレスをソースアドレスとして ipv6.google に到達できるようになりました。

良かった良かった。そして、ありがとうございました。

なお、その他の設定の意味については以下の URL を参照すれば大丈夫だと思われます。

http://www.imasy.or.jp/~ume/presentation/CBUG-20031129/text0.html

それにしてもこのドキュメントが書かれたのは 2003 年 11 月ですか・・。

ありがとうございました。 ume さん。

ちなみに MacOSX Leopard には ip6addrctl コマンドがありません。そして、やはり ifconfig で一番上に付いた IPv6 アドレスがソースアドレスになってしまうようです。

ただ、もしかしたら rtsol の時に何かしているのかもしれません。FreeBSD とは違って、IPv6 閉域網の IPv6 が、グローバル IPv6 アドレスより先に付くことは無いですね。ネットワークの設定の所でどっちをメインの IPv6 に使うか設定があったかなぁ?今手元に MacOSX が無いので良くわからないのですけど・・。

10月 062008
 

iPhone・iPodTouch を JailBreak すると WifiToggle と言うプログラムをインストールすることができるようになる。

まぁ、平らたく言うと、ボタン一つで Wifi のオン/オフができるのだけと、これがあるとすんごい楽。ってか、iPod Touch の「設定」画面て押しても中々出てこないし・・。遅すぎて・・。

で、僕も WifiToggle を使い始めたんだけど。App Store でこの手のヤツってあるのかしら?僕には見つけられなかったんだけど。

WifiToggle については google で検索すると一杯出てくるけど、この辺りの URL を張りつけておきます。とよしんのブログさん の所には default のキャプチャがあるので助かります。

http://toysn.blog103.fc2.com/blog-entry-258.html

実はこれ、一旦インストールしたんですが、アイコンがかっちょ悪いので一旦削除したんですよ。けど、中々良いので再インストールしたのですが、やはり、アイコンが気に入らない。

と、言うことでアイコンを書いてしまいました;-)。僕の iPod Touch は大体こんな感じ。

IMG_0001.PNG

丸みを帯びた、例の四角いのにました。これでだいぶ他のとなじんできたかしら;-)。欲しい方はこれを持っていってください。デスクトップに保存した後、scp で iPod Touch に送ってください。

icon4.png

インストール方法ですが、iPod に ssh でログインします。

# cd /Applications/WifiToggle.app/
# mv icon.png icon.png.org
# mv ~/icon4.png ./icon.png

 
これでアイコンが置き変わったので後は iPod を reboot すれば他のアイコンと同じ形のヤツが表示されると思います。ちなみに僕は技術者であってデザイナーではないので、あまりかっちょ良くないかもしれませんがその点についてはお許しいただければと思います(^^;;。

WifiToggle のライセンスはどうなっているのか知りません。ただ、Apple の製品を利用しているのにデザインが統一されていないことに激しく納得行かなかったのでアイコンを書いただけです。

統一されたデザイン。ささいなことなんだけどこれで心置きなく WifiToggle が利用できます;-)。