you_hikoの技術メモ - Vagrant and Knife Solo to Chef Solo

VirtualBoxインストール

Vagrantインストール

C:\opt\vagrantにインストールします。

Minimalist GNU for Windowsインストール

C:\opt\MinGWにインストールします。
Minttyを利用する
C:\opt\vagrant\embedded\bin\mintty.exeのショートカットを作ります。また、ショートカットのリンク先(T)に/bin/bash --loginを追加します。

Vagrantの使い方

Minttyのセットアップ

$ cp -r /c/opt/MinGW/. /c/opt/vagrant/embedded/
$ cd /c/opt/vagrant/embedded/var/lib/mingw-get/data/
$ cat defaults.xml|(rm defaults.xml;sed 's/%R\/msys\/1.0/\/opt\/vagrant\/embedded/g' > defaults.xml)
$ cat profile.xml|(rm profile.xml;sed 's/%R\/msys\/1.0/\/opt\/vagrant\/embedded/g' > profile.xml)
$ mingw-get update
$ mingw-get upgrade
$ mingw-get install msys-openssl msys-openssh msys-rsync msys-tar msys-vim

仮想サーバーを立ち上げる

boxファイルを追加
 $ vagrant box add centos64_x86_64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
 $ mkdir centos64_x86_64~~
 $ cd centos64_x86_64
仮想サーバーをVirtualBoxへアタッチする
$ vagrant init
仮想サーバーを起動する
$ vagrant up
仮想サーバーへの接続
$ vagrant ssh-config --host centos64_x86_64 >> ~/.ssh/config
Host centos64_x86_64
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile ユーザーディレクトリ/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL
$ ssh centos64_x86_64
仮想サーバーを停止する
$ vagrant halt
仮想サーバーを削除する
$ vagrant destroy
仮想サーバーのboxファイルを削除する
$ vagrant box remove centos64_x86_64

Saharaプラグイン

Vagrant に commit & rollback ができる機能を追加します
Saharaのインストール
$ vagrant plugin install sahara
sandbox モードに入る
$ vagrant sandbox on
sandbox モード on に入った時点まで巻き戻す
$ vagrant sandbox rollback
変更を確定
$ vagrant sandbox commit

SnapShotプラグイン

Vagrant に SnapShot ができる機能を追加します
SnapShotのインストール
$ vagrant plugin install vagrant-vbox-snapshot
SnapShotの取得
$ vagrant snapshot take <name>