たかちゃん。

3月 142013
 

僕はiPhone5 を購入したので iPhone4 はすっかりと iPod Touch と化して Wi-Fi のみで利用していたのですが、そもそも iPhone5 を持っていたので、とある人に貸していたわけですね。どころがその貸していた人が、人から借りている iPhone4 をどっかに無くしてしまった。と、いうので大騒ぎ。
結局は出てきたのですが、今回はその顛末を書いてみたいと思います。

0. 拾った人は?
そもそも、ちょっと古い iPhone4 を拾った人がそのまま自分のモノにしてしまうほど、日本は落ちぶれてはいないだろう。とは思っていたのですが、果たしてその通りで、今回は無事に出てきました。ありがとうございました;-)。

仮にもし、僕が拾ったとしても自分のモノにはしないのではないか。と思うんですね。簡単に思うと以下の点において iOS デバイスというモノは恐ろしいモノですからねぇ。

o. 『Find iPhone』 で場所が解ってしまう
o. アプリケーションを利用した段階でその形跡が残ってしまう場合がある
o. AppStore などにアクセスしたらもう犯罪者か?

などなど。恐ろしいワナが待っているだろうとは容易に想像がつくので有りますが。
ちなみに、落とした iPhone4 には住所や電話番号などの個人情報や Apple ID などは全く入っていない、ただ単に Wi-Fi で「ウェブとメール、時々ゲーム」な機器として利用されている状態です。あ。メールのアカウント情報は入っていますね。

で、次の項番からは無くしてしまった iPhone4 の探査を実際に試してみました。

1. Find iPhone を使ってみる
iCloud の『iPhone を捜す』や、iOS アプリの Find iPhone アプリなどでロストした Apple のデバイスが検索できます。「無くした。」と、いうので Find iPhone を利用して場所を特定しようと早速起動します。

IMG_4362_lost_iPhone4_2.jpg

現在は iPhone5 のみに利用できる SIM カードが入っていて iPhone3G と iPhone4 には SIM カードは入っているけど、契約切れ状態です。

SIM が利用できない状態で Wi-Fi 接続した場合に Find iPhone で検索できるのか手元にある iPhone3G で確認してみましたが、どうも無理っぽいですね。電源が入って Wi-Fi 接続した iPhone の場所は特定できませんでした。
iPhone4 も SIM が利用できない状態ですが、無線 LAN に接続した段階で、しばらくしてから認識されで、アラートがピコピコ鳴っていました。
ちなみに iPhone4 の検証は手元に戻ってきて、自宅の Wi-Fi に接続してしばらくしたらピコピコ言い出したんですけどもね;-)。

iPhone3G の場合は無線 LAN 接続時の Find iPhone は無理でしたが、 iPhone4 では無事に認識してくれました。これは iOS のバージョンの問題かな?

2. 各種ログから特定
個人情報が一番入っているのはメールかなぁ? とか思うような気がしますが、もし拾った人が Wi-Fi に接続してメールアプリを起動した段階で IMAP サーバにアクセス元の IP アドレスが残ります。と、いうことは拾った人が自宅の Wi-Fi に接続してメールアプリを起動した段階で持っている人を特定できます。

他のネットワークに接続したとしても IP アドレスを警察に提示したら捜査してくれるかな?とか思うんですけどもね。

で、結局、今回は IMAP サーバにアクセスログが残ることはありませんでした。と、いうことはこの段階で以下の二点、もしくは三点に絞られます。

1). 拾った人が Wi-Fi に接続することなく初期化処理を行なってしまった。
2). 拾われて交番に届けられて、そのままバッテリ切れになってしまった。
3). 実は無くしたのではなく、どこか部屋とかカバンの中に置き忘れただけ。

まぁ、どっちにしても定期的にログを見られる IMAP サーバを持っていて、そのサーバにアクセスするアカウントがメールアプリに登録してあると良い感じですね。

3. SoftBank すごいよ
某警察署に届けられているので速やかに取りに行くように。と、SoftBank から一通の手紙が届きました。それも福岡から。

一枚の紙に製造番号とか持ち主(回線契約者)の情報が記載してあって、特定できるようです。 iPhone4 から iPhone5 に機種変更したんだけど、ちゃんと iPhone4 を購入した人が特定できるんですね。

IMG_4357_lost_iPhone4_2.jpg

そもそも、警察に届けられたのにどうして SoftBank から「あなたが落とした iPhone4 はここにあります。」と、連絡が来るのか? 通信キャリアと警察はタッグを組んで、拾得物である携帯電話は極力持ち主に返してあげよう。というストーリーというか作業手順というかスキームができている。と、いうことなのかな?

今回初めて(本当に落としたのは僕じゃないけど)携帯を無くしたので、その辺りのことは解らないのですが、ここで SoftBank が登場して来るとは思ってなかったのでちょっと面食らいました。他のキャリアもそーなのかな?

4. 自分のものだと特定する情報
さて、落とした SIM 無し(SIM が機能していない) iPhone4 を警察署とか駅の遺失物預かり所に取りに行くとき、どうやって自分のものとして特定するのか? についてですが、iPhone のシリアル番号は iTunes で解ります。
SIM の情報が無い(解らない)場合には iTunes を起動して「環境設定」から[デバイス]タブときて、「デバイスのバックアップ:」で前回同期した機器一覧を表示すると、そこに iPhone4 が表示されていて無くしたデバイス名にマウスオーパしてしばし待つとシリアル番号が表示されます。最悪の場合は、そのシリアル番号を控えておいて、警察署もしくは遺失物預り所に行って、 落とした iPhone を起動してもらってシリアル番号を確認してもらえば自分のだと特定できると思います。

と、いうことで、今回落とした iPhoen4 は無事に出てきました。拾って届けて下さった方、ありがとうございました。やっぱり、 iPhone ってのは手元に戻ってくるものなのですねぇ;-)。

2月 022013
 

VMware ESXi が色々動作して来たのでそれではいよいよ FreeBSD をインストールしましょう。

OS インストール用の iso イメージは以前書いた通り「データストア ブラウザ」を利用して VMware ESXi にアップロードします。

「新規仮想マシンの作成」 からゲスト OS をを作成します。
僕の場合、40GByte の HDD を持つ FreeBSD-default という仮想マシンを作成しました。まず先にここに FreeBSD/amd64 9.1-RELEASE をインストールして環境を整えて必要な ports をインストールしてからタネにしました。

あとは「データストア ブラウザ」からファイルをコピーして新たな FreeBSD をボコボコ量産していきました;-)。

以下はキャプチャですが、左側のフレームでフォルダを作成し、 FreeBSD-default ディレクトリ中の log ファイル以外のデータを新規に作成したディレクトリにコピーしてあげます。



クリックすると大きくなります。

vmdk などのファイル名は仕様により変更できないので、タネのファイル名はいかにも “共通” っぽいファイル名のほうが良いと思います。

新しいディレクトにコピーが完了したら vmx 拡張子のファイルを選択し右クリックで「インベントリへ追加」を選択します。そーすると VMware vSphere Client のインベントリに新しい仮想マシンが登録されます。一番最初の起動時のみコピーしたのか? 移動したのか? と聞かれるので「コピーした。」を選択し、起動すれば良いですね。

起動前に「仮想マシンの設定の編集」画面を開いて色々設定すると良いかもしれません。僕は「イーサネットアダプタ」を追加しています。特にアダプタタイプに “VMXNET 3” を指定したものを一個追加しています。そして、全ての仮想マシンに “VMXNET 3” 用の仮想スイッチを追加し、裏 LAN 用に利用しています。



クリックすると大きくなります。

FreeBSD のインストールが完了したら VMware Tools をインストールしましょう。 freebsd.iso というのがちゃんと用意されているので「CD/DVD ドライブ 1」にそれをマウントします。 VMware ESXi 的には /usr/lib/vmware/isoimages/ の中に色々な OS 用の VMware Tools が用意されています。

まぁ、このディレクトリから freebsd.iso を持ってきて mdconfig を利用して mount して vmware-freebsd-tools.tar.gz を抜き出しても全然問題は無いです;-)。

tar.gz ファイルを展開すると vmware-tools-distrib/ の中に vmware-install.pl というスクリプトがあるのでこれを実行するとインストールが完了します。

# mdconfig -a -t vnode -f freebsd.iso -u 0
# mount_cd9660 /dev/md0 /mnt/
# cd /mnt/
# cp vmware-freebsd-tools.tar.gz /tmp/
# cd /tmp/
# tar xvzfp vmware-freebsd-tools.tar.gz
# cd vmware-tools-distrib/
# ls
FILES           doc/            lib/
INSTALL@        etc/            vmware-install.pl@
bin/            installer/
# ./vmware-install.pl
A previous installation of VMware Tools has been detected.
:

 
僕は FreeBSD/amd64 9.1-RELEASE をインストールしていますが、VMware tools をインストールするには ports から misc/compat6x をインストールする必要があります。あと、 perl も必須になるので lang/perl* の好きなバージョンをインストールしてください。僕の場合は perl-5.16.2 をインストールしました。

VMware Tools のインストールが完了するとメモリ周りが速くなったりするそうです。あと、イーサネットアダプタに “VMXNET 3” を追加したので vmx3f0 というインターフェースが生えてきます。こいつは media: Ethernet 10Gbase-T でリンクアップします;-)。

実際に仮想マシン同士で em0 と vmx3f0 でデータ転送の比較をしてみたのですが em0 は大体 430Mbps 、 vmx3f0 は 440Mbps 程度の転送速度でした。 10Gbps は出ないですねf(^^;;。

VMware Tools をインストールしたら kldstat とか叩いてみると良いかもしれないです。色々 VMware のカーネルモジュールがロードされるようになります。

これで VMware ESXi 対応の FreeBSD の環境が整いました。 jail も良いんだけど OS 単体の FreeBSD がボコボコ作れる状態になりました。思う存分 FreeBSD で遊べそうです;-)。

1月 282013
 

VMware ESXi に対するアクセスは Windows アプリで、 VMware vSphere Client は ESXi のバージョンに引っ張られてそのバージョンに対応したものをインストールしなければならない。と、いうのは以前に書いた通りです。

そもそも、普段から Windows OS を常用しとない人にとって VMware vSphere Client を利用するは非常に億劫です。どーせなら VMware ESXi に ssh ログインしてそこから色々やりたいですね。せっかくだからそーしてしまいましょう。

と、いうことで

1. VMware ESXi に ssh ログイン
VMware vSphere Client からサーバの設定で ssh を有効にします。「構成」タブの左側のメニューの「ソフトウェア」の中の [セキュリティプロファイル] を指定すると右側に表示されるのでプロパティから SSHを 指定し「実行中」にします。
すると root で VMware ESXi に ssh できるようになります。せっかくなのでユーザ登録時に一般ユーザアカウントも作成してしまいましょう。「ローカルユーザ及びグループ」でとりあえずアカウントを作成します。でもってすかさず ssh っ!!

ssh ログインできるようになりましたか?

せっかくなのでホームディレクトリを作成してしまえっ!! ってんで /etc/passwd にホームディレクトリを書き込んであげると次回以降、自分のホームディレクトリにログインできるようになります。ただ、ディレクトリ内の権限は root 権限で作成されるのでイマイチ意味が無いような気がしますが。けど、そこに色々なファイルが置けるのでそれはそれで良いかー;-)。

/etc/group の root グループに一般ユーザのユーザ名を登録してもユーザ権限で動作してくれないようですね。ま。いっか。でもせっかくなので公開鍵/秘密鍵のペアでログインできるようにしましょう。 sshd の設定ファイルは /etc/ssh/sshd_config なのでそのファイルを見ると以下の行が見えます。

AuthorizedKeysFile /etc/ssh/keys-%u/authorized_keys

 
なるほどね。公開鍵は /etc/ssh/keys-takachan/authorized_keys として置けば良いわけね。これでパスフレーズで ssh ログインできるようになります。

2. syslog の転送
VMware ESXi が出力する syslog って美しくないんだけど、まぁ syslog サーバに転送する分には特に問題ないので転送してしまいましょう。

まず、 syslog を受信するのは FreeBSD と想定した場合に /etc/rc.conf の設定は以下のようにして syslogd を再起動します。

syslogd_enable="YES"
#syslogd_flags="-a 192.168.1.0/24:*"
syslogd_flags="-a *:*"

 
コメントアウトしている行は 192.168.1.0/24 のホストからのみ syslog を受信する。って設定です。 *:* ってのは全てからの syslog を受信する。って設定です。こーすると IPv4/IPv6 の syslog が受信できるようになります。 IPv4 と IPv6 のネットワークを同時に指定する方法が解らなかったので・・。

Linux(CentOS) の syslog の受信は /etc/sysconfig/syslog の SYSLOGD_OPTIONS に -r を付けて再起動。ってのは皆さん知ってますよね? 😉

で、続いて VMware ESXi の syslog の転送方法ですが、 /etc/vmsyslog.conf をごっそりと手で直してましいましょう;-)。

[DEFAULT]
size = 1024
logdir_unique = false
loghost = udp://192.168.1.128
rotate = 8
logdir = 
[vmsyslog] loghost = udp://192.168.1.128 rotate = 8 size = 1024

 
[DEFAULT] と [vmsyslog] に loghost = udp://192.168.1.128 を追加します。で、再起動します。簡単ですねぇ。って・・。こんなことばっかり書いていると怒られそうなのでちゃんとコマンド打ってみましょうかf(^^;;。

VMware ESXi 5.1 では esxcli というコマンドを利用します。

# esxcli system syslog config get
Local Log Output: 
Local Logging Default Rotation Size: 1024
Local Logging Default Rotations: 8
Log To Unique Subdirectory: false
#
# esxcli system syslog config set --loghost="udp://192.168.1.128"
#
# esxcli system syslog reload
#

 
config get オプションで表示。 config set オプションに付属のパラメータで追加です。まぁ、設定ファイルを手で直してしまったほうが早いかf(^^;;。リブートしても良いですが、 syslog reload オプションで syslogd を再起動します。

で、VMware ESXi のファイアーウォールを確認し syslog が false であれば true にしてあげます。

# esxcli network firewall ruleset list | grep syslog
syslog                 false
#
# esxcli network firewall ruleset set --ruleset-id=syslog --enabled=true
# esxcli network firewall ruleset list | grep syslog
syslog                 true
#

 
あとは logger test とか打って、syslog サーバに転送されたか確認します。

3. 仮想マシンのコントロール
これは説明なしです。以下のコマンドで色々できます。一覧表です。

1). 仮想マシンの一覧表示

# vim-cmd vmsvc/getallvms

 
一覧を表示しますが、一番左に表示されている数値が VMID になります。以降のコマンド投入時には VMID を利用します。

2). 仮想マシンの起動

# vim-cmd vmsvc/power.on VMID

 
3). 仮想マシンの停止

# vim-cmd vmsvc/power.off VMID

 
「仮想マシンの停止」は多分、 shutdown 打ってくれないです。バチっと電源断だと思います。なので起動時には多分 fsck が走ると思います。けどもまぁ、しょーがないよねぇ・・。

4). 仮想マシンの再起動

# vim-cmd vmsvc/power.reboot VMID

 
こっちは ACPI シャットダウンが走るのかなぁ? だとすると FreeBSD の場合は ACPI S5 ステートが走るので shutdown はしてくれると思いますが、確認はしていません。

5).仮想マシンのサスペンド

# vim-cmd vmsvc/power.suspend VMID

 

4.CIM のことほんの少し
まぁ、こんな感じで。と、いうことで今回もこってり? と VMware ESXi を書いてみました。
snmpd は前回書いたし、あとは CIM かなぁ。 ports の net-mgmt/sblim-wbemcli をインストールして以下のコマンド叩けば良いです。

$ wbemcli ecn -nl -noverify 'https://root@192.168.1.250:5989/root/cimv2'

 
ドドドと一覧表示してくれるのであとは個別の値を取得すればより詳細情報が取得できます。

ここでパスワード入力が回避できるように ssh のパスフレーズ化を試みたのだけど、考えてみたら ssh ではなく https でのアクセスだったので全く意味無かった。と、いうか・・f(^^;;。

と、いうことでいい加減次回は ゲスト OS としての FreeBSD のことについて書いて行きましょう;-)。

1月 232013
 

ちょっと前の FreeBSD-users-jp な ML で USB マウスが動かなくなる。と、いうスレッドがありました。PS/2 マウスと USB マウスの二つがあった場合、そのうちの一個が動かなくなる。と、いうのものでした。

僕の場合、USB マウスではなく、 PS/2 マウスとタッチバッドの組み合わせなのですが、マウスのほうが動かなくなって悩んでいたのであります。

僕が持っているのは ThinkPad X100e で、こいつは Windows OS で言うところの UltraNav です。キーボードの真ん中に赤ポッチがあるのが、 FreeBSD 的に言うと /dev/sysmouse でこいつは ports 的 には x11-drivers/xf86-input-mouse で認識して動作します。タッチパッド側は /dev/psm0 で x11-drivers/xf86-input-synaptics で認識してタッチパッドとして利用できます。右側を上下になぞるとちゃんとスクロールもしてくれるように設定しています。

が、この状態において、僕の環境では赤ポッチとそれに付属するポタン類が一切動作しない状態で、上記スレッドを参考に色々試したのですが、やはり動作しないので放置していたのでありました。

今回、環境を 9.1-RELEASE にしたのでもう一度試してみたのですが、やはり動作しません。悲しい・・。

以下は僕が利用している 赤ポッチマウスとタッチバッドマウスの xorg.conf の設定です。一応 hal に関係する設定も書いておきます。

Section "ServerFlags"
Option    "AllowEmptyInput" "off"
Option    "AutoAddDevices"  "off"
#       Option    "AllowEmptyInput" "on"
#       Option    "AutoAddDevices"  "on"
EndSection
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection
Section "InputDevice" Identifier "Touchpad0" Driver "synaptics" Option "Protocol" "psm" Option "Device" "/dev/psm0" Option "SHMConfig" "on"
Option "TapButton1" "1"
Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1" Option "VertScrollDelta" "200" Option "HorizScrollDelta" "200" Option "MinSpeed" "0.1" Option "MaxSpeed" "0.2" EndSection

 
この設定を書いても赤ポッチ側が動作しません。ps で hal と moused のプロセスを確認すると以下のようになっています。

$ ps -ax | grep mouse
1120 ??  Is     0:04.49 /usr/sbin/moused -p /dev/sysmouse -t auto
1332 ??  I      0:00.01 hald-addon-mouse-sysmouse: /dev/psm0 (hald-addon-mouse

 
moused は /dev/sysmouse 側をコントロールしています。 hald のほうは /dev/psm0 をコントールしています。 xorg.conf の設定では /dev/sysmouse は赤ポッチマウス、 /dev/psm0 はタッチパッドマウスです。まぁ、タッチパッドが無事に動作しているのでいーやー。とか思っていた時期が長いんですけどもね。

で、色々設定を見なおした結果、両方とも動作することが確認できました。上記 xorg.conf は何も問題がありませんでした。問題があったのは /etc/rc.conf で設定する moused の設定だったのであります。

以下のように設定すると 両方のマウスが無事に動作することが解りました。

moused_nondefault_enable="NO"
moused_enable="YES"
#moused_port="/dev/sysmouse"
moused_port="/dev/psm0"

 
今までは hald が /dev/psm0 をいじっているなら moused は /dev/sysmouse だろ。とか、勝手に思っていたのですが、moused のほうも /dev/psm0 に変更したらあぁら不思議。両方のマウスが動き出した。ということなんですね。 ps で確認すると以下のような感じ。

 $ ps -ax | grep mouse
33230 ??  Is     0:04.49 /usr/sbin/moused -p /dev/psm0 -t auto
33232 ??  I      0:00.01 hald-addon-mouse-sysmouse: /dev/psm0 (hald-addon-mouse

 
なんか、非常に違和感あるんですが、これで無事に二つのマウスが動作しております。考えてみると xf86-input-mouse がバージョンアップして以来赤ポッチマウスが動作していなかったので、随分と久しぶりに両方動きだした。ということになります。

いやー。良かったです。 xorg.conf が正しい設定であるならば rc.conf の moused の設定を変えてみてはいかがでしょうか。なお、今回は /usr/local/etc/hal/fdi/policy/ にはマウスの設定は入れていません。 xorg.conf の設定がそのまま X11 で有効になっていると思います。

ちなみにタッチパッドのほうは xf86-input-synaptics で動作しているので UltraNav みたいな動作が一応できます。 Synaptics を試してみたい方は参考にしてみてください。あ。細かい説明は一切ナシですけどもね;-)。

1月 072013
 

VMWare ESXi 5.1 を導入中です。今回は環境設定。ってんでしょうかねぇ。

それにしても外部ストレージが作成できたんだけど ISO イメージとかどうやって VMWare ESXi にアップロードするのー? ファイルマネージャとかないの? とか思って色々探したのですが、いやー、わかりにくいところにありますね。

プロビジョニングの VMkernel の [構成] タブの画面で右側のメニューの「ハードウェア」の「ストレージ」を選択します。すると「データストア」に表示されているストレージを選択して左クリックするとプルダウンメニューが現れます。ここから「データストアの参照」を選択すると「データストア ブラウザ」というファイルマネージャのようなものが起動します。

以下はキャプチャです。



クリックすると大きくなります。

画面下側のがデータストレージ内を見渡すことができる「データストア ブラウザ」です。これが表示されると isos とかいうディレクトリを作成できて、そこに ISO イメージなどをアップロードできます。また、作成した ゲスト OS をコピーしたりできるようになります。僕は FreeBSD-default というのを作成し、それをガシガシコピーして三つの FreeBSD をインストールしました。

次に VMkernel (あ。”VMkernel” とは VMWareESXi のハイパーバイザーのことです) の設定を 2,3 行います。上記と同じく [構成] タブの今度は「ソフトウェア」メニューの「セキュリティ プロファイル」を選択します。「サービス」のプロパティで色々起動します。まぁ、 sshd は起動しておいたほうが良いでしょうなぁ;-)。



クリックすると大きくなります。

ssh は起動するんだけど、snmpd がエラーになって起動しない。しょーがないので手動で起動できるようにしましょう。ってか、ハイパーバイザー(VMkernel のことね)に ssh でログインしたら色々中見られるし、大体のことは解ります;-)。snmpd を起動するためには /etc/init.d/snmpd で良いみたいですね。すると snmpd.conf ってのはどこにあるのだ? とか思ったら cat /etc/init.d/snmpd すると解ります。 /etc/vmware/snmp.xml というファイルのようです。このファイルを vi で編集して起動スクリプトのオプションを start として実行してあげれば起動します。

/etc/vmware/snmp.xml ファイルの変更箇所ですが、 以下の二点ですかね。

・<enable> タグに挟まれた文字列を true にします。
・<communities/> タグ を <communities>Public</communities> に変更します。

まぁ、二個目のヤツは communitiey 名なので自分の好きなのにすると良いかと思いますが。

以下は僕の設定です。

<?xml version="1.0"?>
<config>
    <snmpSettings>
        <enable>true</enable>
        <port>161</port>
        <EnvEventSource>indications</EnvEventSource>
        <loglevel>info</loglevel>
        <communities>Public</communities>
        <targets/>
        <engineid>00000063000000a1c0a8011c</engineid>
    </snmpSettings>
</config>

 
当該の snmp.xml ファイルは実は改行コードがないみたいですね。 init.d/snmpd を確認してみると多分一行で書いてある必要があると思います。

これで強引に snmpd も動作するようになりました。後は外部から snmpwalk 叩いて mib を見れば良いと思います。

さてと。次回はいよいよ FreeBSD のインストールだぜー;-)。

1月 062013
 

新年明けましておめでとうございます。今年も宜しくお願いします。今年の第一回目です。

それにしてもほぼ一年前ですね。自宅のサーバを新調したのは。PRIMERGY MX130 S2 ですが CPU は 6Core 、 メモリは 16GB あったので FreeBSD をインストールして Jail を四個、 VirtualBox で FreeBSD 一個に Windows OS を走らせていたのですが、そろそろ VMWare ESXi にでもするかねぇ。と、思い立ち 2T の HDD を買ってきてマシン自体を仮想化することにしました。

いやね。Jail も良いんだけど、親 FreeBSD のバージョンや ports のバージョンを上げると Jail 子がそれに引っ張られて動作しなくなったりするのがイヤになってきて・・。レガシーな環境は Jail 向きではないな。と、痛感しているのと、 FreeBSD 上で VirtualBox 動かすなら VMware ESXi でも良いかー。となり。

今回新しく VMWare ESXi というカテゴリを作成したので今後、このネタがあるごとにこのエントリに追加して行きたいと思います。今回はその第一回目です。

正月休みの最初の日に 2TB の HDD と PQI の 4GB の USB メモリを買ってきました。僕の家にはデスクトップ用の PRIMERGY MX130 S2 と、サーバ用の PRIMERGY MX130 S2 の二台があるので、とりあえずデスクトップ用の HDD を引っこ抜いて 2TB の HDD を装着。でもって USB メモリを接続し 4GB の USB メモリに VMWare ESXi 5.1 をインストールしました。

VMWare ESXi 5.1 のインストールは簡単でサクっと USB メモリにインストールできます。BIOS でブートする順番を変更し USB メモリがブートするように設定すればいとも簡単に VMKernel が起動します。あとはネットワークの設定を行えばとりあえず準備完了。

続いて VMKernel にアクセスするための Windows アプリを他のマシンにインストールします。VMWare vSphere Client 5.1 をインストールします。

ちなみに、 VMWare ESXi 5.0 に VMWare vSphere Client 5.1 でアクセスすると VMWare vSphere Client 5.0 のクライアントを勝手にダウンロードして置き換えようとします。ESXi と Client は同一のバージョンである必要があります。
ってことは、 複数台の VMWare ESXi が動作していたとして 5.0 と 5.1 が混在する環境ではクライアントアプリ用に二台の Windows が必要になるという、恐ろしい状態になります。

「はまり道そのいち」ですかね。VMWare ESXi を複数台用意する場合には全て同じバージョンを利用することをお勧めします。

続いて「はまり道そのに」です。
VMWare vSphere Client 5.1 からいよいよ VMKernel にアクセスし、HDD の追加をします。 ESXi 自体は 4GB の USB からブートしているので新規の 2TB の HDD はまるまるデータストレージとして利用します。
なんか、ダウンロードした VMWare vSphere Client 5.1 はビルド番号によっては日本語環境ではストレージ追加時に「vSphere Clientで内部エラーが発生しました。詳細:入力文字列の形式が正しくありません。」と言われて追加できません。僕がダウンロードしたクライアントは VMware-viclient-all-5.1.0-786111.exe になるんですけども。 このビルド番号のバージョンでは日本語環境ではストレージが追加できません。

DOS のプロンプトからクライアントアプリケーションを起動してオプションに -locale en_US を付加して起動します。英語表示にすると無事に HDD を ESXi のストレージとして認識できるようになります。

ストレージが付いたところで第一回目はここまでにしておきましょうか。次回は 2TB のストレージに FreeBSD をインストールすることにしましょう;-)。

12月 292012
 

前回の「SkyDrive を FreeBSD に mount して使う。」のエントリでは SMEStorage 経由で SMEStorage 提供の smestorage コマンド (perl スクリプト) を利用して KDE4 のファイルマネージャである dolphin から SkyDrive を FreeBSD から見る。ということろまででした。

今回はその続編になります。それにしても fusefs ってのはなんか面白いというか不思議なファイルシステムですねぇ。イマイチ解りませんが・・f(^^;;。 /usr/ports/sysutils/ の下には fusefs-* というのがたくさんあるんですね。

で、今回は、まぁ、海外のとある会社の製品というかサービスについて書くことになってしまうのですが SMEStorage を GUI で利用します。でもって、その上で SkyDrive を利用してみます。

まず、ソースコードですが、前回ダウンロードしてきた rpm を展開すると usr/share/sme_install_pack/ というディレクトリの中にドドドと入っていたのでこれを make して利用してみます。通常であれば、ベンダとかサードパーティから提供されるコマンドやアプリケーションはバイナリ形式のものが多いのですが SMEStorage はソースコードを提供してくれています。嬉しいですね。早速試してみましょう。

今回は /usr/local/SME/ と、いうディレクトレにインストールすることにしてみます。ソースコードは /usr/local/src/SME/ に展開してコンパイルしています。

# mkdir /usr/local/SME/
# cp -pr usr/share/applications /usr/local/SME/
# cp -pr usr/share/pixmaps /usr/local/SME/
# cp -pr usr/share/smestorageclient  /usr/local/SME/
# cp usr/local/bin/smestorage /usr/local/bin/
#
$ mkdir /usr/local/src/SME
$ cp usr/share/sme_install_pack/* /usr/local/src/SME/
$ cd /usr/local/src/SME
$ unzip SMEExplorer.zip
$ unzip SMEStorageClient.zip
$ unzip SMESyncCenter.zip
$ rm *.zip

 
Fuse-0.09.zip と XML-Simple-2.18.zip は ports からインストールされていると思うので今回は必要ありません。
上記 unzip したファイルは QT ベースのソースコードになります。KDE4 がインストールされていて QT4 がフルセットインストールされている環境であれば簡単にコンパイルが通ります。 QT4 がインストールされていない人はもしかしたらコンパイルのために QT4 一式をインストールする必要があるかもしれません。

QT4 がインストールされているものとして、次のステップに行きます;-)。ソースコードは Linux のためにコードにコマンドパスなどがベタ書きしてあるのでそれを変更してコンパイルします。

$ cd /usr/local/src/SME/
$ foreach i ( */*.h )
foreach? sed s#usr/share#usr/local/SME# $i > FILE
foreach? /bin/mv FILE $i
foreach? end
$ foreach i ( */*.cpp )
foreach? sed s#usr/share#usr/local/SME# $i > FILE
foreach? /bin/mv FILE $i
foreach? end

 
上記は tcsh で foreach を利用して Linux 用のパスである usr/share を今回インストールする usr/local/SME に書き換えています。 tcsh でない人は別のコマンドを利用して一括変換してください。

続いてコンパイルします。ソースコードは QT4 ベースなので make には qmake-qt4 を利用します。

$ cd /usr/local/src/SME/SMEExplorer/
$ qmake-qt4 ; make
# cp smestorageexplorer /usr/local/bin/
$ cd ../SMEStorageClient
$ qmake-qt4 ; make
# cp SMEStorageClient /usr/local/bin/
$ cd ../SMESyncCenter
$ qmake-qt4 ; make
# cp SMESyncCenter /usr/local/bin/

 
QT4 ベースのアプリはコンパイルが楽チンですね。 qmake は そのディレクトリの .pro ファイルを参照して Makefile を生成します。あとは make すると c++ がコンパイルをガシガシしてくれて、ハイ完成。って状態にしてくれます。

これで、前回のエントリでインストールした smestorage と今回新たに三つのアプリケーションのインストールが完了しました。以下に今回インストールしたアプリケーションの説明をちょっと書いてみます。

・smestorageexplorer
これだけ小文字なのですが、ウェブブラウザでアクセスする SMEStorage のサイトをファイルマネージャみたいなヤツで閲覧するアプリケーションです。非常に良くできていて SkyDrive も閲覧可能です。

smestorageexplorer_1.png

・SMEStorageClient
fusefs を利用してクラウド上にある SMEStorage を自分の FreeBSD に mount_fusefs するアプリケーションです。マウント専用の GUI です。

SMEStorageClient_1.png

・SMESyncCenter
SMEStorageClient でローカルに mount_fusefs したクラウド上の情報をローカルのディスクと sync するアプリです。簡単に言うと Windows 版の SkyDrive アプリケーションと似ているでしょうか。

SMESyncCenter_1.png

さてさて。これらコマンドの使い方ですが、smestorageexplorer は単体で利用できます。このコマンドは fusefs を利用しないのでサクっと動作します。まぁ、ウェブブラウザで SkyDrive にアクセスするか、専用アプリで SMEStorage 経由で SkyDrive にアクセスするかの違いだと思います。

問題は SMEStorageClient と SMESyncCenter を組み合わせて利用する場合です。まず、 SMEStorageClient アプリケーションで SMEStorage を mount_fusefs します。今回のキャプチャの例では smestorage.com にログインして fusefs を利用して /data/SME/ にマウントします。が、これが中々うまくマウントできないんですよねぇ。以下のメッセージが出力します。

mount_fusefs: /dev/fuse0 on /data/SME: Operation not permitted
fuse: failed to mount file system: No error: 0
could not mount fuse filesystem!

 
なんでやねん? とか思うのですが、そもそも、それ以前に儀式が必要です。

# /usr/local/etc/rc.d/fusefs onestart
# sysctl vfs.usermount=1

 
/usr/local/etc/rc.d/fusefs を start するときは kldload fuse.ko してくれます。 stop するときは kldunload fuse.ko と fusefs をマウントしている場合にはそれをアンマウントしてくれます。
vfs.usermount=1 のほうはユーザランドでマウントが利用できるようになる systcl mib です。
あと、/data/SME/ ディレクトリは SMEStorageClient を実行するオーナでないとダメです。 chown で調整してあげましょう。

が、こいつらを設定してもダメなんですよねぇ・・。orz しょーがないのでコマンドラインで以下のコマンドを叩きました。あ。以下のコマンドを叩くときは上記のコマンド二つは実行済みの状態です。

$ mount_fusefs auto /data/SME allow_other
mount_fusefs: failed to exec fuse daemon: No such file or directory

 
なんかデーモンが “No such file or directory” とか言ってますが(fuse 用のデーモンは特に動作していない)上記のコマンドを叩いたあとに mount コマンドで確認してみると無事にマウントできていたりします。

この段階で SMEStorageClient を起動して [Mount] ボタンを押すと「既にマウントしているよ。」と言われます。そして、そのあと [File] メニューの [Sync Center] を押すと SMESyncCenter が起動します。「Sync するか?」と聞いてくるので [OK] を選択すると、バババと同期してくれます。おぉっ!!

あとは、自分の好きなように利用するのが良いかと思われます;-)。

と、いうことで二回に分けて書いた今回の、主に SMEStorage のお話ですが fusefs のことがまぁ、そこそこ書けたのではないかなぁ。などと一人思っていますが、それにしても奥が深いのであろうと思われます。

あ、ちなみに、 SMEStorage のソースコード一式は多分、ports の解る人が ports を作成すれば簡単に ports 化できるのではないかと思われます。関連性でどこまで QT4 が必要になるかは(僕の環境では一式入っているため)解りませんけどね;-)。

と、いうことで今年のエントリは多分これが最後になるかと思われます。皆さん良いお年をー;-)。

12月 202012
 

僕は SkyDrive の利用者なのですが、ことの発端は、Windows7 や OS X では SkyDrive がファイルマネージャから利用できるのに FreeBSD の (KDE の) ファイルマネージャでは見ることができないんかな?と、いうところから始まりました。

で、結論から先に書くと、多少問題はありますが /mnt 辺りにマウントできて、 ls とか打てば表示してくれます。でもってファイルマネージャ、例えば KDE4 の ファイルマネージャである dolphin から SkyDrive が参照することができてデスクトップにコピーとかもできるようになります。

では、その方法についてちょっと見て行きましょう;-)。

まずはじめに、僕は以前「SkyDrive をコッテリ使う。」というエントリを書きました。当時はまだ Microsoft から SkyDrive の App が出ていなかったので苦肉の策だったんですけどもね。最近は iOS や Android 用アプリ、上にも書いたデスクトップ用アプリがあるので簡単にアクセス可能になりました。

まぁ、 FreeBSD で利用するときはブラウザ経由で利用すればいーじゃん。と、いう話はあるのですが、どーせならネーテブに利用したい。ってんで、探してみるとその、上のリンク先のエントリに書いた SMEStorage ってのを利用すると mount することができることが解りました。

SMEStorage に付いてはリンク先のエントリを読んでください。で、スマートフォン用アプリが無い時代には SMEStorage を利用していたのですが、最近はすっかりとご無沙汰していたのであります。このサイトにログインすると Linux 用のクライアントが用意されているのでそれを利用してみることにしました。

SMEStorage のトップページはこちら http://storagemadeeasy.com/
その Linux 向けツールはこちら http://storagemadeeasy.com/LinuxDrive/

とりあえず CentOS 用の RPM をダウンロードして展開します。

$ rpm2cpio smestorage-3.0-16.noarch.rpm | cpio -id
$ cd usr/local/bin/
$ ls
smestorage
$ file smestorage
smestorage: a /usr/bin/perl -w script text executable

 
RPM を展開すると usr/local/bin/smestorage というのが現れます。 usr/share/ の下はとりあえず無視します。で、 smestorage というコマンドは perl のスクリプトなんですね。すげー。 Linux バイナリじゃないし。で、すかさず実行します;-)。が、perl の色々なモジュールが無いと言われるので ports からインストールしてあげます。ちょっと解らなかった ports は devel/p5-TimeDate ですかね。あとはサクっとインストールして完了です。

で、perl のモジュールが色々入ったので早速実行してみますが、あいや。 mount_fusefs ってなんだぁ? となります。 Fuse.pm をインストールした時に合わせて fusefs-kmod とか fusefs-libs がインストールされます。

fusefs ってのはファイルシステムの一種なのですが、僕は今回初めて知りました。以下の URL を参照して貰えれば一目瞭然でしょう;-)。

http://fuse.sourceforge.net/

ユーザ空間内で利用するためのファイルシステムだそうです。なんのこっちゃ?f(^^;;。

# kldload /usr/local/modules/fuse.ko
# ls -l /dev/fuse0
crw-rw----  1 root  operator    0, 118 Dec 28 22:45 /dev/fuse0

 
と、いうことで fuse.ko を kldload したらデバイスが一個生えてきました。こいつを利用して再度 smestorage を実行します。オプション無しで実行するとコマンドラインオプションが表示されます。

# ./smestorage
Usage: smestorage mountpoint user:password [providerUser:providerPassword] [--server=host] [--ao] [--DEBUG] [--ct=time]
Example:
smestorage /folder1 login1:password1 --server=eu.smestorage.com --ao --ct=30

 
第一パラメータにマウントポイントを指定します。そして login1:password1 は http://storagemadeeasy.com/ にアカウントを作成し、ログインするためのログイン名とパスワードを指定します。最初はこれだけでコマンドを実行します。

すると、あぁら不思議。と、いうか、あぁらすごい。 http://storagemadeeasy.com/ のウェブベースファイルマネージャで閲覧できる内容が /mnt に見えるようになりました。

# ./smestorage /mnt smeuser:smepasswd
# ls /mnt/
Image Thumbs/
My Quick Uploads/
My SkyDrive files (smestorage@live.jp)/
My Syncs/
My backups/
My contacts/
My iPhone Syncs/
My memos/
My voice memos/

 
SMEStorage のサービスで SkyDrive を利用していると “My SkyDrive files” というディレクトリができています。で、そこに cd して ls とか叩くと SkyDrive 上の内容が表示されるようになります。うひっ。

けど、多分純粋な SkyDrive の内容ではなく、SMEStorage がキャッシュした SkyDrive の内容だと思います。なので、更新とかしてあげないと最新の情報を SkyDrive と sync してくれないこもしれないです。まぁ、その辺りはある程度はしょーがいなですね。

そして、遅いかなー。まぁ、クラウド上のデータを ls するんだからそれなりに遅いですよね。それはまぁ、仕方のないことかな。

で、上記のコマンドオプションのみだと /mnt/ は root 権限でしか見ることができません。 smestorage コマンドのオプションに –ao ってのがあるので、このオプションを利用すると一般ユーザからでもアクセス可能になります。なので KDE4 の人は dolphin などでアクセスが可能になります。僕は LANG に UTF-8 を利用しているのですが、SkyDrive 上の日本語のフアイルも文字化けせずに利用することができます。

と、いうことで、これで SkyDrive の内容が自分の FreeBSD から直接アクセス(正確に言うと SMEStorage 経由の間接的なキャッシュ情報へのアクセス)できるようになりました。有る意味すごいですね。色々できそうな感じです;-)。

とわ言いつつ、基本的には SMEStorage のサービスというか機能に引っ張られての SkyDrive の利用なので、その点について、良いか悪いかはいまいち解りません。

今回は fusefs のお勉強がメイン。と言う感じでしょうか。あ。/mnt のアンマウントは umount /mnt で可能です。エラーが出ますが、多分アンマウントされていると思います。
それにしても smestorage コマンドが perl で書かれているので、僕はまだ中を覗いてないのですが、色々できそうですね。

 
このエントリ、続くか?;-)。

12月 182012
 

いやはや。今年の三月に購入して、その時点から「Android 4.0 対応予定です。」と言われていた MEDIAS LTE N-04D ですが、本日めでたくリリースされました。

早速、インストールしてみたので、簡単なインプレッションを書いてみたいと思います。

僕は会社のお昼休みに Andrid 4.0 が出たのを知ったので、お弁当を食べつつバージョンアップしました。NTT docomo のウェブなどには 30 分程度かかります。と、書かれていましたが、まぁ、そんな感じでしょうかね。

MEDIAS_LTE_N-04D_3_2.jpg

ダウンロードしてアップデートしてリブートしたら「さて、新しいバージョンが利用できるぞー。」とか思ったら、インストール済みのアプリのアップデートを行って、僕の場合は 137 個のアプリのアップデートを行ってこれまた時間がかかって・・。

あ、上の写真はアップデート中のヤツを iPhone5 で撮ったのですが、 99% と 100% の表示がやたらと長かったです。

で、ちゃんと使えるようになったので早速キャプチャしてみました。しかし「スクリーンキャプチャができるようになりました。」と書いてあってもその方法がどこにも書いてないので困ったものです。”取り扱い説明書アプリ” は最終更新が 2012/09 とかになっていてその方法書いてないし・・。orz。

MEDIAS_LTE_N-04D_3_1.jpg

ハードボタン押してたら撮れるようになりました。電源ボタン+音量下ボタンのちょっと長同時押しでキャプチャができるようになりました。

それにしてもスクリーンキャプチャの png の保存先がこれまた汚い。 /mnt/sdcard/Pictures/Screenshots/ に保存されます。素直に DCIM の下に保存してくれよー。と、いうのも、 Android 4.0 になって、Mac に USB で接続すると iPhoto で /DCIM/ の下のディレクトリにある写真は自動的に読み込んでくれで、 iPhoto から削除もできるようになったんですね。これは嬉しいんだけど、対応しているディレクトリは /DCIM/ だけなので・・。

と、いうことでいきなり、機能の一個についてこってり書いてしまいましたが、ここからは MEDIAS LTE N-04D + Android 4.0 の気づいた点について書いていきます。まださわりたてなのでなんとも言えない部分もあるとは思いますが・・。

1. バッテリ異様に食うね。
充電しつついじっていると充電されずにどんどんバッテリが減っていく。と、いう恐ろしい事態になっています。充電が追いつかないようです。あたたた。プロセスを色々 kill するんですが、それでもダメ。
極めつけは Android 2.3 のころにはちゃんと kill できていた全く利用していない Days と Topics アプリが、勝手に起動してくるようになってしまって kill してもまるで意味が無くなってしまった・・。orz。
あと、docomo のがあるので google のスケジュールアプリも要らないのに勝手に起動しているし。などなど、バッテリを食う要素がずいぶんと増えたような気がします。

MEDIAS LTE N-04D はバッテリ容量が小さいだけに、これは非常に痛い現象です。

2. 3G/LTE の電波が入りにくくなった?
これは個人的感想が大きいかもしれませんが、 LTE の電波はつかめなくなったような気がします。もしかしたらバッテリの消費量が多いのは LTE をつかみに行く機会が多いからなのかも。

3. 画面の動作はよくなったかも。
以前のバージョンだと画面の隅のほうにあるアプリをタップして起動しようとすると横の画面にスライドしてしまい、それがいらつく原因にもなっていたんだけど、そーいうのが無くなって、アプリがサクっと起動できるようになったような気がします。

また、キーボードでの文字入力もずいぶんとしやすくなりました。これは Android 2.3 から 4.0 へのバージョンアップによるものなのかな? その点は幸せになれました;-)。

4. メールがちゃんと動作する。
これは Android 4.0 になったからではなく、多分 docomo 謹製の CommuniCase なるメールアプリを使うようになったからでしょうかね。

Android 2.3 純正(SP-mode メールなので docomo 謹製か?)のメールアプリは写真を添付してメールを送るとひどいことになっていたのでね。マルチパートヘッダが無事に処理できるようになったということでしょうねぇ。

5. G-SHOCK との連携は OK。
まぁ、MEDIAS LTE N-04D は G-SHOCK GB-6900 と連携できないことにはお話にならないのですが、この機能は無事に動作しています;-)。

まぁ、今回は全部で五つ書いてみました。まださわりたてなので、本当にアレですが、とりあえずリリース日当日のファーストインプレッションとしてはこんな感じです。今後、他にも気がついた点が出て来たら書いてみたいと思います。

それにしても Android のスマートフォン買って二つの OS が楽しめるというのは最初から Android 4.0 が入っている端末に比べると二回楽しめるわけでして、何か得した気分になるのもまた事実なのであります。だだっ子はかわいいってか?;-P。

11月 112012
 

以前のエントリで「iPhone5 利用してみました。」ってのを書いて、その下のほうに iPhone5 に新しく付属するようになったイヤホンである EarPods について少し書きました。

その後、iPhone5 を持つようになって、ヘッドホンは EarPods を常時使うようになりました。だって圧倒的に音が良いんだもの。例えば解りやすい曲でいうと AKB48 の「Everyday、カチューシャ」なんかはイントロ部分を聞くとまるで別物か?って思えるほど今まで聞いていたイヤホンとは音が違う。「この音の後ろにこんなに色々な音が隠れていたんだー。」などと、今まで聞こえていなかった音がドドドと耳の中に入ってくるんですね。

まぁ、この辺りは僕の個人的な感覚である可能性は十分にあるんですけども;-)。

で、音的に中々すばらしいと思える EarPods ですが一つだけ難点があります。それは耳から外れやすい。ってことです。ランニングしながらとかダンスしながらなんて絶対に無理だよなぁ。と思えるほどポロポロと良く落ちます。

この状態をなんとかしたいなぁ。と思って、以下のようにしてみました。色違いなのはご愛敬。と、いうことで;-)。

IMG_3784_%20EarPods_1.jpg

以前の iPod とかに付いていたインナーイヤホンにはスポンジのカバーとかをつける風潮があったと思いますが、それを EarPods に強引に付けてみました;-)。

これが中々グーなのであります。耳からずれ落ちる確率が少なくなりました。と、いうか、自動的にずれ落ちるというのがほとんど皆無になりました。これは中々良いですね。

ただ、スポンジをまいた分だけ耳の奥のほうに届かなくなる感が出て来ますが、僕的には許容の範囲内だと思っております。

密かに考えた一番良い方法ですが、養生テープみたいなのでシールを作ってそれが肌との摩擦になるヤツかなぁ。などと思っています。「EarPods に貼るずれ落ちないシール」なんてのが多分、今後出てくるんでは無いかなぁ。と、思っているのでありますが;-)。自分で作って一儲けするかぁ;-)。

最後にですが、この間、新宿西口ヨドバシカメラの 4F に行った(このフロアはオーディオのフロアです)のですが、なんとレジの前のワゴンの中に EarPods が大量に入って売られていました。もちろん定価で。オーディオフロアの一番良いところで大量に売られているんだから、今後はバババと流行っていくのかなぁ?などと思った次第です。

そー考えるとずり落ち対策ってのは今後どんどん出てくる予感がします;-)。