Windows」タグアーカイブ

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は細かく仕様が異なる部分がありますので、
必要な方は是非。

Windows で GNU Tools を使う。 GnuWin32

どうも。みむらです。

Linux OS を使ってますと、
Windows に戻ってきたときにどうしても GNU さんのコマンドが使いたくなります。

image

そうして泣き寝入りする。

どうしても使いたい。
そのときには、代表的な物で Cygwin と Interix 社の互換環境(Ultimate or Enterprise) を用いる方法があります。

ただこの二つ、

Cygwin :
GNU 系のプログラムが全部入れられ、UNIX用プログラムの大半がビルド出来る。
ただ、すべてのプログラムが cygwin1.dll にリンクしておりちょっと気持ち悪い。専用のシェルから使う。
インストールが大がかりで、削除も面倒。

Interix :
UNIX 互換環境を提供する。
インストールが大がかりなのと、UNIX 互換なので GNU の感覚で叩けないことも。

という問題点があります。

そこで、今回紹介する GnuWin32 を使うと、

1.Win32 ネイティブアプリケーションでビルドされている。
2.GNU Tools のみがインストールされて、パスを通せばコマンドプロンプト で使える。

という利点があります。

私にぴったり。ということで、メモもかねて記事を書きたいと思います。

今回のツール。説明やウェブサイトは英語ですが、
下の画像のように、インストールされるファイルは日本語版ですので、英語が苦手の方でも使えます。

無題


1.プログラムダウンロード

Automated gnuwin32 download tool Download Automated gnuwin32 download tool software for free
このウェブサイトにアクセスし、

image

左側にある「Download」をクリックし、ファイルをダウンロードします。
ダウンロードするファイルは、デスクトップにでも保存すると後の作業が楽だと思います。


2.ファイル解凍

image 保存先にこの「ヌー」の絵が描かれた実行ファイルがあるかと思います。
(ちなみに、 GNU は GNU is Not Unix の略ですが、ヌーという動物も同じスペルをとっています。)

image

この画面では画面下の 「Accept」 を。

image

この画面では、画面下の「Install」を。

なお、この処理では、インストールと書かれてはいますが、
一般に言われる「インストール」は行われず、作業ファイルを展開するだけです。

変に Program Files などに展開すると、面倒な事になりますのでやめましょう。


3.Download.bat の編集 および 実行

そのまま実行してもいいのですが、ミラーサーバが国内になっていないので、時間がかなりかかります。
ここでは、ダウンロード先を設定し直して、処理を進めます。

image

フォルダ内にある、「download.bat」 を右クリックし 「編集」 を選びます。

image

メモ帳が立ち上がりますので、158 行目に移動。

if .%GNUWIN32_MIRROR%==. set GNUWIN32_MIRROR=iweb voxel

if .%GNUWIN32_MIRROR%==. set GNUWIN32_MIRROR=jaist

に変更します。 (iweb voxel を jaist に変更。

これでダウンロード先が、 JAIST (北陸先端科学技術大学院大学 [JAIST]) に変更されます。

変更が終わりましたら、保存して、メモ帳は閉じて頂き、

image

改めて、download.bat を実行します。

image
あとは気長に完了まで待ちます。


4.インストール

ここでインストールとなります。

Windows キー + R キー を押して、「ファイル名を指定して実行」を表示します。

image

そこのウィンドウに install.bat をドラッグ & ドロップします。

image

上記のようにファイルパスが入力されますので、
末尾に「C:\GnuWin32」 と入力します。 (インストール先フォルダになります。)

image

入力が終わりましたら、OK ボタンを押して、作業を行います。

なお、

上の作業について、Windows Vista もしくは Windows 7 ですと、
GetGnuWin32 のフォルダを Shift キーを押しながら 右クリック しますと、

image

「コマンド ウィンドウをここで開く」 というメニューが出ますので、それを選ぶと、
そのフォルダをカレントディレクトリとしたコマンドプロンプトが立ち上がります。

image

そこで、上記のように入力しても同一の事が可能です。

途中、

image

このような事を聞かれますが、入れても問題ないと思われます。


5.パスの設定

最終ステップです。

image
要は、ここの Optional にあることをするだけです。

スタート を開き、 コンピュータを右クリックプロパティを選ぶ。

image

その後、「システムの詳細設定」を選ぶ。

image

「システムのプロパティ」の 詳細設定 タブの中の 環境変数 を選ぶ。

image

開いたウィンドウのうち、「システム環境変数」より「Path」を探して選択編集をクリックします。

image

開いたウィンドウの「変数値」の末尾に

;C:\GnuWin32\bin

と入力します。 (必ずパスとパスをセミコロンで区切る!)

image

入力が終わりましたら、 OK を押していって閉じて構いません。

ここまで完了すれば、次に起動したプログラムから、
image

GNU Tools が利用可能となります。