くんすとの備忘録

IT系技術メモ

移転しました。

15秒後に自動的にリダイレクトします。

VMWare Playerの仮想マシンを自動でプロビジョニングするツールを作った

以前の記事 VMWare Playerの仮想マシンを半自動でインストールするツールを作った - くんすとの備忘録 の続き。

内容

あらかじめ作成されたVMWare Playerの仮想マシン(FreeBSD)に対し、プロビジョニングを行います。
(手作りのVagrantみたいなものです)

リポジトリ

github.com

確認した環境

必要なツール

  • VMWare Player (検証時のバージョン:7.1.2 build-2780323)
  • VMWare VIX (検証時のバージョン:1.14.1 build-2496824)

使い方

0. テンプレートの作成

FreeBSDを初期インストールし、その後以下のパッケージをインストールします

これは、前回の記事(VMWare Playerの仮想マシンを半自動でインストールするツールを作った - くんすとの備忘録)を利用して作成することもできます。

1. このリポジトリをクローンする

git clone git@github.com:kunst1080/vm-provision-freebsd-base.git

2. 設定ファイルを書き換える

「config.bat」の内容を確認し、適宜書き換えます

set VMRUN_EXE="C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe"

set VM_TEMPLATE=..\vm-install-freebsd\template
set VM_VMX=output\VM-FreeBSD.vmx

set USER_NAME=USERNAME
set USER_SSHKEY=PATH\TO\authorized_keys
  • VMRUN_EXE … vmrun.exeのパスを指定します。通常はそのままでいいと思います。
  • VM_TEMPLATE … 項番0で作成したテンプレートのフォルダのパスを指定します(相対パス可)。
  • VM_VMX … 作成する仮想マシンのvmxファイルのパスを指定します(相対パス可)。通常は変更不要です。
  • USER_NAME … 一般ユーザのユーザ名を指定します。
  • USER_SSHKEY … 一般ユーザへsshログインするための公開鍵のパスを指定します。ここに指定したファイルを仮想マシン内の~/.ssh/authorized_keysにコピーします。

※書き換えについては「config.bat」を直接書き換える以外に、「config.user.bat.sample」をコピーして「config.user.bat」を作成することもできます。「config.user.bat」は「config.bat」の内容をオーバーライドします。
「config.user.bat」はバージョン管理対象外にしているので、USER_SSHKEYなどはそちらで指定したほうがいいと思います。

3. 「#provision.bat」を実行

「#provision.bat」をダブルクリックで起動します。

これで、vim-liteのインストールと一般ユーザの作成がされた仮想マシンがおいしく焼き上がります。

※ログのあたまの方 f:id:kunst1080:20150809133113p:plain

※ログのおしりの方 f:id:kunst1080:20150809133122p:plain

拡張の方法について

基本的に、「script」ディレクトリ内の各種スクリプトを書き換えていくことになります。

  • provision-pkg.list … pkgngからインストールするパッケージの一覧を記述します。
  • provision-root.sh … rootユーザで実行するプロビジョニングスクリプトを記述します。
  • provision-user.sh … 一般ユーザで実行するプロビジョニングスクリプトを記述します。.bashrcの設定や一般ユーザの環境設定などはここで行います。
  • provision-adduser.sh … ユーザ追加のためのスクリプトです。変更したくなることはあまりないと思います。

BATファイルとシェルスクリプトだけで作った素直なつくり(のつもり)なので、さっと読めば何をしているかだいたいわかると思います。