目次
- 環境
- 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] (https://wiki.archlinux.org/index.php/Beginners'_Guide_(日本語))
インストール後の設定
アプリケーション設定
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にする
- pacmanのキャッシュをクリアする.
# pacman -Sc
- DHCPリース情報を削除する.
# rm /var/lib/dhcpcd/*
- VMイメージをコンパクト化する.
# dd if=/dev/zero of=/EMPTY bs=1M
# rm /EMPTY
- コマンド履歴を削除する.
# su - archer
$ history -c
<C-D>
# history -c
<C-D>
-
VMをシャットダウンする.
-
VMのポートフォワーディングの設定を削除する.
-
ホスト上でVMイメージのboxを作成する
$ vagrant package --base arch64 --output arch64.box
$ vagrant box add arch64 arch64.box
$ rm arch64.box
- vagrantでVMを作成する.
$ vagrant init arch64
- VagrantFileを編集
config.vm.box = "arch64"
config.ssh.username = "archer"
config.ssh.private_key_path = "~/.ssh/arch64"
- VMを起動する
$ vagrant up
参考サイト
- [Beginners' Guide (日本語) - ArchWiki] (https://wiki.archlinux.org/index.php/Beginners'_Guide_(日本語))
- [Virtualbox (日本語) - ArchWiki] (https://wiki.archlinux.org/index.php/VirtualBox_(日本語))
- [Vagrant のベースBOX作成手順 (Scientific Linux 6.1) - エンジニアきまぐれTips] (http://d.hatena.ne.jp/okinaka/20110805/1312474847)
- [veewee/templates/archlinux-x86_64/virtualbox.sh at master · jedi4ever/veewee] (https://github.com/jedi4ever/veewee/blob/master/templates/archlinux-x86_64/virtualbox.sh)