vargrantを使って仮想環境構築

正直あんまりわからない。
けど手順だけ。

MAC OSX 10.7.5

VirtualBoxインストール
※インストールしたPC上に仮想的なPCを作成し、別のOSを実行できるソフト。
https://www.virtualbox.org/wiki/Downloads

■Vagrantインストール
http://downloads.vagrantup.com/

■boxイメージダウンロード
boxのサンプルリスト
http://www.vagrantbox.es/

vagrant box add ubuntu13.04 https://dl.dropboxusercontent.com/u/547671/thinkstack-raring64.box

初期化
vagrant init ubuntu13.04

起動
vagrant up

その他コマンド
# 状態確認
vagrant status
# スリープ
vagrant suspend
# 復帰
vagrant resume
# 終了
vagrant halt
# 起動・再起動
vagrant up
# 削除
vagrant destory

vagrant解読(1)

vagrantインストールすると

/usr/bin/vagrant

っていうコマンドができている。

/usr/bin/vagrant
はvagrantをインストールしたらできる

/Vagrant/bin/vagrant

シンボリックリンク


/Vagrant/bin/vagrant
こいつ何やってんだ?

なんかGEM_PATHとか
ゴニョゴニョ設定している。

で最後にこれ実行
${RUBY_EXECUTABLE}" "${VAGRANT_EXECUTABLE}" "$@"
※"$@"はシェルスクリプトで引数格納してる変数
 vagrant -v だと -v が格納されている。
→/Vagrant/embeded/bin/ruby /Vagrant/embeded/gems/bin/vagrant "$@"

/Vagrant/embeded/gems/bin/vagrant
rubyでなんか書いてる

 #!/vagrant-installer/staging/embedded/bin/ruby
 #
 # This file was generated by RubyGems.
 #
 # The application 'vagrant' is installed as part of a gem, and
 # this file is here to facilitate running it.
 #

require 'rubygems'
#→gemのライブラリー使う為に宣言

version = ">= 0"

if ARGV.first
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/
    version = $1
    ARGV.shift
  end
end
#→引数をバイナリにencodeing

gem 'vagrant', version
#→gemにvagrantがあるかどうか?true返す

load Gem.bin_path('vagrant', 'vagrant', version)
#→load /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/bin/vagrant

<||

あー、ruby読むの時間かかるー。
早く慣れたい。