ライン

ポイント:*

ライン

 はじめに

Windows7 から利用する

 Vagrantという名前は以前から聞いていましたが、利用を始めたのは最近です。
VirtualBoxの仮想化を利用し、テンプレート(box)を準備しておいて、簡単に環境を作ったり消したりすることができます。
 もちろん仮想ゲストには、Windows OSやCentOS/Linuxなども利用できますが、ここで試すのはいつもFreeBSD。
Windows 7のPC上でFreeBSD 9や10を利用する形をメモしていきます。

 インストール

 Oracle VM VirtualBoxを前提にしていますので、これから入れます。…というか導入済みでした。
でも、最近はVMware Playerの方が便利だったので、中身は空でした。
Vagrantは、VMware系の仮想上でも動作するのですが、テンプレートがそんなに無いので、今回はパスしています。

 VirtualBoxのバージョンアップする部分から開始します。新規インストールでも同じなので置き換えてみていってください。
まず、Windows用の最新版を入手し、そのまま導入します。
VirtualBoxのダウンロードをどうぞ。できる限りの最新版で良いです。
とにかく、そのまま次へで進む感じで入れれば終わりますので、詳細は割愛です。

 中身何もなしで導入完了です。

 Vagrantのダウンロードをします。これも最新版ですね。
職場では、ちょっと前の版を入れっぱなしですが、自宅では新しいものでいれてしまいます。
WINDOWSの部分をクリックして、インストールを開始します。

 これも、次へで進み、終わったらOS再起動…という流れで入れて終わります。
どっちも最新版をそのままつっこめば環境できあがり、ということですね。
 再起動が終わったら、DOS窓を開けます。「コマンドプロンプト」というやつですね。
WINDOWSキー + Rキー というショートカットで「ファイル名を指定して実行」上で「cmd」と入れて「OK」を押すなど呼び出し方は自由です。

 仮想環境を置く場所は、自分で決めていいので、開いたそのままの場所で行うでもOKです。
私は、Cドライブの容量が十分にはないので、Uドライブにvagというフォルダを作成し、そこを利用することにしました。
既に、pathが通るみたいで、vagrantコマンドは利用できるようになっています。
ここでは、statusを確認するパラメータ付きでコマンドを入れてみました。

何もない状態です。

 テンプレートを作成する

FreeBSD 10.0 p1のものを作成してみる

 配布されているものに、FreeBSD 10のものがみつからなかったので自分で作ることにします。
普通にVirtualBoxでFreeBSD10.0を導入し、freebsd-update fetch installでリブート。(FreeBSD10.0 p1)
pkg install perl5、その他vim-liteやcurl、sudo、chef関連を追加してみました。
CPUは1。メモリーは2GB。ディスクは20GBで可変を指定して、ZFSでSWAPは4GBにしました。
※この辺りのあっさりば記載で割愛しても大丈夫?

 ユーザには、vagrantを作成しておきました。

のように設定を入れておきます。
vagrantのユーザでログインして、キーの設定をします。

% mkdir .ssh
% chmod 700 .ssh
% curl -L -o ~/.ssh/authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   409  100   409    0     0    857      0 --:--:-- --:--:-- --:--:--   857
% ll .ssh/authorized_keys
-rw-r--r--  1 vagrant  vagrant  409 Apr 19 22:20 .ssh/authorized_keys
% chmod 600 .ssh/authorized_keys

こんな感じ。sudoで動作するので、/usr/local/etc/sudoersに以下を追加しておきます。

vagrant ALL=(ALL) NOPASSWD: ALL

Guest Adtionsは、今回サーバだし、Xをあげることはしないので入れないことにします。

shutdown -p nowで終了して、vagrantで取り込みをやってみます。

 これでできあがり。仮想が置いてある場所で、以下のコマンドを入力すると、package.boxというファイルが生成されます。

vagrant package --base Freebsd10-amd64-zfs

 その後登録を行いました。

vagrant box add freebsd10 package.box

 以下のように表示されて完成しました。

 登録。

vagrant init freebsd10

 イメージはこんな感じ。

 起動。

vagrant up

 以下のように表示されて完成しました。

 できました。ただし、実はDOS窓では、

とかいっています。
ゲスト必要なんだね。一度削除して登録しなおします。

削除の手順とGuest Additionsの追加

 まず、最初に今まで登録したものを削除しておきます。

> vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
> vagrant halt
==> default: Attempting graceful shutdown of VM...
> vagrant status
Current machine states:

default                   poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`
> vagrant box remove freebsd10
Removing box 'freebsd10' (v0) with provider 'virtualbox'...
> vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Destroying VM and associated drives...

後は、Uドライブに作っていたファイルを削除してしまいます。
この部分は、Windows7上のエクスプローラで消してしまいました。

さて、Guest Additionsの追加ですが、portsで入れるようなページを多くみかけます。
VirtualBoxのCDイメージには何かあるのか覗いてみました。

以下マウントして確認しました。

# mount -t cd9660 /dev/cd0 /mnt
# cd /mnt
# ll
total 57013
dr-xr-xr-x  2 root  wheel      2048 Mar 27 03:04 32Bit/
dr-xr-xr-x  2 root  wheel      2048 Mar 27 03:04 64Bit/
-r-xr-xr-x  1 root  wheel       647 Oct  9  2013 AUTORUN.INF*
dr-xr-xr-x  2 root  wheel      2048 Mar 27 03:04 OS2/
-r-xr-xr-x  1 root  wheel   9901516 Mar 27 03:01 VBoxLinuxAdditions.run*
-r-xr-xr-x  1 root  wheel  20784640 Mar 27 03:14 VBoxSolarisAdditions.pkg*
-r-xr-xr-x  1 root  wheel  16900432 Mar 27 02:55 VBoxWindowsAdditions-amd64.exe*
-r-xr-xr-x  1 root  wheel  10463320 Mar 27 02:47 VBoxWindowsAdditions-x86.exe*
-r-xr-xr-x  1 root  wheel    311584 Mar 27 02:46 VBoxWindowsAdditions.exe*
-r-xr-xr-x  1 root  wheel      6966 Mar 27 02:56 autorun.sh*
dr-xr-xr-x  2 root  wheel      2048 Mar 27 03:04 cert/
-r-xr-xr-x  1 root  wheel      5523 Mar 27 02:56 runasroot.sh*
# ./runasroot.sh
Linux/Solaris not detected.

まぁ、そういうことでしたね。
pkg install virtualbox-ose-additions
とか確認すると、xorg-serverその他いろいろと必要っぽい話になっている感じ。
portsだと、選択できるみたいなので、こっちでいれるしかないよね。

/etc/make.confに少し必要なものを追加しておきました。
また、make config-recursiveで何が入ってくるかを見ておきます。
…少なくとも15程度のパッケージが追加になりそうです。

それ以前にソース取ってこないといけなそうです。エラーが出ていても支障なかったし、ツール系入れないでも良かっただろうか。
pkg install subversionをしてsvnでソースを展開しておきました。(svnliteを使っても良いけど…)
Subversion Mirror Sitesを見ると、未だにアメリカにいくしかないらしい。

# svn co https://svn0.us-west.FreeBSD.org/base/releng/10.0 /usr/src
Error validating server certificate for 'https://svn0.us-west.freebsd.org:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: svnmir.ysv.FreeBSD.org
 - Valid: from Jul 29 22:01:21 2013 GMT until Dec 13 22:01:21 2040 GMT
 - Issuer: clusteradm, FreeBSD.org, CA, US(clusteradm@FreeBSD.org)
 - Fingerprint: 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61
(R)eject, accept (t)emporarily or accept (p)ermanently? p
...
 U   .
Checked out revision 264677.

さて、portsのmakeに戻ります。

# cd /usr/ports/emulators/virtualbox-ose-additions
# make install clean
...
Installing virtualbox-ose-additions-4.3.10_2... done
=============================================================================

VirtualBox Guest Additions were installed.


You need to enable the vboxguest startscript to load the kernel module and
vboxservice to use host time synchronization.

vboxguest_enable="YES"
vboxservice_enable="YES"

You also have to add all X11 users that want to use any of the additional
features (clipboard sharing, window scaling) to the wheel group.

% pw groupmod wheel -m jerry

Reboot the machine to load the needed kernel modules.

For detailed informations please visit http://wiki.freebsd.org/VirtualBox

=============================================================================

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/sbin/VBoxService

      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/vboxservice
/usr/local/etc/rc.d/vboxguest

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.virtualbox.org/

こんな感じです。

ここから、再度vagrantの作成作業です。
del package.box
で一度パッケージを削除して、一連をやり直し。何度もやっていると慣れてきます。

アップをした以降はこんな感じ。

リトライを繰り返している部分は、ログインプロンプトまで来るのを待っているだけでしたので、想定動作。
今度は、ゲストアディションズ8も問題なし。
最後の「mount_virtualbox_shared_folder」は前回も出ていたけど、共有フォルダがうまく動かないという話っぽい。
気づかなかった(?)ことにして、今回はこれで良いことにしました。

最後にTera Termの使い方

 ログインの方法だけメモ。

 こんな感じです。もういくらでも壊し放題、作り直し放題ですね。
そっと、githubにおいておくのも良さそうですが。まだ置いていません。
chef連動までいけたら置こうかなぁ。

ゲストはとりあえず、サスペンドにして作業を終えました。


【改訂履歴】

作成:2014/04/19 更新日: -/-/-


【参照ページ】

Vagrant の VirtualBox 用 Base Box ファイルを手動で作ってみる CUBE SUGAR STORAGE

 
Copyright © 1996,1997-2006,2007- by F.Kimura,