読者です 読者をやめる 読者になる 読者になる

日頃の行い

個人的な日頃の行いをつらつら書いてます\\\\ ٩( 'ω' )و ////

Vagrantでchefもpuppetも使わない

chefとか使おうとしたんですが、なんかやりたいことはそんな複雑じゃないのになんでこんなことしてるんだろう。。。
となったので、やめました。
普通にコマンド走らせてyum installします。

まずは準備です。

cd /path/to/vagrant
vagrant init
vagrant box add centosbox http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box
vim Vagrantfile

とりあえず、大体消します。
そしてある程度の設定をします。
centosboxと言う名でCentOSのboxを追加したのでconfig.vm.boxはcentosboxになっています。

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.hostname = "VagrantTry"
    config.vm.box = "centosbox"

    config.vm.network :private_network, ip: "192.168.56.110"
    config.vm.provider :virtualbox do |vb|
        vb.gui = false
        vb.customize ["modifyvm", :id, "--memory", "1024"]
    end
end

これでとりあえず、空のCentOS6.3は起動するでしょう

ではyum installを行おうと思います。
以下のように修正します。

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

# ここらへん!!
$yum_install_script = <<SCRIPT
yum install -y zsh
usermod -s /bin/zsh vagrant
SCRIPT


Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.hostname = "VagrantTry"
#    config.vm.box = "centos"
    config.vm.box = "centosbox"

    config.vm.network :private_network, ip: "192.168.56.110"
    config.vm.provider :virtualbox do |vb|
        vb.gui = false
        vb.customize ["modifyvm", :id, "--memory", "1024"]
    end
    config.vm.provision "shell",inline: $yum_install_script # ここ!!
# デフォルトではrootユーザでインストールします
#   config.vm.provision "shell",inline: $yum_install_script,privileged: false
# privileged: falseとすればvagrantユーザでインストールします
# vagrant version 1.2.2ではprivilegedは有効ではありませんでした。
end

これで恐らく動く。
(boxが重すぎてまだこのファイル自体はテストしてない(´・ω・`)2014/04/17現在)

2014/04/20追記
試してみたらエラーになったので修正しました。
config.vm.box = "centos"
ではなく
config.vm.box = "centosbox"
でした。

成功するとvagrant upの本来のログに追加して

Loaded plugins: fastestmirror, presto
Determining fastest mirrors
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package zsh.x86_64 0:4.3.10-7.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch              Version                 Repository       Size
================================================================================
Installing:
 zsh            x86_64            4.3.10-7.el6            base            2.1 M

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 2.1 M
Installed size: 4.8 M
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 2.1 M
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : zsh-4.3.10-7.el6.x86_64                                      1/1
  Verifying  : zsh-4.3.10-7.el6.x86_64                                      1/1

Installed:
  zsh.x86_64 0:4.3.10-7.el6

Complete!

というのが緑色で出力されると思います。