インストール時設定

容量節約のためにgame, srcはインストールしない。
rootのパスワードはvagrantに。
ユーザvagrantを追加、パスワードもvagrantに。
sshdは有効に、dumpdevは無効に。

/etc/rc.confの中身

hostname="freebsd10"
keymap="jp.106.kbd"
ifconfig_em0="DHCP"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"

インストール後設定

まずはOSの更新。

# freebsd-update fetch install
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... none found.
Fetching public key from update.FreeBSD.org... done.
(略)

pkgのインストール

pkgをインストールするには、pkg listでもなんでも叩けばインストールしてくれる。

# pkg list
The package management tool is not yet installed on your system.
Do you want to fetch install it now? [y/N]: y
(略)

sudoのインストール

vagrant用に。

# pkg install sudo

ユーザvagrantにパスワードなしのsudo権限を与える。

requirettyがあればコメントアウト。

# visudo

vagrant ALL=(ALL) NOPASSWD: ALL

ユーザvagrantのssh key設定

定番のキーをauthorized_keysとしてダウンロードし、パーミッションを設定する。

# mkdir -p /home/vagrant/.ssh
# cd /home/vagrant/.ssh
# fetch --no-verify-peer -o authorized_keys https://github.com/mitchellh/vagrant/blob/master/keys/vagrant.pub
fetch: https://github.com/mitchellh/vagrant/blob/master/keys/vagrant.pub: size of remote file is not known
authorized_keys                                         80 kB  225 kBps 00m00s
#
# chmod 700 ~vagrant/.ssh
# chmod 600 ~vagrant/.ssh/authorized_keys
# chown -R vagrant:vagrant ~vagrant

sshd設定の変更

/etc/ssh/sshd_configに以下を追加。

Port 22
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PermitEmptyPasswords no
UseDNS no

空行、コメント行を除くとこんな感じ。

# egrep -v '^ *#|^ *$' ./sshd_config
Port 22
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PermitEmptyPasswords no
UseDNS no
Subsystem       sftp    /usr/libexec/sftp-server

sshdを再起動

# service sshd restart
Performing sanity check on sshd configuration.
Stopping sshd.
Performing sanity check on sshd configuration.
Starting sshd.

VirtualBox Guest Additonsは必要か。

FreeBSDのGuest Additionsで以下が可能になる。
https://wiki.freebsd.org/VirtualBox

Clipboard sharing
Mouse pointer integration
Host Time synchronization
Window scaling
Seamless mode

逆に言うと、以上が必要なければわざわざ入れることもない。
もしXを入れないのであれば、インストールしないほうがよい。
pkgのGuest AdditionsはX11のサポートがOnになっており、そのままインストールすると山ほどpackageを追加されるから。
ではportsからコンパイルする?
まずportsディレクトリが必要。
さらに、実はGuest AdditionsのコンパイルにはKernelソースが必要なので、/usr/srcも必要。
しかもportsからのコンパイルするとperlやらgmakeやら、いろんなもののコンパイルが発生する。
本当におすすめしない。

Guest Additionsのインストール

インストールする場合には、pkgからvirtualbo-ose-additonsを。
search -fすると分かるが、X11がOnになっている。

$ pkg search -f virtualbox-ose-additions
virtualbox-ose-additions-4.3.30
Name           : virtualbox-ose-additions
Comment        : VirtualBox additions for FreeBSD guests
Description    :
These additions are for installation inside a FreeBSD guest.

Options        :
        DEBUG          : off
        OPENGL         : off
        X11            : on

$ pkg install virtualbox-ose-additions<\pre>

/etc/rc.confの変更
$ sudo sysrc vboxguest_enbale=YES
vboxguest_enbale:  -> YES
$ sudo sysrc vboxservice_enable=YES
vboxservice_enable:  -> YES

念のため確認

$ sudo sysrc vboxservice_enable
vboxservice_enable: YES
$ sudo sysrc vboxguest_enbale
vboxguest_enbale: YES

仮想マシンをパッケージする

シャットダウンしたのち、ホストマシンで梱包
-boxに続けてVirtualBox上の名前を入れる。

vagrant package --box FreeBSD10

できたpackage.boxは約1Gバイト。うーん。ちょっとでかいなあ。