GNU系ツールもばっちり使える、Windows の UNIX 互換環境を試してみる。


最近 UNIX に恋し始めているので、 SUA という Microsoft が公式に提供している UNIX 互換環境を試してみました。

Windows の SUA とはどんなモンなのか、前に少し試したんですが、使いづらいイメージしか無かったので、
手元の環境が Ultimate になったいま、本当にそうなのか試してみたいと思います。

結論から言うと、結構面白い環境。でした。

なお、
SUAを有効にするためには、Windows 7 or Windows Vista の Ultimate が必要です。

ブログでは Windows 7 Ultimate を元に説明します。

image
入れると、Windows 上で Bash を立ち上げて、UNIX コマンドを打って動かしたり、

image
Windows の cmd で提供されているコマンドを叩いて動かすことも出来ます。

勿論 bash ですんで、補完機能やキーボードショートカットはばっちりで、
image
コマンドに対して補完掛けたりとかが可能です。


1.有効にするには。

image
プログラムのアンインストールを選択。

image
Windows の機能の有効化または無効化を選択。

image
UNIXベース アプリケーション用サブシステム を有効にして、「OK」をクリック。

image
スタートメニューを開き、すべてのプログラム内にある、
「UNIXベース アプリケーション用サブシステム」 をクリック。

ウェブサイトが開くので、
「Continue」、「No, I do not want…」を選んで「Continue」を押し、
image
表示されたページから、64bit であれば amd64、32bit であれば x86 版をダウンロードします。

1.5 セットアップ

image Next をクリック

image Add or remove を選択。

image
上の矢印の部分をクリックしてメニューを表示させ、「Entire feature」をクリックし、全部を有効にする。

image Next をクリック

imageNext をクリック

あとは、「Install」を押し、画面に従い完了させます。


2.拡張パックのインストール

今のSUA の状態ですと、純粋な UNIX で、GNU なソフトウェアは一切入っていない状態です。
結構 Linux 使っている方ですと、それが無いととてつもなく使いづらいかとおもいます。

そういえば、
このSUA は Microsoft が開発したものではなくて、Interix 社というところが作ったようで。
Interix 社のウェブサイトに追加パックとして、GNU系のソフトウェアをわんさか入れてくれるソフトが転がってます。

これを入れると、wget や vim といった超基本的な物から、
Python や PHP や Perl や Apache や GCC や、何でもかんでもわんさか入ります。

まさに Windows 上で動く UNIX ってところでしょうか。
cygwin でもいいって声が聞こえてきそうですが、パッケージ管理もあって、自由に削除、追加、アップデートが出来たり、
Microsoft がサポートしているので、OS との関係性も良さそうですし。環境を取り除くのも楽ですし。ってことで。

1.下記ウェブサイトにアクセスします。
SUA Community Microsoft Windows Subsystem for Unix-based Applications, Interix and SFU
(http://www.suacommunity.com/SUA.aspx)

image
ウェブサイト下部にある、「Complete Toolset」をダウンロードします。

なおここでは、64bit 環境の場合は上と下、両方を。
32bit 環境の場合は、上だけダウンロードします。

また、ダウンロード時は、ドライブ直下にファイルを置かないと誤作動の原因となるので、
注意して下さい。

2.コマンドプロンプトを「管理者」として立ち上げて、インストール。
image

image
立ち上がりましたら、

image
対象ドライブの変更を行った後、 cd コマンドを用いて、ドライブ直下のダウンロードされた場所に移動します。

image
(私の場合は Z ドライブにダウンロードしました。)

その後、ファイル名を打って実行させます。
(「pkg」と打って、TAB キーを押して補完させると便利。)

この際、64bit 環境の方は、
「pkg-current-bundlecomplete60x64.exe」を先に実行し、
その後、
「pkg-current-bundlecomplete60.exe」を実行すると良いかと思います。

すべて完了しますと、インストールは完了です。


追記事項。

先ほども述べましたように、これ、パッケージ管理機能が付いてます。
中身はUNIX のエミュレーションですので、
pkg_update や pkg_add などを使います。

搭載コマンドのリファレンスについては、
http://freebsd4-jman.kandk.co.jp/
このあたりを見ておくといいかと思います。

よく使うと思われますが、
「apt-get update; apt-get upgrade」 or 「yum update」と同様のことをするのは、
「pkg_update -a」で実行可能です。

ただ、リポジトリが新しくなっているのか微妙ですが、エミュレーションの面から FreeBSD や NetBSDなどの
リポジトリが使えるんじゃないかとにらんでます。

また、Cコンパイラに関して、
先ほどのパッケージを入れると gcc が入りますが、それ以外にも、
C89_COMPILER やそれに付随する変数を設定すると、
cc コマンドで Visual Studio のコンパイラがコールできるようになります。

gcc が入っているので、なんだかなーとは思いますが、Cは細かく仕様が異なる部分がありますので、
必要な方は是非。


 

関連記事