Cygwin のインストール(setup 2.24)

概要

ここの内容は現状と大きくは違いませんが、 もはや古いので更新を計画中です。 現在のインストーラは、 以下の説明とはパッケージ選択ウインドウの表示が違います (カテゴリ別にわけられた表示が標準)。
また、「すでにインストールされたものおよび Base カテゴリ内のパッケージ のみダウンロード、インストールする」という仕様に変更されています。 したがって、新規インストールの場合は例えば gcc(Devel カテゴリにある) などは明示的に指定してやる必要があるようですし、アップデートの場合も 「新規に登場したパッケージ」は、既存のパッケージのアップデートで要求されたり しない限り、明示的に指定しないと導入されません。

Cygwin が 1.x になったとき、最初はインストーラが DOS ウインドウ上で動く テキストベースのものでした。現在は GUI ベースのインストーラが用意されており、 tar アーカイブの取得からインストール、アンインストールがこの setup.exe だけ で行えるようになっています。

ここでは setup.exe バージョン 2.24 で説明していますが、バージョン 2.25 でも 使い方は同じです。なお、このドキュメントは、setup.exe でのインストール手順に 大きな変更があった場合のみ更新します。

注意

ダウンロード編

  1. Cygwin のセットアップ用のディレクトリを作成します。

  2. 先のディレクトリに、setup.exe をダウンロードします。

  3. setup.exe を実行します。
    fig.1

  4. ftp サーバ上のファイルを直接インストールするか、ftp サーバからダウンロード するか、ダウンロード済みのファイルを使ってインストールするかを選択します。 ここでは"Download from Internet"を選択し、実際のインストールはあとから 行うことにします。
    fig.2

  5. ファイルのダウンロード先を選択します。デフォルトでは setup.exe と同じ ディレクトリになります。ここで指定するのは各アーカイブを収納するディレクトリ で、インストールディレクトリではないので注意してください。
    fig.3

  6. サーバへの接続方法を選びます。「IE5の設定を使う」「直接接続する」 「プロキシサーバを使う」の3つの方法がありますが、ふつうは 「IE5の設定を使う」("Use IE5 Settings")を選べばよいでしょう。
    fig.4

  7. サーバリストをダウンロード中。
    fig.5

  8. どこの ftp サーバからダウンロードするかを選択します。なるべく自分の 利用しているプロバイダなどがリストにあればそれを、そうでなければなるべく 近そうなところを選びます。日本からなら、jp ドメインのどこかを選ぶことに なると思います。たまに、いくつかのファイルをダウンロードできないことが ありますが、そういうときは時間をあけるかあとで別のサーバに接続して補完 してください。
    fig.6

  9. サーバを選択すると、まずパッケージの情報をサーバから受け取ります。 このとき setup.exe のバージョンが古いと、そのことを知らせるダイアログが 現れます。 ダウンロード自体は継続できますが、あとで新しいsetup.exe をとってくる のがよいでしょう。
    fig.7

  10. ダウンロードするファイルを選択します。インストールされるバージョン (「New」の列の下)をクリックするとダウンロードするバージョン(あるいは 現在持っているファイルを保持する [keep])、ダウンロードしない [skip]、削除する [uninstall]、のいずれかを選択することができます。 また、右上の [Prev]/[Cur]/[Exp] ボタンをクリックすると、一度にまとめて 「前のバージョン」[Prev]、「現行バージョン」[Cur]、「テストバージョン」[Exp] を指定することができます。
    ソースがダウンロード可能な場合は "Src" の列にチェックボックスが現れるので 必要に応じてチェックしておきます (Cygwin を使うだけならまったく必要ありません)。
    fig.8

  11. ダウンロードが始まると、各アーカイブのダウンロード状況などがバーグラフで 表示されます。
    fig.9

  12. 選択したアーカイブをすべてダウンロードすると complete ダイアログが出て ダウンロードは終了します。 続けて、もう一度 setup.exe を起動してインストールを行います。
    fig.10

インストール編

  1. アーカイブのダウンロードが終了したところで、再度 setup.exe を起動します。

  2. 今度は先ほどダウンロードしたものをインストールするので、 "Install from LocalDirectory" を選択します。

  3. 先ほどダウンロードしたアーカイブをおいている場所を選択します。 おそらく、ダウンロードする際に指定したディレクトリ名になっている と思いますのでそのまま進行すればよいはずです。
    fig.3

  4. インストール先を選択します。ここで指定したディレクトリは Cygwin 環境での ルートディレクトリとなります。"DefaultTextType" は改行形式の指定です。 「CR+LF」[DOS] と 「LF」[Unix] から選択できますが、UNIX アプリを動かしたり する際に面倒なのでデフォルトの "Unix" のままにします。 "InstallFor" は、「すべてのユーザ」[All] と「自分のみ」[JustMe] から選択し、 誰が使うのかを指定します。とくに理由がなければ "All" でよいでしょう。
    fig.A

  5. インストールするアーカイブを指定します。"Skip" を選択するとそのアーカイブは インストールされません。また、複数のバージョンをダウンロードしている場合はその どちらをインストールするか選択することになります。"uninstall" を選択すると、 そのアプリケーションは削除されます。なお、ここでも[Prev]/[Cur]/[Exp] ボタン を利用できます。
    あとから日本語対応 less を入れるつもりなら、ここでは less をインストールしなく てもよいでしょう。
    fig.B

  6. インストール中は進行状況がバーグラフで表示されます。
    fig.C

  7. デスクトップおよびスタートメニューにショートカットを作成する場合は、 それぞれのチェックボックスにしるしをつけます。二度目以降は不要でしょう。 このショートカットの実体であるバッチファイルは bash をログインシェルとして 起動するだけのものです。なお、環境変数 CYGWIN を指定する場合はこの バッチファイル(もしくは、autoexec.bat など)を編集してやります。
    fig.D

  8. インストール終了ダイアログ
    fig.E

  9. この後デスクトップアイコンあるいはスタートメニューから起動します。 すでに使える状態ではありますが、さらに使いやすくするために環境を整えて いきます。

環境設定

ここでは以下の設定をします。

マウントの設定

bash のプロンプトが現れている状態で "mount" と命令すると、現在の マウント状況が表示されます。初期状態では /usr/bin, /usr/lib, / の 3つのディレクトリについて設定されているはずです。

たとえば D: ドライブを /mnt/D にマウントするなら、
$ mkdir /mnt
$ mkdir /mnt/D
$ mount -b -s D: /mnt/D/
mount コマンドの -b オプションは "Flags = binmode" でマウントするという 意味であり、 "-s" オプションは "Type = system" としてマウントするという意味 です。

inetd.exe のための設定

inetd.exe を利用してリモートログインなどができるようにするには、

最低これだけのファイルを確認する必要があります。他にも必要なものはあるはずで すが、コマンドが生成してくれるものをそのまま使うことにします。
  1. /etc/passwd を作る。

    setup-2.29(?) あたりから、/etc/passwdと/etc/groupを自動的に作ってくれる ようになりました。ただ/etc/group はおかしい気がします、ので、/etc/group は 自分で作ってあげる必要があるかもしれません。あと、困ったことに既存の /etc/passwd ファイルを書き換えてしまうようなので、必要なら事前に バックアップをとるのがよいでしょう。

    Cygwin-1.1.5 では Windows95/98/Me(以下、Win9x)でも mkpasswd コマンドでパスワードファイルの雛型を作ることが できるようになりました。Win9xの場合はこんな感じになります。

    $ mkpasswd > /etc/passwd
    $ cat /etc/passwd
    docile::500:544:/home/docile:/bin/sh
    
    パスワードフィールドが空っぽですが、これは crypt コマンドを使って得られた 文字列をコピー&ペーストしてやってください。
    $ crypt cygwin
    eP2PAiXu1dusU
    
    この例では、"cygwin" をパスワードとする場合の暗号化文字列を取得しています。 なお、パスワード文字(上の例なら "cygwin")が同じでも crypt コマンドを 実行するたびに異なる結果が得られますが、問題ありません。

    WindowsNT/2000 の場合は、mkpasswd コマンドで/etc/passwd を作ってあげれば よいはずです(未確認)。NT/2000 の場合は、Windows に設定したパスワードが 認証に使われます。

  2. /etc/group を作る。

    Win9x の場合、

    $ mkgroup > /etc/group
    $ cat /etc/group
    unknown::544:
    
    mkgroup コマンドを実行してその結果を /etc/group に記録します。Windows9x の 場合はこの例のようになります。WindowsNT/2000の場合は設定されているグループが 記録されます(未確認)。

  3. inetd.conf などを用意する。

    /usr/bin/iu-config を実行すると、以下のファイルが作成されます。

    今は問題ないようですが、以前はこの iu-config スクリプトでエラーが発生して 正しくファイルが作成できなかったので修正する必要がありました。 222行目あたりの、
    # The external services are typically called via `tcpd' for
    
    ここの "`" の解釈がおかしかったようで、これを "\`" に変えると うまくいきました。

  4. /usr/sbin/inetd.exe を起動します。

    Win9x/Me ではコマンドプロンプトから起動します。この場合、 inetd.exe を kill しないとそのウインドウは閉じないので 注意してください。なお、このこと(起動させたままのアプリケーション があると DOS ウインドウが閉じない)は inetd.exe に限りません。もしなにか 実行させたままシェルから exit してしまった場合は、新たに Cygwin の ウインドウを開いて、そのウインドウから kill してやってください。

    WinNT/2k の場合は2通りの方法があります。

    前者の方法の場合は以下の3つの権限 を追加すればいいのですが、Win2k の場合どうすればよいのかよくわからない (--; のでここでは書きません。WinNT の場合はユーザマネージャを使用すれば可能です。

    後者の方法(サービスとして起動)する場合、Cygwin のコマンドプロンプトで "/usr/sbin/inetd --install-as-service" とたたけば「自動的に起動する サービス」として "CYGWIN inetd" という名前で登録されます。削除する場合は (おそらく、サービスを停止させてから) "/usr/sbin/inetd --remove-as-service" とたたきます。 (セキュリティ上不安があるので)必要なときだけ起動させたい場合は 管理ツールの「サービス」で手動起動に設定します。次に、コントロールパネルの 「システム」を開いて「詳細」タブをクリック、「環境変数」ボタンを押します。 「システム環境変数」に(好みで)以下の環境変数を設定します。

    環境変数を設定したら、システムを再起動します。再起動できたら、 管理ツールの「サービス」を開いて、inetd が起動しているかどうか(手動起動の 場合は、起動できること)を確認します。エラーなどで正しく起動できずに 終了したりするようなら、「イベントビューア」を開いて状況を確かめます。


docile-AtMark-docile.org