このディレクトリには Cygwin
を置いている.
Cygwin は,
GNU の各プロダクトを Win32 環境で動作させようとするもので,
Win32 環境上に UNIX ライクな開発環境を作ることができる.
現在のバージョンは 20.1(2,000年1月現在).
バージョン 19 に比べるとディレクトリ構成やマウントが簡潔になっているようだ.
なお,バージョン 19 までは,GNU-Win32 という名前が使われていた.
cygwin のサイト
から full.exe をとってくる.
ただ,ファイルサイズが 13.5MB と非常にでかい.
C コンパイラ等や難しいコマンドを外し,
ユーザにとって最低限必要なコマンドものだけをおさめた
usertools.exe(3.0MB)もあるが,
これだと一般的なユーザでも不足を感じることがありそうなので,
full.exe をインストールしたほうが良いと思う.
入手したファイルを実行するとインストーラが起動する.
インストールするディレクトリを聞かれるが,
ぜひデフォルトの C:¥cygnus にするべきである.
ディスク容量は FAT32 環境で 40MB 近く必要になる.
なお,PC-98 シリーズでは A:¥Cygnus あたりにインストールすることになるだろう.
PC-98 シリーズでもほとんどのコマンドは正常に動作するようであるが,
一部完全な動作はしないものがあるかもしれない.
インストールが終了したら,
スタートメニューの "Cygwin B20" を実行すると
MS-DOS プロンプトと同様なウィンドウが起動するが,
シェルには MS-DOS の command.com ではなく
bash が使われる.
Cygwin 環境では,
UNIX と同様ルートディレクトリ "/" の下にすべてのドライブ,
ディレクトリが格納される.たとえば C:¥Cygwin ディレクトリは,
//c/Cygwin/
として参照する.
bash でぜひ覚えておきたいのは,ファイル名の補完機能である.たとえば,
と入力したいとき,cd //c/C と入力したところで
TAB キーを押すとエラー音が出るが,
もう一度 TAB キーを押すと
C:¥
ディレクトリの "C"
で始まる名前のファイルのリストが下に表示される.
さらに y とたたくと,
"Cy"
で始まる名前のファイルは(たぶん)1つしかないので,
Cygnus/
と勝手に入力されるはずだ.
さらに /c,TAB と押すと,cygwin-b20
まで入力される.
このように,UNIX 環境では長いディレクトリ名も入力が容易になっているので,
しばしば非常に長いパス名が使用される.
なお,従来の DOS プロンプトでも
Cygwin
のコマンドは利用可能である.
次に,AUTOEXEC.BAT を編集して
C:¥cygnus¥cygwin-b20¥h-i586-cygwin32¥bin
ディレクトリへのパスを追加する.たとえば
PATH | C:¥usr¥local¥bin;C:¥usr¥bin; |
C:¥cygnus¥cygwin-b20¥h-i586-cygwin32¥bin; | |
C:¥WINDOWS;C:¥WINDOWS¥COMMAND; | |
C:¥usr¥local¥perl¥bin; | |
C:¥bin;C:¥ |
(実際には1行で記述する)のようにする.
また,ホームディレクトリを環境変数に設定しておく.
たとえば SET home=D:¥home¥ida とする.
UNIX 由来のプログラムにはこの環境変数を参照するものも多く,
このディレクトリにはプログラムの設定ファイルも置かれることになる.
それから,シェルスクリプトがいつでも使えるように
C:¥cygnus¥cygwin-b20¥h-i586-cygwin32¥bin¥sh.exe
を
C:¥bin
ディレクトリへコピーしておく.
さらに,ディスクのマウントを行う.
まず手順を示すと次のような画面になる.
1: | BASH.EXE-2.02$ mount |
2: | Device Directory Type Flags |
3: | c: / native text!=binary |
4: | BASH.EXE-2.02$ umount / |
5: | BASH.EXE-2.02$ mount -b c:/ / |
6: | Warning: / does not exist! |
7: | BASH.EXE-2.02$ mount -b C:/cygnus/cygwin-b20/h-i586-cygwin32/bin /bin |
8: | BASH.EXE-2.02$ |
ほかにもいくつかのディレクトリをマウントしておいたほうが便利かもしれない.
私の場合は D:¥home,D:¥tmp,D:¥var をそれぞれ
/home/tmp/var にマウントしている.
これらのマウント情報は Windows レジストリに登録される.
おかしくなったときは mount --reset とすれば初期状態にもどる.
これ以上の情報は,UNIX 関連の書籍や,web を使用して調べてほしい. 日本語でもかなりたくさんのサイトが見つかる.
Cygwin のコマンドでは日本語が正常に取り扱えないので,
UNIX-like tools をインストールするとさらに便利になる.
2,000年1月現在のバージョンは 4.12c のようだ.
@nifty の FEXT に少しの遅れで最新版が登録されている.
解凍は,/tmp ディレクトリに移動し,
tar zxvf ファイル名
として行う.
すると /tmp の下に uxtl412c というディレクトリができ,
コマンド類はその中の bin ディレクトリに作られる.
このコマンド類を C:¥bin に置くと,
Cygwin で別なディレクトリを /bin へマウントしたのであるから,
Cygwin 環境下ではそのままでは使用できない.
それで,ここでは C:¥usr¥bin に置くことにした.
同様,man ディレクトリは C:¥usr に置けば良いだろう.
必要ならほかのディレクトリも C:¥usr に置く.
netpbm ftp://ftp.lab.kdd.co.jp/X11/contrib/utilities/netpbm-1mar1994.p1.tar.gz