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

内容

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

リポジトリ

確認した環境

  • Windows 10 64bit
  • Windows 8.1 64bit
  • Windows 7 64bit

必要なツール

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

使い方

0. テンプレートの作成

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

  • sudo
  • open-vm-tools

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

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

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

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

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

1
2
3
4
5
6
7
8
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のインストールと一般ユーザの作成がされた仮想マシンがおいしく焼き上がります。

※ログのあたまの方

※ログのおしりの方

拡張の方法について

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

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

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