MSYS2+VagrantによるWindowsでのUNIX環境

0. 目次

1. はじめに
2. Vagrantについて
3. WindowsにおけるVagrantの利用について
4. PuTTYを使う方法
5. Vagrant付属のMSYS環境を利用する
5.1. Vagrant付属のMSYS環境下でmingw-getを使えるようにする
5.2. Vagrantによる仮想マシンの構築と接続の実際
5.3. MSYSのsshで接続できない時の回避策
5.4. 結局この方法はおすすめできない
6. MSYS2環境を利用する
6.1. MSYS2とは
6.2. MSYS2のダウンロードとインストール
6.3. シェルの環境設定
6.4. フォントの設定
6.5. 必要なパッケージのインストール
6.6. Vimの設定
7. 再度Vagrant
8. 仮想マシンLinuxの日本語化
9. ネットワーク設定
10. ファイル共有機能

1. はじめに

仕事上,UNIX(GNU)関係ツールをよく使うのです.
Git, Vim, gcc, make, Bash, OpenSSH, Emacs, grep, MySQL, Gnuplot, etc..
でも,メインのマシンをLinuxにするほどの勇気はありません.ですので,現在は主にMac (OS X)を使ってます.
「OS X」はBSD UNIXベースのOSのDarwin (http://en.wikipedia.org/wiki/Darwin_(operating_system) )です.

しかし,コンパイラはLLVM-GCC(llvm-gcc)か,Apple LLVM Compiler(clang)
Rubyも古いし,ApacheやPHPも同梱されているけど拡張しづらいし.
結局,独自のUNIXパッケージ管理を使わざるを得ません.

  • MacPorts
    • 全て「/opt/local」上のライブラリで完結し,Macのシステムに依存しない.
    • Gitだけをインストールするのに,約40個もの依存パッケージ(ncurses, openssl, perl等)をインストールしなければならない
  • Homebrew
    • 「/usr/local」配下をユーザに読み書きパーミッションを与えて利用.sudoしなくてよい.
    • 必要なプログラムだけをインストールするので無駄がない.
    • ビルドに,システムの古いライブラリを利用したり,Homebrew内のライブラリを利用したりで混在してしまう.

そう考えると,ぼちぼちWindowsがメインでも良いかもという気がしてきました.自分が感じるMacの不満は...

  • MS OfficeもWindow版とMac版では,やっぱり若干違う.
  • MacBook Airでも結構重い(1kg超)
  • アルミボディなのでちょっとぶつけたらすぐ変形する.
  • D-sub15ピン(VGA)コネクタや,RJ-45(LAN)用コネクタなど利用するのに色々インターフェースが必要.
  • OS Xのアップグレードのペースについていけない…
  • OS Xのアップグレードの度に,Homebrewがなんかおかしくなる
  • Xcodeがでかい.

でも,カッコいいし,フォントレンダリングも奇麗だし,何よりもベースはUNIXというのが良いのです.しかし,Windowsでも,UNIX環境を使おうと思えば使えるんですよね.

  • Cygwin
    • Windowsで,完全なUNIX環境を提供
    • 色々なUNIXアプリケーションが移植されている
    • 独自ライブラリ(cygwin1.dll)を利用
  • MSYS(MinGW)
    • GCC及び必要なツールのみの提供
    • Microsoftのランタイムライブラリ(msvcrt.dll)を利用

結局...

MacやWindows上で,ネイティブにWeb開発環境を入れても維持管理が困難
案件によって,バージョン等開発環境が異なるのは当たり前
結局,なんだかんだでLinuxの方が良いでしょう

ならば,Windows上でLinuxを利用すればよい.

そこで,VirtualBoxとVagrantの登場です.
なんだ,結局仮想化じゃないか...」と声が聞こえてきそう.

今回は,WindowsでVagrantを利用する最適な方法の1つを説明します.

“MSYS2+VagrantによるWindowsでのUNIX環境” 続きを読む