目次
- 環境
- Arch Linuxインストール
- インストール後の設定
- VMイメージをVabrantのbaseboxにする
環境
- ホストOS
- Macbook Air (Marvericks)
- Virtualbox 4.3.10
- Vagrant 1.4.3
- ゲストOS
- Arch Linux 2014.05.01
Arch Linuxインストール
ArchWikiを参考にインストールする
Beginners' Guide (日本語) - ArchWiki
インストール後の設定
アプリケーション設定
sudo
パスワードなしでsudoを実行できるように設定する.
# visudo
%wheel ALL=(ALL) NOPASSWD: ALL
openssh
# pacman -S openssh
クライアントのホスト名を逆引きしない.
# vi /etc/ssh/sshd_config
-------------------------
#UseDNS yes
UseDNS no
SSHサーバをデーモンとして起動する.
# systemctl enable sshd.service
# systemctl start sshd.service
ユーザを追加
vagrantでログインするユーザを追加する
# useradd -m -g users -G wheel -s /bin/bash archer
# passwd archer
# su - archer
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
ホスト上でsshキーを作成してゲストに転送する
note: VMのポートフォワーディング設定: ホスト(2222) -> ゲスト(22)
$ ssh-keygen -t rsa -f ~/.ssh/arch64 -C "archer@arch64"
$ scp -P 2222 ~/.ssh/arch64.pub archer@localhost:~/.ssh/authorized_keys
Virtualbox の Guest Addisions をインストールする
# pacman -S virtualbox-guest-utils
モジュールの設定
note: wiki等の手順には無いがハマったので記録
カーネルモジュールの情報を更新する
# depmod -a
GUIは使用しないので vboxvideoは設定しない.
# modprobe -a vboxguest vboxsf
# vi /etc/modules-load.d/virtualbox.conf
/etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
共有フォルダ機能を有効にする
# groupadd vboxsf
# gpasswd -a archer vboxsf
# systemctl enable vboxservice.service
VMイメージをvagrantのbaseboxにする
1) pacmanのキャッシュをクリアする.
# pacman -Sc
2) DHCPリース情報を削除する.
# rm /var/lib/dhcpcd/*
3) VMイメージをコンパクト化する.
# dd if=/dev/zero of=/EMPTY bs=1M
# rm /EMPTY
4) コマンド履歴を削除する.
# su - archer
$ history -c
<C-D>
# history -c
<C-D>
5) VMをシャットダウンする.
6) VMのポートフォワーディングの設定を削除する.
7) ホスト上でVMイメージのboxを作成する
$ vagrant package --base arch64 --output arch64.box
$ vagrant box add arch64 arch64.box
$ rm arch64.box
8) vagrantでVMを作成する.
$ vagrant init arch64
9) VagrantFileを編集
config.vm.box = "arch64"
config.ssh.username = "archer"
config.ssh.private_key_path = "~/.ssh/arch64"
10) VMを起動する
$ vagrant up