SFU/SUA Windows環境の強化
Interix / Gentoo Prefix / NetBSD pkgsrc/ Debian Interix Port の情報

[ Linux / Unix リファレンスガイド ] ⇒ [ Interix SFU/SUA ] ⇒ [ SFU/SUA Windows環境の強化 ]


SFU/SUA Windows環境の強化


Windows Services for Unix や Subsystem Unix-Based Apprications をインストールすることにより、Microsoft純正のUnix環境が構築され、Unixシェルを使えるようになったり、sed awk perl cron inetd など豊富なUnixのコマンドやツールが利用でき便利になりますが、SFU・SUAの魅力はこれだけではありません。実はSFU・SUAをインストールすることにより、Windows 環境も強化されます。

ほぼ同じ仮想マシンのクローンでSFUのインストール前後を比較してみました。本ページでは環境変数の変更と追加、つまりインストール前後の差異について記述します。環境変数の一覧については参考情報として
WindowsXP SP3 + SFU3.5 の環境変数 に記述しておくこととします。

SFUインストール時に追加された環境変数
DISPLAY=localhost:0.0
EDITOR=vi
INTERIX_ROOT=/dev/fs/C/SFU/
INTERIX_ROOT_WIN=C:\SFU\
LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib
OPENNT_ROOT=/dev/fs/C/SFU/
SFUDIR=C:\SFU\
SFUDIR_INTERIX=/dev/fs/C/SFU/
XAPPLRESDIR=/usr/X11R6/lib/X11/app-defaults
XCMSDB=/usr/X11R6/lib/X11/Xcms.txt
XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
XNLSPATH=/usr/X11R6/lib/X11/locale
asl.log=Destination=file
※インストール時の選択やオプションにより、セットされる変数の数、パラメータやパスが変わる場合もあります。

Unix OSでよく見かける環境変数に加え、Initerix、SFU向けの変数もSETされています。OPENNT_ROOTと言う変数がありますが、これは Services for Unix / Subsystem Unix-Based Apprications の全身である OPEN NT と言う製品に由来する変数名です。この新しく追加された環境変数はこういうものがあるのだなとさらっと確認程度で良いかと思います。

そして、次はSFUインストールに伴い、修正された環境変数です。

SFUインストール時に変更された環境変数
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\SFU\common\

変数Pathはコマンドが置かれたフォルダが書かれた環境変数で、コマンドサーチパスとも呼ばれます。コマンドプロンプトからコマンドを入力した場合、前に書かれたフォルダから検索して、見つかればそのコマンドを実行します。同名のコマンドが異なったフォルダに複数存在する場合は、前に書かれたフォルダほど優先的に呼び出されます。

このPathに C:\SFU\common\ と言うフォルダが追加されています。詳細は別のページに記載しますが、このフォルダには ls.exe や grep.exe と言う見馴れた名前のファイルに拡張子 .exe が付けられたものがインストールされています。 ここが今回のSFUインストールに伴うWindows側の変更のミソとなりますが、SFUをインストールすると、Windows用に移植・ビルドされたUnixツール(MKS Toolkit)がインストールされるのです。

Windows上でネイティブUnix環境を利用しない、NFSやパスワード同期など要らないという人でも、Windows ServerやデスクトップのWindowsのコマンドラインが強化されますので、Windowsのバッチを書いたり、コマンドラインを利用する方にはSFU・SUAを入れるメリットがあると言えます。具体的にどういうバイナリが提供されているかは
Windows用にビルドされたUnixツール で記述したいと思います。