Software Archive
以前組み立てたは良いものの、大学やバイト先に持っていくので常用しているラップトップ(VAIO Type SZ)と使い分けが出来ず、メインマシンになりそこねていたShuttleのベアボーンを使って、流行りの仮想化というものに挑戦してみました。
仮想化というのは、一台のマシンの上で、実機をエミュレートした仮想のマシンを走らせることで、複数のOSを並行して走らせたりすることをいいます。一台のサーバーが複数のマシンの役割を果たしてくれる仮想化は、遊んでいるハードウェアは殆ど持っていない自分にとって夢のような技術です。幸い、組み立てていたPCは、こういうこともあろうかと余裕を持たせて4コアのCPUを積んでいたりしたので、挑戦することが出来ました。
これまでもWindows 7 RCとUbuntuをデュアルブートで入れてみたり、それらのOSの上で動くVirtual Boxという仮想化用のソフトを使いDebianやら色々走らせること(ホストOS方式)はしていたのですが、今回は仮想化でも、ハイパーバイザ方式での仮想化を試みてみました。ハイパーバイザ方式とは、ハイパーバイザという仮想化専用のOSを実機にインストールし、そのハイパーバイザが提供する仮想のマシンの上でOSを動かす方式です。ハイパーバイザ方式だと何がいいかというと、仮想化専用のOSがホストOSなため、ホストOSに無駄なリソースを喰われたり、ホストOSのアップデートなどでVMを落とす必要に迫られることが少ない点が優れています。今回は、VMware ESXiというハイパーバイザを入れ、その上にWindows 7 RCとUbuntu、CentOS、Free NASなど諸々を入れてみることを目指しました。VMware ESXiは以前、大学のサーバーで触らせてもらったことがあったのですが、そのときはCPUのコア:たくさん、メモリ:いっぱい、という、まぁ化け物みたいな構成のもので、後はVMを作るだけという状態で弄らせてもらったので簡単だったのですが、今回はサーバー機でない単なるベアボーンで一から構築したので少し難儀しました。
まず一点目がインストール時にHDDを認識しないという点。IDEのHDDを認識しないというのは聞いていたのですが、SATAで繋いでいた自分のマシンでも駄目でした。色々試したりしているうちに、ググって出てきたのがVMware ESXi を IDE HDD にインストール – trial and errorというページ。曰く、SATAでもAHCI モードで動いてない場合、IDE HDDとして認識され、それがもとで弾かれているとかなんとか。そこでBIOSの設定を見直し、AHCIモードに切り替えてみたのですが、こんどはSATA接続のDVDドライブが認識されないという問題が発生。どうもDVDドライブのファームウェアに問題があるらしく、泣く泣く設定を戻し、VMware ESXi を IDE HDD にインストール – trial and errorで紹介されている、インストールスクリプトでIDE接続のHDDをはじいている部分を書き換えるという方法で乗り切りました。DVDドライブをあきらめても良かったのですが、そうするとESXiをアップデートする必要に迫られた時に面倒がおきそうだったので、AHCIモード動作化は今回は見送りました。
続いて直面したのがオンボードのNICが認識されないという問題。なんでもESXiはIntelかBroadcomのチップを載せた一部のLANボードにしか対応していないとか。。こればかりは仕方がないので、EXPI9301CTというLANボードをAmazonでポチリ。\4,680と、目玉が飛び出るような高さではないけれど、今じゃ\4000もあればバルクのDVD±RWドライブが買えてしまうことを考えると、ちょっと高いかなと感じたり。そういうものなのでしょうか。
ここまで来ると後は簡単で、ハイパーバイザに固定IPを割り振り、そのIPに対して、ラップトップにインストールしたVMware Infrastructure Clientで接続してVMを作っていくだけの簡単なお仕事になります。
なにはともあれまず入れたのはWindows 7。もうRTMもMSDNやTech Netで出てますし、Tech Net Direct Plusに申し込んで、RTMを手に入れても良いかと思ったのですが、折角Tech Net Direct Plusに申し込むならOffice 2010も欲しいよね、ということで、ぐっと我慢してOffice 2010のリリース時期がもう少し信じられるレベルまで固まるまで待つことにし、とりあえずはWindows 7 RCをインストール。その上でそのWindows 7に対し、リモートデスクトップ接続できるように色々と設定を行いました。VMware Infrastructure Clientのコンソールも、よいのですが、Aeroが効かないし、効率はやはりリモートデスクトップ接続に劣るからです。LAN内での接続はすぐ上手くいったのですが、外からインターネット経由で繋ぐのは少し難儀しました。自分の家は当然固定IPなぞ持っていないので、ダイナミックDNSサービスを利用し、ドメイン名でアクセスし、ブロードバンドルータからWin7のVMに対してリモートデスクトップ接続に使うポートをポートマッピングしてやったのですが、なぜか繋がらないという。。ラップトップからLANケーブルを引っこ抜き、代わりにイーモバイルの回線経由で接続のテストをしているつもりだったのですが、実は無線LANで家のネットワークにぶら下がりっぱなしだったのが原因でした。VMware Infrastructure Clientの接続が切断されない時点で気付くべきだったのですが、なかなか。。。時間を無駄にしてしましました。
つづいてセットアップしたるはFreeNAS。古いPCを簡単お手軽にNAS化できるアプライアンスOSです。数日前に7年程前のPCを引っ張り出してきて試してみたものの、そのPCのファンの五月蠅さに常時立ち上げておく気になれず、どうしたものかと思っていたものを移行させるために作成しました。本当はRAID化やバックアップの設定もしたいところなのですが、何せ物理HDDがベアボーンに内蔵させている一台しかないので、今のところはあきらめています。いずれeSATAでいくつもHDDを足したいところです。
更に続くはUbuntu.今のところ一応入れてみただけです。多分ずっと寝かせっぱなしになりそうだなぁ。。
そしてCentOS。とりあえずこいつを安定的に運用するのが目的。ぶっ壊すの覚悟のテスト用と、安定的に運用する奴と二つ。仮想化環境でなければ自分には到底実現できない、ぶるじょあな構成(笑)。壊したとしても、スナップショットがあるので、直ぐ戻せるという仮想化の利点を生かして、これでLinuxの勉強をしてみたいと思います。
ご存知の通り、中国では政府にとって好ましくないとされるサイトへのアクセスはブロックされており、Twitterもその一つです。TwitterのWebページのアクセスも、TwitterクライアントがTwitter APIを叩きに行くのもブロックされています(自分は普段TweetDeckを使っています)。しかし、それで「はいそうですか」、と素直に引き下がれるほど自分のTwitter依存度は低くなく。。一緒に上海に行った人達は日本にWebプロキシを建てた上で使っていたようですが、自分はちょっと違った方法を使いました。sobeesを使うという方法です。これはSilverlightで作られたTweetDeckライクなマルチカラムTwitterクライアントで、これはSilverlight3で構築されていて、Out of Browser機能が有効化されているので、これをデスクトップにインストールして使用していました。
ではなぜTweetDeckが使えずにsobeesが使えるかというと、sobeesはSilverlightで構築されているので、直接クライアントがTwitterのAPIを叩きに行けず、クライアントの配布されているsobeesのサーバーがsobeesのクライアントからのAPI呼び出し要求をTwitter APIに中継しているという性質によるものです。実は、中国国内からのアクセスが制限されいるのはTwitterのWebページとTwitter APIを直接呼び出すケースだけで、もばついやsobeesのように、Twitter APIを叩くサーバーが中国国外にあるWebクライアントは利用可能なのです。sobeesは現在リリースされているSilverlightアプリケーションの中では最もよく作り込まれているアプリケーションの一つで、TweetDeckと互角か、それ以上に使いやすいアプリケーションと言えるので、中国に行かれる場合はおススメのクライアントと言えるでしょう。ただ、ひとつだけ残念なことがあり、それは、IMEによる変換を行うときに誤動作をするという点。変換を行う時のEnterキー入力で入力が完了したものと勘違いし、そこでTweet送信をしてしまうというバグがあります。そのため、現状では、Tweetはテキストエディタで書いた上で張り付けて送信をせざるおえないという残念な状態です。バグレポートを投げようと思うので、それが対応されたらTweetDeck代替として結構使えるのではないかと思います。
Windows Live Writer 2009 (Release Candidate)がリリースされましたね。目立った改善点としては、
- 複数画像の一括貼り付けへ対応
- サイドバーがスクロール可能になった
- 「開く」ダイアログ内でエントリのインクリメンタル検索が可能に
- WordPress2.7以降で、タグ入力時のサジェスト
などでしょうか。WordPress2.7で追加されたwp.getTagsメソッドをしっかり活用してくるようなフットワークの軽さが素敵です。
しかし、当然ですがWindows Live Writerのアセンブリのバージョンも上がってしまったでしょうから、これに参照を持っているWPCustomFieldsEditorなども対応させてアップデートしなければならなくなってしまいました。APIとして提供されていないアセンブリを参照しているから自業自得とはいえ、面倒ですね…。今度はリフレクションかIronPythonで間の部分を書いてみようかと思います。
ORFも終わり、少し余裕が出来たので暇なうちにOSの再インストールを行ってみます。Eclipseがいかれたり、TortoiseSVNがXCOPYコマンドとコンフリクトを起こしている状態に改善の見込みがないのに嫌気が差したのと、ラップトップのHDDに余裕がなくて(120GB)Ubuntuをデュアルブートでインストール出来ない現状をついでに改善するためです。
インストールし直すソフトウェア
とりあえず備忘録として、OS再インストール後もインストールするつもりのソフトウェアをリストアップしてみます。きっと何年かして見返したときに懐かしく思うでしょう。他のソフトに依存してインストールされるものは入っていたり入っていなかったりいい加減ですが一応。バージョンは基本非標記。
コンパネに表示されるもの
- Amazon Associate JP Live Writer Plug In
- CollabNet Subversion
- DivX Codec
- DivX Player
- DVDFab
- Dynamic Template Plug-in for Windows Live Writer
- EmEditor Free
- EPSON プリンタドライバ
- FFFTP
- Fiddler2
- Flare
- Java 6
- JDK
- Kaspersky
- Lhaplus
- Live Mesh
- Lunascape
- Microsoft .NET Compact Framework 2.0
- Microsoft .NET Compact Framework 3.5
- Microsoft .NET Framework 3.5
- Microsoft Device Emulator
- Microsoft Document Explorer
- Microsoft Expression Studio
- Microsoft Office Live Add-in
- Microsoft Office OneNote
- Microsoft Office Personal
- Microsoft Office PowerPoint
- Microsoft Silverlight
- Microsoft Silverlight 2 SDK
- Microsoft Silverlight Tools for Visual Studio
- Microsoft Virtual PC
- Microsoft Visual Studio
- Microsoft Windows SDK
- Mozilla Firefox
- MSDN Library for Visual Studio
- Opera
- PuTTY
- Skype
- Sleipnir
- SyntaxHighliter for Windows Live Writer
- Url2Title Plugin
- VirtualCloneDrive
- Windows Live
- Windows Mobile 6 Professional SDK
- Windows Mobile デバイス センター
- Wireshark
- WLWLauncher
- XAMPP
コンパネ以外
- Cygwin
- Eclipse
- ProcessMonitor
- ManagedSpy
- RigidChips
- WordPress
- VMware Server
…こんなものでしょうか。ぶっ続けで作業しても夜が明けてしまいそう…。
Mozillaが開発中のモバイルプラットフォーム向けブラウザのFennec、デスクトップ向けのエミュレータが公開されたので早速試してみた。
まぁ、実機で試してみないことには何とも言えないだろうな…、という印象。デスクトップ向けFirefox同様、Extentionによる機能強化が可能になる予定なので、期待して待ちたい。
なんだかんだで参加してから日が空いてしまった。既にほかの参加者の方々が詳しいレポをあげている(由々識さん、TrinityTさん、Darkskyさん、kei_9さん、clicubeさん)ので、ここでは掻い摘んで個人的な感想を。
一次会
FUM(一次会)が開催されたのは、都心一等地のコンベンションセンターの貸し会議室。ガラス張りの現代的な建物で、こういうところにあまり来たことのない自分にとっては大分新鮮。集合時間に合わせて行くと、既に由々識さんが到着されており、由々識さんと雑談をしながらFUMの開始を待った。ほどなくしてFenrirの堀江さんの司会のもと、FUM開始。学生参加者が多かったことが印象的。メディアからの参加としては、ITmediaの方、窓の杜の方、BBwatchの方、vectorの方が見えられていた。雰囲気はちょっと固かったかな…。ほとんどの人が、初対面の組み合わせだったので、始まる前にアイスブレイクの時間を取り入れれば良かったのではないかな、と思う。
さて発表内容。
Sleipnirスタートページ
potaに代わるスタートページを開発中とのこと。スッキリしたデザインで、とても良い感じでした。キヨタカさんに聞いた話では、本体側と連携した機能も考えられているとのこと。現在Sleipnirでは、タブが0個になったときに自動的にabout:blankが表示されるけれども、その代わりにこういったページが表示することが出来たら結構便利じゃないかな思う。
Sleipnir SDK
SDKの扱いについては由々識さんのエントリやTrinityTさんのエントリに詳しいので参照してください。ここではちょっとだけ追補を。
現在公開されているFenrir製のプラグインが利用しているSDKは、あまりエレガントな設計になっていないので、再構築した上で、公開するとのこと。
また、「SDKを公開した場合、プロダクトとしての一貫性をどう確保していくかが悩ましい」とも仰っていた。デザインとか、プラグイン同士の競合を懸念されている様子。
社長からの挨拶
「自分にとってソフトウェアとは、無機質な物ではない、人と人とが繋がるもの」―という発言が自分の中で、一番印象的だった。自分の少ない経験に引きつけて考えても、「他人からフィードバックを受け、それに応えられた時」の喜びというものは、無上のものと感じているので、深く共感できる話だった。
二次会
二次会は非常に楽しかった。自分は文系学部に進んだので、普段パソコン関係の話題で人と話す機会は滅多にない。そのため、今回Ruby開発者の方や、他の学生参加者など、どの人もPCで何かを作り出すのが好きでたまらない人たちとテーブルを囲めたのは、大変刺激的で面白いものとなった。まさか、はてブで数日前にあがっていたネタをつまみに飲めるとは…。自分にとって最高に愉快な体験だった。
また、Darkskyさんにご挨拶できたのも収穫。Darkskyさんは、IEの拡張を多数制作されている方で、Marine Toolbarなど、自分が作ってみたいと思っていたものを実現されている方なので、お会いできて嬉しかった。Marine Toolbarとかについてお話を聞いておけばよかったなぁ…。
さいごに
Fenrirの皆様、参加者の皆様、貴重な時間と経験をさせて頂き、本当にありがとうございました。残念ながらご挨拶できなかった方々、是非何時かまたお会い出来た際にお話させて頂ければ幸いです。
とてつもない動画を発見。RigidChipsという、Chipと呼ばれるパーツを組み合わせて3Dモデルを作成し、luaで制御して楽しむソフトがあるのだが、それのプレイ動画。
プレーヤーの技術向上が凄まじいなぁ。SSGNは良く特徴を捉えているし、LINE3Dで描かれたCIWSの弾には圧巻というより他ない。かつて自分もハマったが、工夫と技量次第でここまで作り込めてしまうRigidChipsは本当に素晴らしいソフトだと思う。残念ながらRigidChips本体のUpdateは止まってしまっているが、それでも活気を失わないユーザーコミュニティの存在がこのソフトの価値を証明している。自分も、このような素晴らしいソフトを作る技量を身に付けたいものだ。