気の向くままに辿るIT/ICT/IoT
UNIX/Linux

Cygwin

ホーム前へ次へ
Cygwinとは?

Cygwin UNIX/Linux風コンパイル環境

Cygwinとは

 Cygwinは、http://www.cygwin.com/が開発・配布元であるWindows環境でUNIX/Linux/BSD風のコンパイル環境を利用できるフリーソフトウェアです。

 なんとCygwinは、異なるUNIX環境の共通API策定のための規格であるPOSIXに準拠しているマシンの擬似的な環境を構築するソフトウェアで、それらの環境のソースコードもさほど変更することなくWindowsにインストールしたCygwinでコンパイルすることが可能と言われています。

 ほぼ全く違和感はなく、Windowsマシンであることをすっかり忘れてUNIX/Linux環境に浸ることができ、後述のcygtermを利用すると尚更です。

 ただ、選択や併用の余地があるなら、Windows上のアプリケーション(.exe)としてLinuxを起動できるcoLinuxもありますし、マルチブートやBIOS非対応のメディア含め、ブータブルメディアからブートする方法や仮想マシン上でゲストOSとしてLinuxやPC-UNIXをインストールして利用するといった方法も一考の価値が十二分にあります。

 インストール後はCygwinも便利ですが、これらの方法なら、Linuxそのもの、もしくは、ほぼLinuxそのままでありながら、インストール時間、日本語対応など含めると、むしろCygwinよりも遥かに容易に使い始められます。

読んだら絶対得する・読まなきゃ損する!?Cygwin初回インストール時の注意書き

 CygwinをインストールするならCygwinのサイトからsetup.exeをダウンロードしてからローカルでセットアップすることを超ウルトラスーパー思いっきりものすごく目一杯全力だと疲れるからちょっと力抜くけどお勧めします。

 Cygwinのインストールはネットを介して行うこともできますが、(光だから大丈夫!と思うでしょ?でも特に)全てインストールする場合には、ADSLや光回線でも最低でも1~2時間、いやいや数時間は覚悟した方がよいと思います。

 仮にたとえ同じ数時間でも数分~数十分でsetup.exeをダウンロードして、ローカルでのインストールに多少の時間がかかる方がよっぽどよいと思いますが、実際にはこの場合なら、1時間前後でインストールまで完了すると思います。

 Cygwinのsetup.exeは、機能ごとのインストール/アンインストールなどに利用する場合があるのでインストールが終わっても削除しないようにしましょう(フルインストールしたとしても実際にはインストールされていないなんてことも起こり得ます)。

 Cygwinのサイトでダウンロードページに行くと、おそらく

 Install from Internet 
(downloaded files will be kept for future re-use)

 Download Without Installing 

 Install from Local Directory 

といったメッセージが表示されると思いますが、インストールしないでsetup.exeだけをダウンロードするには[Download Without Installing]を選択します。

 尚、これはsetup.exe起動時にも表示されるメニューで[Install from Local Directory]はローカルからsetup.exeを起動してインストール、[Install from Internet]はインターネットからインストールする場合に選択します。

 setup.exe起動後のメニューを進めていくとCygwinの機能はとても多くのミラーサイトからダウンロードできることがわかりますが、ダウンロードサイトを追加することもできるので、一度インストールした後、日本語環境関連や新たにアップされたものなど万一ローカル環境にない機能が必要な場合などでは、ネット経由のダウンロードも短時間で済むので[Install from Internet]もあなどれません。

Cygwinのインストール

 さてダウンロードが終わったら、

 setup.exe 

を起動(ダブルクリック)します。

 注意書きを読んだ人には記憶に新しいあの見慣れた例の選択メニュー画面

 Install from Internet 
(downloaded files will be kept for future re-use)

 Download Without Installing 

 Install from Local Directory 

が出てきますから、注意書きを読んで納得した人なら躊躇することなく何の不思議もなく迷わず(こういう調子だと文面が長くなりそうなのでこの辺で普通に)

 Install from Local Directory 

を選択し、[次へ]とか[next]ボタンをクリックします。

 次の画面では、Cygwinのルートディレクトリのデフォルト表示と[All Users/Just Me]を選択するラジオボタンが

 Cygwin Path :   

 

chooseAll Users
Just Me
 

のように表示されていると思われますが、パスは特に変更する必要がなければそのままでよいでしょう(状況が許せばCygwin専用にパーテーションをきってディスクの領域を確保するとアンインストール含め何かと楽という話も)。

 [All Users/Just Me]の選択肢はどちらかを選択するわけですが、例えば複数のCygwinを集中管理する場合はAll Users、今使ってるWindowsマシンが自分のならどっちでも好みで、そうじゃないなら持ち主や管理者に聞いて決め、決めたら[次へ]ボタンをクリックします。

 次の[Local Package Directory]は、パッケージを保存しておくディレクトリを指定、または、そのまま[次へ]ボタンをクリック(変更した場合でも次回起動時には覚えてくれます、ダウンロードしたパッケージの各種コマンド類の圧縮ファイルの他、Cygwin構成設定ファイルやセットアップログも置かれます)。

 次の画面では、特にProxyの設定をしていない・(管理者などに)されていない限りは、[Direct Connection]が選択された状態で[次へ]ボタンをクリック。

 ほんの一瞬インストール始まっちゃったの!?っていう不思議な挙動を示しますが、ダウンロードサイト選択の画面に落ち着きますから、近所っぽいところや必要なサイトが分かっている場合はそこを選択すればOK、追加するサイトが分かっている場合には下段の[User URL:]のテキストボックスにアドレスを入力して[Add]ボタンをクリックすれば追加も可能です。

 [次へ]ボタンをクリックすると[Select Packages]とパッケージを選択する画面になりますから

 ・パッケージの種別は、初回はデフォルトの[Curr]のままでよいと思いますが必要なら変更 

 ・更にパッケージの一覧で[ALL]、または、個別のパッケージ横の矢印がクルっと回ったマークをクリックして[Install]や[各パッケージのバージョン番号]にします。 

 ・下部の四角いチェックボックスは古いパッケージやもう使わないだろうパッケージを隠す指定ですから特に興味がない限りチェックしたままでOK 

 ちなみに、

 

Keep Prev Curr Exp        
 

 ・[Keep](Keep/更新しない・状態維持) 

 ・[Prev](Prevail/旧バージョン) 

 ・[Curr](Current/現行バージョン) 

 ・[Exp](たぶんExpress/プレリリース・開発版) 

という意味で、その横の[view]ボタンは押すたびにボタンの右横にある文字列内容が切り替わり、パッケージ一覧、ペンディング、インストール指定されてない一覧、インストールされない一覧のような意味合いの英語メッセージがでます。

 カテゴリやパッケージの一覧横の矢印がクルっと回った更新マークをクリックするとDefault/Install/Reinstall/Skip/Keepなどに切り替わります。

 [Default] :既定(Cygwin初期設定のまま) 

 [Install] :インストール 

 [Reinstall] :再インストール 

 [Skip] :スキップ(インストールしない) 

 [Keep] :インストール済みバージョンを使用(するからインストールしない) 

 [Default]は、Cygwinの初期設定でインストール指定されている個々のパッケージ、コマンド(他は基本的にSkip、該当するInstallになっているものだけ)をインストールする際に選択。

 [Skip]はインストールしないカテゴリ、パッケージ、コマンドがある場合に選択。

 [Install]は、Cygwinインストール初回または、パッケージ追加インストールにおいてインストールされていないカテゴリ、パッケージやコマンド、または、アップデート版のあるパッケージやコマンドをインストールする際に選択。

 [Keep]はアップデート版の有無に関わらず既存パッケージまたは既存コマンドを維持する場合に選択。

 [Reinstall]は、既存カテゴリ、既存パッケージまたは既存コマンドのバージョンアップはないが、改めてインストールする際に選択。

 ここで[次へ]ボタンをクリックするといよいよインストールが始まり、あとは終わるのを待ちますが、確か初回は何度か選択や確認画面が出た気がするので完全に放置しない方がいいと思います。

 また、これはCygwinに限ったことではないですが、インターネット経由の時間のかかるダウンロードの場合には、念のため一時的にスクリーンセーバーもオフにしておいた方がよいかもしれません。

Cygwinのインストール後の設定

 Cygwinインストール後、Cygwinのインストールフォルダが例えば既定のc:¥cygwinである場合、c:ドライブにアクセスする際、まるで上位ディレクトリ(ルートディレクトリ)にcygdriveというディレクトリがあるかのように/cygdrive/cとする必要があり(cd / でルートに移動すると /cygdrive になり)ますが、ルートを(本来のWindows上で既定のファイルシステムがあるc:ドライブとしてCygwinをインストールした)cygwinフォルダとするにはmountコマンドに-cオプションを渡してルートを指定します。

$ mount -c / 

 また、Cygwinの日本語対応が必要な場合には、日本語環境対応する為の日本語対応パッケージがあれば、そのインストールとシステムやshell共通の環境設定、vi/vimにおける日本語設定を行います。

備考

 ちなみにWindowsマシンにCygwinなどをインストール後、相応の環境設定(特に環境変数PATHの設定)がなされていれば、(Cygwin環境の.exeファイルの実行もできる状態になるので必然的に)Windowsのコマンドプロンプトからもシェルを含むCygwin環境のコマンドを利用できます。

 尤もCygwinのターミナルはコマンドプロンプトを利用したものですし、コマンドプロンプトやCygwinでデフォルトのコマンドプロンプトを流用したエミュレータも良いですが、例えば有名なフリーソフトTera Term pro(TTSSH/Tera Term SSH)をインストールすると付属しているCygwin用の(「その他の設定」メニューのCygwinタブで必要な設定ができる)cygtermを使う手もあります。

 ターミナルエミュレータも各種ありますが、Cygwin環境を導入する以前にUNIX/Linux環境を使い慣れている場合には、その際にも使っていたであろうターミナルエミュレータを利用するとCygwinの使用感も、よりUNIX/Linux環境らしくなると思います。

 日本語対応の他、cygtermを利用する場合には、cygtermを立ち上げ、メニューの[設定]>>[その他の設定]から[Cygwin]タブを選んで「SHELL」に「/bin/bash」、「ENV_1」に「MAKE_MODE=unix」、「ENV_2」に「HOME=/home/user_name」(user_nameはホームディレクトリに使用する名前)を設定しておくとよいでしょう。

LINK

ホーム前へ次へ