レビュー:Windows Services for Unix 3.0

Microsoftが自社のLinuxディストリビューションを発表するのはまだまだ先の話かもしれないが、POSIXファンに訴えかけるMicrosoft製品はすでにある。それがWindows Services for Unix 3.0だ。SFUは、組織のシステムをUnixからWindowsに移行するのを手助けする移行ツールだが、同じ組織内でUnixとWindowsの両方を使用する場合にも便利なツールだ。

SFUはWindows上でUnix環境をエミュレートする。用意されているユーティリティは300以上で、その中のソフトウェア開発キットは、2000近いUnixのAPI、いくつかのGNUツール(gcc、g++、g77コンパイラなど)、数多くのPOSIX-2互換ユーティリティ、スクリプト用ツール(awk、sed、perl、Tcl/Tk)、そして2つのシェル(CシェルとKornシェル。残念ながらbashは含まれない)をサポートするということだ。PerlのActiveStateバージョンもオプションとして含まれている。

これらに加えてSFUには、Unixライクないくつかのサービスが、Microsoftテクノロジを使って実装されている。NFSは、クライアント、サーバ、ゲートウェイとしてサポートされている。NISのパスワードはMD5暗号化をサポートしており、Microsoftパスワードと同期される。SFUはさらに、IPv6 telnetクライアント/サーバおよびsendmailもサポートしている。

テスト

SFUには明らかなメリットがいくつかある。1つは、NFSをゲートウェイ・モードで実行するオプションだ。これは、異機種コンピューティング環境で有用だ。SMBクライアントは、このゲートウェイによって、NFSが用意した各ディレクトリにアクセスすることができる。何らかの理由から、Unixマシン上のこのようなリソースを提供するのにSambaを利用できない場合は、SFUゲートウェイを利用すれば、Windowsマシンが簡単にNFS共有にアクセスできるようになる。

同様に、マシン上で実際にNFSクライアントおよびサーバを実行できるという点も、WindowsマシンとUnixマシンを一体化させるのに役立つ。なお、NFSサーバとNFSゲートウェイのどちらでもインストールできるが、同じマシンに両方をインストールすることはできないことに注意してほしい。

SFUには、Active Directoryを利用するNISが用意されている。つまり、すべてのネットワーク・サービスの認証が1つのサービスで制御できるのだ。さらにSFUは、ユーザ名のマッピングも提供しており、特定のWindowsドメイン・ログインを、特定のUnixユーザ名と同等に扱うことができる。この機能は、このようなユーザ名同士の関係をWindowsマシンで扱わなければならない場合に便利だ。

もう1つSFUで注目に値するのが、シェル機能だ。メニュー・エントリによって、Kornシェルのウィンドウを開始するのが非常に簡単だ。エントリをクリックすれば、Unixのxtermとよく似た環境が立ち上がる。

UnixよりもLinuxに親しみがある諸兄は、コマンドライン・ユーティリティの引数がLinuxのものと完全には対応していない点に不満を覚えるかもしれない。たとえば、ディスク領域を見やすく表示するdf -hは、SFUでは利用できない。SFUはコマンドライン・ユーティリティに関してはIEEE 1003.2-1992標準への準拠を謳っている。多くのLinuxディストリビューションに含まれているGNU版のユーティリティは、SFUには用意されていない追加機能を備えている。SFUのユーティリティは、何年も前のDigital Unixのものを彷彿とさせる。

私が個人的に不満に思うのは、bashシェルが含まれていないことだ。bashは、矢印キーを使ったコマンドライン編集と、Tabキーを使ったコマンドの補完ができるようあらかじめ構成されている。Kornシェルはこれらの機能を持たないので、私には古臭く感じられるが、Kornシェルのファンなら使いやすいはずだ。

リモート・アクセスに関しては、SFUにはtelnetrshftpの3つのコマンドが用意されている。これは皮肉だ。なぜなら、ほとんどのLinuxディストリビューションではtelnetrshは使用せず、代わりにsshを使うよう推奨されているからだ。このように、SFUソリューションは最先端とは言えないが、問題なく動作する。

インストールの注意点

手近にあるWindows PCにSFUをインストールしようと考える前に覚えておいてほしいのは、これがサーバ向けの製品だということだ。Linuxユーザは、「サーバ」とは単なる構成の違いだと考えている場合が多い。確かに、Linuxならば初期のPentiumと48MBのメモリでもサーバを構築できるが、Microsoftの世界では、「サーバ」と言えばそれなりに値の張る製品を指すのだ。

Windows ServicesをUnixにインストールするには、適切なWindowsサーバOS(Windows NT Workstation、Server 4.0(Service Pack 6a)、Windows 2000 Professional/Server、Windows XP Professional、Windows Server 2003のいずれか)を実行しているマシンが必要だ。Windows XP Homeや、DOSベースのレガシーなWindows(9x/ME)は使用できない。ここではWindows Server 2003を使用した。

ソフトウェアのインストールは簡単で、何の問題も起きなかった。いくつかのボックスをクリックしてEULAを承諾すれば、インストールされる。もちろん、必要なものがすべてインストールされているかどうかは確認する必要がある。デフォルトのインストールを実行してみて、GNUのgcc、g++、そしてg77コンパイラがインストールされていないことにすぐ気が付いた。私はこれらを後から追加したが、クリックスルーのソフトウェア・ライセンスを得意とするMicrosoftが、GNUライセンスについては同じような方法を採っていないのは興味深い。おなじみのクリックスルー方式のライセンス(Microsoft自身のライセンスやActiveStateのActivePerlに対して採用されているもの)の代わりに、このライブラリがLGPLによって保護されていることと、ソフトウェアを利用する前にCDに収録されたライセンスを一読するべきであることを表示する画面が表示される。

インストールされなかったソフトウェアをSFUから追加したら、システムを再起動して変更を反映させる必要がある。これがサーバの動作に必要なソフトウェアである場合はこのようなことになっては困るので、インストールを開始する際には、サーバを動作させるのに必要なものがすべて揃っているか必ず確認してほしい。

SFUの評価キットにはトレーニングCDが付属していたが、Windows 2003マシンでは正しく動作しなかった。最初のレッスンはきちんと再生されたが、それ以降はどうしても再生できなかった。私は結局、CDをWindows MEマシンで再生してトレーニング・ビデオを見たが、なかなか有用なものであった。

UnixおよびLinuxユーザが忘れがちなのは、X Window Systemサーバの存在だ。クライアントはSFUから提供されるが、サーバは提供されない。サード・パーティ製品を利用すればこの機能を補うことができる。

SFUには300以上のユーティリティが含まれているのだが、SFUを利用していて、使いたいコマンドがないということがたびたびある。私が気に入っているwfreeifconfigなどはどこを探しても見つからない。

試す価値あり?

SFUは、Unixユーザの移行ツールとしてはよくできているが、そのPOSIXスタイルのユーティリティは、多くのLinuxディストリビューションに含まれるGNUやBSDのユーティリティに遠く及ばない。したがって、組織でLinuxからWindowsへの移行を行う場合には、だまされたような感覚を覚えるかもしれない。しかし、経験豊富なUnix管理者ならば、Unixシェルやスクリプト用ツールの存在を、Windowsにおける大きな進歩と捉えるかもしれない。

2システム間の移行ではなく、異機種の共存という目的で利用するなら、SFUのNFS機能、そしてそのNISのクロス・プラットフォーム認証をActive Directoryの1点から管理できることが大きなメリットとなるだろう。Linux/UnixとWindowsの二刀流であることが求められる場合は、これらの機能が管理の煩雑さを解消してくれるだろう。

Russell Pavlicekは、ビジネスでのLinuxの利用を専門に扱うコンサルタント、そしてライターである。週1回のWeb番組『The Linux Show』のパネリストであり、多くのLinux関連Webサイトに協力している。かつては『InfoWorld』誌でオープンソースに関する記事を執筆していた。