<次へ> <戻る>  <目次> <home>

3.Cygwinのインストール

3.1 Cygwinとは

私が扱うSSHはCygwinに移植したCygwin/OpenSSHですので、この章でCygwinの簡単な説明 をします(英語版はCygwin User's Guide)。Cygwinはユニックスで普及しているGNUツールをそのままウインドウズ上で使えるようにしようというかなり野心的なプロジェクトで,ウインドウズをメインに使うがユニックスも使いたい (あるいはその逆) と言う人には理想的な環境を提供してくれます。Cygwinのオフィシャルサイトでは,Cygwin=GNU+Cygnus+ウインドウズ と定義しています.ただし,Cygwin自体はユニックスエミュレーターと言えるほど完全にユニックスではなく、使えないコマンドやアプリケーションは結構あります。もともとはCygnus Solutionと言う会社が開発していたのですが、今はRed Hat に買収され引き継がれているプロジェクトです。日本語のCgwin情報も豊富ですし、重要なオリジナルドキュメントもかなり翻訳されていますし質問/解答集cygwin何でも掲示板もあります。私自身は「Cygwinを使う」 にずいぶんお世話になりました。最近は日本語の解説書も沢山出版されているようです。

3.2 Cygwinのインストール詳細手順

 Cygwinを全部インストールすると約1.3GBのメモリー容量が必要です(04年2月現在)。

(1)Cygwinのオフィシャルサイトで「Install now!」をクリックして,setup.exeをダウンロードし,実行します.ここでヴァージョン番号が判ります。私がインストールしたのはsetup.exe 2.416 です(2004年1月22日更新時)。

(2)インストール手順の選択画面です.Defaultは「Install from Internet」ですが、早い回線を持っている場合以外は「Download from Internet」を選ぶほうが良いでしょう。先に述べたOpenSSH用のミニマムパッケージならば容量が小さいので「Install from Internet」を選んでもそれほど時間はかかりません。

(3)ダウンロード先を選びます。

(4)ダウンロードの際のネットワーク設定を聞いてきます。Use IE5 Settingsが無難でしょう。

(5)次にダウンロードするサイトを選びます.「・・・.jp」で終わるサイトの中から最寄りのミラーサイトを選びます。

(6)パッケージの選択画面が出ます。

(a)上に旧版(Prev)、現行版(Curr)、試行版(Exp)を選ぶボタンがあります。デフォルトの現行のままでよいでしょう。

(b)右上の「view」ボタンをクリックすると、Category、Full、Partial と画面が切り替わります。Cygwinサイトから初めてダウンロードする場合は,defaultの選択パッケージがPartial 画面に出ます.2回目以降は既に取り込んだものは表示されません.とりあえず最小限Cygwinを試してみる分には デフォルトパッケージで良いのですが、ここにはOpenSSHが含まれていません。OpenSSHだけを動かすなら、デフォルトパッケージの他に Admin カテゴリーから「cygrunsrv」とNetカテゴリーから「openssh」を追加選択すれば良いのですが(第1章参照)、ここでは全パッケージをインストールすることにします。

(c)全パッケージをを選択するときはCategory 画面で +All の右の印をクリックするとDefaultがInstallに変わります。反応が結構遅いので辛抱強く待ちましょう。

念のため右上の「view」ボタンを押して「full」画面でパッケージが全て選択されていることをチェックしましょう。Skipが出ているパッケージは選択されていないものです.ダウンロードしたいパッケージを選び、円形の矢印をクリックしてヴァージョン番号が出れば選択されたことになります.ソースファイルが欲しいときは四角の中もクリックします.Keepは既に選択されている(2回目以降)という意味です。

(7)「次へ」ボタンをクリックすると、ダウンロードが始まります。

(8)終了したら再び setup.exe をダブルクリックします。今度は、「Install from Local Directory」 を選択します。

(9)インストール先を選びます。Default はC:\cygwin です。ここではD:\cygwin に設定しました。 C:\やD:\に直接入れることは避けるように推奨されています。

また、Default Text File Type はデフォルトのテキストファイルの扱い {改行コードの自動変換をDOS(CR+LF)か Unix(LF)のどちらにするか}を指定します。Cygwin環境を積極的に使うつもりなら Unix 設定の方がよいでしょう。Install for All か Just me の選択は All にしておきましょう。自分だけが使うならば Just me でも良いのですが、複数のサーバーをインストールしていて、Inetd などのスーパーサーバーで集中管理をしたいときは All でなければいけません。

(10)どこからダウンロードするか聞いてきますので,先ほどダウンロードしたディレクトリー名を入れます.Defaultで自動的に選択されているはずです。

(11)ふたたび選択画面が出ます。今度は、Full 画面には先ほど選択したパッケージしか入っていません。Default選択パッケージ以外はskipになっているはずですから、インストールするためには、ふたたび skip マークをヴァージョン番号に変える必要があります。終われば「次へ」をクリックします。

(12)インストールが始まります。


(13)最後にアイコンを作るかと聞いてきますから、イエス(default)にして完了ボタンを押します。

下のダイアログで OK を押してインストール完了です。

その後何かをする前にまず環境変数を設定しましょう。

3.3 環境変数設定

マイコンピュータアイコンを右クリックして、「プロパティ」ー「詳細設定」―「環境変数」をクリックし、システムのプロパティ画面を表示します。

☆ システム環境変数の窓で「Path」を選択し、編集ボタンを押します。ダイアログ「システム変数の編集」画面が出ます(下図)。

変数値の最後に

;D:\cygwin\bin

を付け加えます ( cygwin を、D:ディレクトリーに入れた場合)。こうすると、cygwin 窓を開いた場合はもちろんのこと、ウィンドウズのコマンドプロンプト窓からも、ユニックスコマンドが使えるようになります。ただし、前にも述べたように、cygwin は、ユニックスもどきですから、全てのユニックスコマンドが使えるわけではないことは、頭に置いておきましょう。

☆ 次に、システム環境変数の「新規」をクリックして、変数名欄に「CYGWIN」、変数欄に

binmode ntsec tty

を打ち込みOKします。最近はデフォルトでこの設定になっているようです。binmode はバイナリーモードのことで改行をユニックススタイル(LF)にするという意味です。

ntsec はウインドウズのNTFSファイルシステム上でユニックスパーミッション(読み込み・書き込み・実行の許可不許可)を実現します(内容詳細はここに。使い方はここに)。ファイルシステムにFAT32を使っていると、保護設定はできませんから、御利益はありません。安全性を心がけるならNFTSに変えたほうがよいでしょう。

tty は直接の御利益は判りにくいのですが、ユニックス系統のコマンドを使うときの不具合をいくらか防ぐ効果があります。

これで、Cygwinが使える状態になります。

☆ デスクトップのホッチキスみたいなアイコン (本体は D:\cygwin\cygwin.bat)をクリックすると、 cygwin の窓(テキスト入力画面)が開きます。

追記: ウィンドウズ7では、右クリックで “管理者として実行” を選ばなければなりません。

ここがホームディレクトリー/home/”username” ( ~ 印)です。~ はユニックスでの表示です。cygwin 内での最上階のルートディレクトリー(/)はウインドウズ上ではD:\cygwin に対応します.(インストール先としてD:\cygwinを指定した場合)。この時、ホームディレクトリーに、 .bashrc、 .bash_profile、 .inputrc ファイルが作られます。これを編集することにより自分用の設定を作れますが、 SSHサーバー建設には直接関係ないので説明は省略します。

3.4 cygwin 使用に際しての留意事項

☆ 外からGUI(グラフィック画面表示)のSSHクライアントを使って入った場合,GUI上では通常はルートディレクトリーの下しか見えません。ルートの外例えばC:¥Program Filesなどを見るためには,“cygdrive”と言う名前の空のディレクトリー(フォルダー)をルートディレクトリー(D:\cygwin)の中に作っておきましょう.外からはcygdriveの中に、Cドライブディレクトリーが(DがあればDも)見えるようになります.

☆ ファイルの格納庫はユニックス系ではディレクトリー、ウインドウズではフォルダーと言い、書き方も違います。ここではディレクトリーで統一します。パス(path)の表示は、ウィンドウズでは例えば

D:\cygwin\etc\sshd_config

の様に書きますが、cygwin を含むユニックス流儀では

/etc/sshd_config

のように書き方が違います。cygwin の中ではユニックス流儀に従いましょう。ユニックスでは \ がエスケープ文字として使われているので、cygwin の中では

D:\\cygwin\\etc\\sshd_config

の様に書かなければならず、ファイル名にスペースもそのままでは使えないからです。

☆ スペースはコマンドの区切りと見なされます.従ってスペースを含むファイル名は‘’または”“で囲むか、スペースの前に‘\’を入れる必要があります。例えばルートディレクトリーに居るときに、C:\Program Files に移りたいときは

cd ‘cygdrive/c/program files’

もしくは

cd cygdrive/c/program\ files

とします. Cygwin環境と共存しようと心がけるならファイル名はスペースの無い英字名にしましょう。日本名にすると後が悲惨です(注)

まあここに述べたようなことはユニックスユーザーにはかなり当たり前の話(Cygwinユーザーズガイド)のようですが,私のようなウインドウズユーザーにとっては慣れるまで大変ですね。辞書と首っ引きのこのごろです。

注: 最近はcygwinの日本語化が結構手軽にできるようです(2, 等を参照)。

3.5 Cygwinのアンインストール

 3.5.1 個々のパッケージのアンインストール

  インストール時と同じく setup.exe を実行します。選択画面を出すまではインストールと同じ。view ボタンで up to date 画面を出すと、左から2番目の列(new) 欄に、インストール済みのパッケージには新しいヴァージョン番号もしくは keep が表示されていますので、除去したいパッケージの円形矢印を uninstall が出るまでクリックします。それから 「次へ」 の実行でOKです。

 3.5.2 部のアンインストール

  私の経験では,最初はかならず設定を間違えて何度かやり直すものです.Cygwinのインストールでも一回では成功しないかもしれません。そこで、アンインストールの方法を記述しておきます。

(1) Cygwin 関連のサービスを停止し全て削除します。サービス一覧は、マイコンピューターを右クリックをして管理を選ぶとコンピューターの管理画面が現れるので、「管理」ー「サービスとアプリケーション」ー「サービス」を選択すれば表示できます。

たとえばSSHサーバーが動いていたとするとCygwin文字入力画面から

cygrunsrv -E sshd

でサービスを停止し、その後

cygrunsrv -R sshd

を実行しsshdをサービスから除去します。Cygrunsrvの使い方についてはこちらを参照してください.Administrator権限が必要です。

(2) D:\cygwin以下の全てのディレクトリーとファイルを除去します。

NTFSファイルシステムで ntsec を有効にしている場合は、 cygwin ディレクトリーの保護を外す必要があります。cygwin ディレクトリーを右クリックしてプロパティ画面を表示し、「セキュリティ」タブを選択します。「詳細設定」ボタンを押し、セキュリティの詳細設定画面の「所有者」タブを選択します。管理者群 (Administrators) を選択し、サブコンテナとオブジェクトの所有者を置き換える欄をチェックしOKします。プロパティ/セキュリティ画面で Administrators にフルコントロールを渡して OK します。

(3) Cygwinのアイコンやセットアップの時に作られた一時的ファイルを削除します。

(4) レジストリーの除去。

 スタートボタンから「ファイル名を指定して実行」をクリックし、窓に regedit を打ち込んで実行すると、レジストリエディター画面が出ますので、次のレジストリーを削除します。

HKEY_CURRENT_USER/Software/Cygnus Solutions
HKEY_LOCAL_MACHINE/Software/Cygnus Solutions
HKEY_USERS/.Default/Software/Cygnus Solutions

以上で完了です。

  <次へ> <戻る>  <top> <目次> <home>