Cygwinの自動インストール

Cygwinのインストール(特にパッケージの追加)は、いちいちGUIのインストーラを起動する必要があるところが難点でした。それを解消する方法として、以前の記事ではapt-cygを導入しました。

しかしながらCygwinのインストーラを引数指定で起動することによって、Cygwin本体のインストールやパッケージの追加が全て手作業の介入なしで出来ることが分かりました。

コマンドラインからのCygwinインストーラ起動方法

指定可能な引数はCygwinのFAQに書いてあります。

Cygwinのインストーラ(setup-x86.exe)をダウンロードして、コマンドプロンプトを開いてインストーラのあるフォルダを開きます。後は以下のコマンドを実行するだけで追加パッケージなしのCygwin本体だけをインストールできます。

$ setup-x86.exe ^
   --root c:\cygwin ^
   --site http://ftp.iij.ad.jp/pub/cygwin/ ^
   --local-package-dir %CD% ^
   --quiet-mode

この場合、Cygwinインストーラは以下の設定で動作します:

  • インストール先はc:\cygwinとする(--root c:\cygwin)
  • http://ftp.iij.ad.jp/pub/cygwin/ からダウンロードする(--site http://ftp.iij.ad.jp/pub/cygwin/)
  • ダウンロードしたファイルは現在のフォルダにキャッシュする(--local-package-dir %CD%)
  • 自動モードでインストールする(--quiet-mode)

ダウンロード元として指定するミラーサイトは、以下のページから適当に日本のサイトを選んでおくのが良いです。

パッケージの追加

一旦Cygwinをインストールしてしまえば、インストール先等の情報を再度指定する必要はなくなります(レジストリに設定される?)

後は追加したいパッケージ名を指定してインストーラを起動するだけで全自動でインストールされるので、apt-cygをセットアップするより簡単かもしれません。

$ setup-x86.exe --packages ruby,git --quiet-mode

自動インストールさせるためには--quiet-modeは必ず指定する必要があります。

まとめてインストール

Cygwin本体と追加パッケージのインストールはまとめて実行できます。

以前の記事ではapt-cygをインストールしてからRubyのビルドに必要なパッケージをインストールする手順でしたが、以下のコマンドを実行すればCygwinのインストールから追加パッケージまで全て自動でインストールできます。

$ setup-x86.exe ^
   --root c:\cygwin ^
   --local-package-dir %CD% ^
   --site http://ftp.iij.ad.jp/pub/cygwin/ ^
   --quiet-mode ^
   --packages gcc,git,make,patch,libncurses-devel,openssl-devel,readline,libsqlite3-devel,libxml2-devel,libxslt-devel,wget