Cygwin 1.5 のインストールと初期設定

cygwin-logo

※ 2010年 4月現在、Cygwin の最新リリースは 1.7.2 です。1.7 系は 1.5 系と動作が一部異なるため、この記事は既に時代遅れです。ご注意ください。

Cygwin 1.5 のインストールと初期設定に必要な作業についてまとめています。その際に参考となる WWW 上の情報も紹介しています。

はじめに

本稿は、以下の前提で書かれています。

項目 本稿での値 デフォルト値
Cygwin のルート・ディレクトリ D:\ C:\cygwin\

個人的な趣味の問題で、ディレクトリをインストーラのデフォルト値から変更していますので、デフォルトの場所にインストールする場合は適時読み替えてください。

インストール前の予備知識

インストール作業を始める前に、下記 URL 先を熟読します。

いずれも Cygwin を使う上で必読とも言えるサイトです。

インストール前の準備

インストールの前準備として、ACL の設定、ディレクトリの作成、および環境変数の設定を行ないます。

ACL の設定

Cygwin をより Unix ライクに使用するためのノウハウが、以下の URL 先にあります。

ここまで徹底はできないながらも、インストール先の ACL を適切に設定し、セットアップおよびパッケージの追加/削除は Administrator で行なうようにします。Administrator で Windows にログオンし、以下のコマンドを実行します。

C:\>cacls D:\ /p なし:R Everyone:R SYSTEM:F Administrators:F Users:R "CREATOR OWNER:F"

以降、インストール完了まで Administrator でログオンして作業します

パッケージ保存用ディレクトリの作成

ダウンロードしたパッケージを保存するためのディレクトリ D:\packages\ を作成します。後でダウンロードするインストーラも、このディレクトリに保存します。

環境変数の設定

以下の環境変数を設定します。それぞれの環境変数の作用に関しては、『Cygwin ユーザーズガイド(翻訳)』 の 『CYGWIN 環境変数』 の項を参照。

変数
CYGWIN binmode ntsec ntea tty
HOME D:\home\username (( username は Windows のアカウント名です。 ))
MAKE_MODE UNIX
TMP D:\tmp
TZ JST-9

これらは Cygwin のための環境変数ですが、HOME, TMP および TZ は Meadow も参照します。後で Meadow もインストールしますので、HOME および TMP については Windows のパス形式で設定します。 環境変数の設定は、 【システムのプロパティ】 ⇒ 【詳細】 ⇒ 【環境変数】 ⇒ 【username のユーザー環境変数】 で行ないます。

Cygwin Setup のダウンロード

Cygwin では、ネットワーク経由でパッケージをダウンロードしてインストールするインストーラ “Cygwin Setup” が用意されています。インストールだけでなく、パッケージのバージョン管理にも利用します。 以下の URL から Cygwin Setup の実行ファイル setup.exe をダウンロードし、 D:\packages\ に保存します。

Cygwin Setup でのインストール

ダウンロードした setup.exe を実行し、インストールを開始します。以下に、Cygwin Setup (setup.exe) でのインストール手順を説明します。

画面 説明
cygwin-install-01 setup.exe を起動します。【次へ】 をクリック。
cygwin-install-02 【Install from Internet】 を選択して 【次へ】 をクリック。
【Root Directory】 に D:\ を入力、 【Install For】 は 【All Users】 を選択、 【Default Text File Type】 は 【Unix / binary】 を選択して 【次へ】 をクリック。
「ドライブのルートを Cygwin のルートにしないことをお奨めするよー」 とかなんとか注意されますが、【はい】 をクリックして続行。
パッケージを保存するディレクトリを指定します。 【Local Package Directory】 に D:\packages を入力して、 【次へ】 をクリック。
インターネットへの接続方法を選択します。一般的には 【Direct Connection】 を選択すればOKだと思います。選択後、 【次へ】 をクリック。
パッケージのダウンロード元サイトの一覧が取得されます。しばし待ちます。
パッケージのダウンロード元サイトを選択します。とりあえず JP ドメインのいずれかを選択してから 【次へ】 をクリック。
パッケージ一覧が取得されます。しばし待ちます。
ダウンロード&インストールするパッケージの選択画面です。デフォルトでは、Base 全部とそれらを運用するために必要なパッケージ (( Devel, Doc, Libs, Interpreters, Shells, System, Text および Utils の一部のパッケージ。 )) が選択されており、最小の Cygwin 環境となっています。まずはデフォルトのまま最小環境をインストールし、以降、必要に応じて順次パッケージをインストールするのが良いと思います。このまま 【次へ】 をクリック。
パッケージのダウンロードが始まります。しばし待ちます。
続いて、パッケージのインストールが始まります。しばし待ちます。
最後に、インストールされたパッケージの設定のためのスクリプトが実行されます。しばし待ちます。
デスクトップとスタート・メニューに起動用アイコンを作成するかどうかを選択します。必要無いのでいずれもチェックを外して 【次へ】 をクリック。
Cygwin のインストールが完了しました。 D:\ に cygwin.bat (起動用バッチ・ファイル) と cygwin.ico というファイルが作成されています。
D:\cygwin.bat を起動してみます。初回起動時は、.bashrc などの個人設定ファイルのテンプレートがコピーされた後、bash のプロンプトが表示されます。

以上でインストール作業は完了です。

(補足) パッケージの追加インストール

インストール直後の状態では、vi も入っていない状態ですので、パッケージの追加インストールについて説明しておきます。

画面 説明
cygwin-install-10 パッケージを追加インストールするには、setup.exe を起動し、【次へ】 または 【はい】 を押し続けて、パッケージの選択画面を表示させます。
パッケージの選択画面で、追加したいパッケージの行にある “Skip” をクリックします。パッケージのバージョンが表示されますので、 【次へ】 をクリックします。 この例では、vim 7.0.122-1 を追加インストールしています。
インストールの時と同様に、選択したパッケージがダウンロードされインストールされます。

パッケージの削除もほぼ同じ手順で可能です。

(補足) パッケージのバージョン・アップ

既にインストール済みのパッケージがバージョン・アップしている場合、 setup.exe を実行し、【次へ】 または 【はい】 押し続けるだけで、自動的にバージョン・アップしたパッケージをダウンロード&インストールしてくれます。たまには setup.exe を実行し、バージョン・アップに追随させると良いと思います。

初期設定

私が行なったとりあえずの初期設定です。この際だから…と思って、15年弱使い続けた tcsh から bash に乗り換えてみました(sh 系初体験)。その設定も含めて、私の個人的な趣味を反映したしょーもない設定が多いですが、参考になれば幸甚です。 ここからは Administrator ではなく、普段使っている Windows ユーザーでログオンしてください。

各種シェル変数、エイリアス、シェル関数の定義 (.bashrc)

bash のカスタマイズについて調べてみたところ、

とか書かれているのを見つけました。環境変数をゴニョゴニョすることはあまりなさそうなので、つまり、「~/.bashrc のみを編集し、シェル変数、エイリアス、シェル関数を定義」 でOK? ということにしました。もし環境変数を定義する必要がある場合は、~/.bash_profile に export を付けて追加するということで…。 .bashrc に以下の記述を追加しました。

~(略)~

# 日本語ファイル名が文字化けしないように
alias ls='ls -CF --show-control-chars'

## Windows プログラムの起動用エイリアス(引数無し)
alias ffftp='/dfs/c/Program\ Files/FFFTP/ffftp.exe &'
alias navicat='/dfs/c/Program\ Files/PremiumSoft\ Navicat/navicat.exe &'
alias jane='/dfs/c/Program\ Files/Jane\ Style/Jane2ch.exe &'
alias skype='/dfs/c/Program\ Files/Skype/Phone/Skype.exe &'
alias b2='/dfs/c/Program\ Files/RimArts/B2/B2.exe &'
alias dt='cd /dfs/c/Documents\ and\ Settings/username/デスクトップ/'
alias traceroute=tracert

~(略)~

# csh 風 which
function which { command -v $1; }

## Windows プログラムの起動用ファンクション(引数あり)
# Explorer
function start {
    if [ $# -eq 0 ]; then
        target=.
    else
        target=$1
    fi
    cmd /c start $(cygpath -i -w $target)
};

# Firefox
function firefox {
    '/dfs/c/Program Files/Mozilla Firefox/firefox.exe' $1 &
};

# VNCViewer
function vnc {
    $HOME/bin/vncviewer.exe -8bit $* &
};

## Windows サービスの起動用ファンクション
function wsv {
    USAGE="Usage: wsv [service] [ start | stop ]"
    if [ $# -lt 1 -o $# -gt 2 ]; then
        echo $USAGE
    elif [ $2 != "start" -a $2 != "stop" ]; then
        echo $USAGE
    else
        case $1 in
            "iis")
                SRVNAME='World Wide Web Publishing'
                ;;
            "ftp")
                SRVNAME='FTP Publishing'
                ;;
            "sql")
                SRVNAME='MSSQLSERVER'
                ;;
            "vnc")
                SRVNAME='VNC Server'
        esac
        net $2 "$SRVNAME"
    fi
};

# Shell Variables
# ##################

# コマンド・プロンプト
PS1="$ "
# cd 検索パス
CDPATH=.:~:~/htdocs:~/document
# コマンド入力履歴のサイズ(ちょっと大きめに)
HISTSIZE=5000
HISTFILESIZE=5000

~(略)~

# Others
# ##################

# 新規作成ファイルのパーミッション 644
umask 022

~(略)~

今後も追加・変更していくと思いますが、とりあえずはこんな感じで。

Windows ドライブへのアクセス用プレフィックス

Cygwin は /cygdrive/?/ (? は、Windows におけるドライブレター) というパスを使って、Windows の各ドライブにアクセス可能です。 個人的に、昔使っていた BOW の影響で /dfs/?/ というプレフィックスを使いたいので、以下のコマンドで設定を変更しました。

% mount -b --change-cygdrive-prefix /dfs

一度だけ実行しておけばOKです。

/etc/passwd, /etc/group の編集

/etc/group の 『なし』 というグループ名を 『none』 に変更します。『Administrators』 など長いグループ名を、『admins』 など短いグループ名に変更します。/etc/passwd も同様に変更します。小文字に統一したり、半角空白を _(アンダーバー)に変更したり。ついでにイニシャル・グループの設定もしておきます。 このへんは、してもしなくても特に支障はありません。気分の問題です。

ターミナル・エミュレータのインストール

Cygwin をインストールした直後の状態では、bash は Windows のコマンド・プロンプト内で実行されます。そのままでも使えないこともないのですが、ターミナル・エミュレータから bash を利用できればより便利です。

私は Cygwin 向きのターミナル・エミュレータの中でも高機能な Poderosa をインストールしています。 他にも、ckCygTerm + Tera Term、 rxvt など、選択肢はいろいろあります。


以上で初期設定は完了です。次は、Meadow 3.0 のインストールと初期設定を行ないます。

スポンサーリンク
レクタングル(大)
レクタングル(大)