ワテのブログ

The fundamental things apply As time goes by.

2013年12月22日日曜日

Vagrantを使ってみた

スポンサーリンク

vagrantは仮想環境をコマンド一発で構築できる便利なツールである。

仮想環境を構築するにはインストール用CDイメージの用意、仮想マシンの設定、インストール作業が必要である。面倒である。

vagrantはこの作業を軽減してくれる。

vagrantをインストールして以下のコマンドを打つだけでubuntu 12.04の32bit版が起動して仮想マシンにsshでログインできてしまう。(VirtualBoxがインストールされているのが前提)

$ mkdir vagrant
$ cd vagrant
$ vagrant init add precise32 http://files.vagrantup.com/precise32.box
$ vagrant up
$ vagrant ssh

しかもゲストOSの/vagrantフォルダがホスト側のvagrantフォルダ(上のコマンドで作成したフォルダ)が同期されるのでホスト側でコードを書きゲスト側で処理することができる。 このように非常に簡単に仮想環境を構築できる。

さらにVagrantfileを作成すれば必要とするツールをインストールした仮想環境を簡単に構築できる。

具体例を一つ

texlive2012環境の入ったUbuntu 12.04 LTSの仮想環境を構築する。 まず適当にフォルダを作成しそこにVagrantfileを作成する。

# -*- 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.box = "precise32"
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"
  config.vm.provider "virtualbox" do |vb, override|
    override.vm.provision :shell, :inline => "apt-get update && apt-get -y install python-software-properties && add-apt-repository ppa:texlive-backports && apt-get update && apt-get -y install texlive-lang-cjk"
  end
end

そして、おもむろに

$ vagrant up

と打ち込む。

まず、config.vm.box_urlで指定されたURLからboxのダウンロードがはじまる。 ダウンロード完了後、仮想マシンが実行され、override.vm.provisionで指定したコマンドが実行される。 このコマンドはパッケージをアップデートしtexliveのbackportsを設定に必要なadd-apt-repositoryコマンドを含むパッケージをインストール。その後、texliveのbackportsを設定しアップデート。texlive-lang-cjkをインストールする。

その後

$ vagrant ssh

で仮想マシンに接続してplatexコマンドを実行すると

vagrant@precise32:~$ platex
This is e-pTeX, Version 3.1415926-p3.3-110825-2.4 (utf8.euc) (TeX Live 2012/Debian)
 restricted \write18 enabled.
**

という具合にplatexが見事に実行される。

まとめ

Vagrantfileを用意すればコマンド一つで好みの仮想環境を超簡単に構築できてみんな超ハッピー

以上

スポンサーリンク

0 件のコメント:

コメントを投稿