VMWareやVirtualPCのような仮想ソフト上にOSをインストールし、それをネットワークでつながっているが如くの操作が可能である。

仮想化することでサーバー資源を有効活用したりするケースもあるが、私の場合はそのOSで遊ぶくらいにしか使っていなかった。今回、「展示会にデモマシンを持ち込むにあたり、サーバーを持っていくのは大変なので仮想上にゲストOSを構築し、ホストOSから操作したい」という話があり、環境構築を手伝うことになった。

【用語】

 ホストOS:仮想ソフトをインストールするマシン上で動いているOS。私の場合はWindows XPである。

 ゲストOS:仮想ソフト上で動くOS。今回はRedHat系のCentOSを使う。

 

仮想ソフトは使ったことのある VMWare の Server2 を使うことにした。昨年無償になったもので、VMWare Player よりは個人的に使いやすいと思う。

インストール関連は省略する。

 

さて、接続方法がいくつかある。

・Bridged

・NAT

・Host-only

・Custom

 

Customは省く。

NATはホストOS/ゲストOSでIPアドレスを共有する。ゲストからインターネット接続するくらいならこれでいいが、ホスト/ゲスト間の通信をするようなシロモノではない。

Host-onlyはホストOSとの通信のみ。これでもいいが、もしかすると別のPCからも繋いで試してみてい、という要望もあるかもしれない。よって、今回はBridgedを選択した。

 

設定はそう難しくない。DHCPでアドレスを自動で割り振っているならそれに従うことも可能である。だが、サーバーでアドレスの自動負荷はないだろう。DHCPで割り振られるアドレスの範囲を決めれば、その範囲外のアドレスは固定付与できるので、そのようにした。ゲストOS側でそのように設定して、終了。

 

が、設定は間違いないはずなのにネットワークを認識しない。ホストOSからゲストOSへのping/ゲストOSからルーターへのping、共に通らない。しばらく格闘したが出口が見えず。

VM Ware を終了させ、いったん別の作業をしてからゲストOSを起動させると「更新があります」というポップアップが出た。これが出るということは、インターネットサイトに接続し、更新情報を取得したからである。上記で試したpingをまた試してみるとOKであった。

つまり、ゲストOSの再起動が必要だった(たぶんVMWare自体の再起動はいらないかと)らしい。私だけの事象かもしれないが、こういうことでハマるとは・・。

 

ソースコード管理ツールとして、CVSやサブバージョンが有名だろう。マイクロソフトもVSSを出している。


ちなみに、MS Office に於いてはDeveloper Edition で 2000とXP(2002)はVSSの利用ができた。2003ではツールは提供されていなかったが、2002用のアドインを突っ込めば使えた。


 


ソースコードを適切に管理してくれる、という意味では便利なのだが、バイナリ形式で保存されているため、トラブルがあったときに非常に困るのだ。


で、Javaのソースなんかは自作のソース管理ツールを使ったりしていた訳だが、勿論テキストベース。履歴も全て確保する。ただ、一致しているか否かはできても、どこに差違があるかという機能はないので、そこは外部のDIFFツールなどで確認をする。


 


あまり深く考えていなかったが、どうしてテキストベースのソースコード管理ツールがないのだろう?平文だとコピーされてそのまま持ち出される、ということもあるのだろうか?


個人ユースでソース管理をしたい場合、テキストベースで十分であるように思うのだが・・。


 


古い(性能の悪い)パソコンから新しい(性能の良い)パソコンに、LAN接続してデータコピーをする場合、コピーコマンドの実行は、どちらのパソコンで行うと速いのか?それとも変わらないのか?


 


実際行っていると、古い方で実行するとすぐにCPUが100%になり遅い。が、新しい方で実行するとCPU余裕があり処理が詰まるようなことはない。コア数の差もあるのだろうけれど、新しいマシンでの実行の方が速いようだ。