Cygwinの環境設定メモ 
 

動作環境

・Cygwin が正しくインストールされていること。あとここの説明は windows2000 ね。

・Cygwin での日本語化は現在されていません。編集はできないけど、表示ができる・・・。

はぢめに

ここでは、Cygwinの環境設定、ユーザの環境設定を説明します。ここを見ると詳しく書いてあるのですが、最低限の環境にするためだけに全て読むの嫌!っていう人がゴロゴロしてて・・・・。まあ、こんなこと知っているよぉ〜と言わずお付き合いください。

Cygwinの環境変数

ディスクトップに作成された Cygwinのバッチ を起動すると Windows にログインしたユーザのプロンプト状態が表示されます。この状態でも十分使用可能なのですが、もう少し良くなるように(なんのこっちゃ)おまじないをしておきましょう。

Windows2000 での環境設定方法を記述しますが、Windows9x/meの人は、"c:\autoexec.bat" に記述すると読み替えてください。ディスクトップにある、「マイコンピュータ」をマウスの右ボタンで選択しシステムプロパティを表示させます。「詳細タグ」の環境変数ボタンを押下しシステム環境変数に以下の変数を定義します。

CYGWIN      binmode nontsec tty
HOME        /home/hagehage
MAKE_MODE   UNIX
SHELL       /bin/bash

/tmp を作成する

UNIXは、テンポラリーファイルの置き場所として /tmp を利用します。Cygwin で特に指定のない限り /(ルート)に作成してしまうため、ディスクの残り容量が少なかったりした場合、最悪windowsシステムにも影響が出てしまいます。最近は、20GBとか30GBとかの大きいHDを使っていて、パーティションも別々に切っていると思いますので、その何処か容量の空いている部分に Cygwin で使用する /tmp を指定(mount)したいと思います。

Dドライブが容量的に空いているとした場合の例として、"D:\cygwin\temp" というディレクトリを作成します。Cygwin を起動して、"df -k"を実行し現在のディスク割り当て情報を見ます。

$ df -k

Filesystem      1k-blocks    Used Available Use% Mounted on
C:\cygwin\bin    12289692 5886396   6403296 48%  /usr/bin
C:\cygwin\lib    12289692 5886396   6403296 48%  /usr/lib
C:\cygwin        12289692 5886396   6403296 48%  /
c:               12289692 5886396   6403296 48%  /cygdrive/c
d:               21115136 2993328  18121808 14%  /cygdrive/d

mount コマンドを実行して、"D:\cygwin\temp" を /tmp に割り付けます。コマンドは、"mount -b d:/cygwin/temp /tmp" ですが、この時に \ を / に変更するのを忘れずに!。また間違って mount してしまった場合は、"umount マウントポイント" を実行することにより解除することができます。正しく設定できたら、もういちど df コマンドを実行してみて、ちゃんとマウントされているかどうか確認しましょう。

$ df -k

Filesystem      1k-blocks    Used Available Use% Mounted on
d:\cygwin\temp   21115136 2993328  18121808 14%  /tmp
C:\cygwin\bin    12289692 5886396   6403296 48%  /usr/bin
C:\cygwin\lib    12289692 5886396   6403296 48%  /usr/lib
C:\cygwin        12289692 5886396   6403296 48%  /
c:               12289692 5886396   6403296 48%  /cygdrive/c
d:               21115136 2993328  18121808 14%  /cygdrive/d

 

bashの環境を設定する

UNIXは、Windowsと違ってシェル自体を好きなものに変更することができます。代表的なものとして sh, csh, jsh, tcsh, bash 等がありますが Cygwin はデフォルトで bash が指定されています。こちらもこのままでも使用可能なのですが、一工夫すると全然使い易くなるので設定しましょう。bash がシェルとして起動されるとき、.bashrc が存在すれば、そのファイルを自動的に読み込み実行してくれるので、環境変数やログイン時に実行したいコマンドがあれば、こちらに記述します。ちなみに私が使っている .bashrc (どこかで手に入れた・・・)を紹介しますので自分の好みに合わせて設定してください。bash は非常によくできたシェルでコマンドの履歴や、コマンド行の編集などよく出来ています。使い方はこちらをどうぞ。

※ .bashrc の変更点として「export HOME=/home/ユーザ名」部分を変更しておいてください。

/etc/group を設定する

コマンドライン上で "mkgroup -l > /etc/group" とやることで、/etc/group ファイルが更新されます。Windows側で追加したグループを Cygwin に反映する場合は、適時実行してください。

但し、mkgroup では "なし" と言うグループが作成されるので、"none" に修正して保存してください。

※ "なし"のままにしておくと、ls コマンドを実行したとき下記の様に表示されます。

$ ls -al /etc

drwxrwxrwx+  3 Administ なし     0 Jan 9 11:27 skel
-rwxrwxrwx   1 Administ なし 12546 Oct 1 12:53 termcap