nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Vagrantのboxを作る(Ubuntu 12.04.4 LTS Server amd64)

続けて Ubuntu 12.04.4 Serverのbox作成手順。
Vagrant 1.5.1で作成しました

[構成]

Ubuntu 12.04.4 Server amd64
 ubuntu-12.04.4-server-amd64.iso
http://www.ubuntu.com/start-download?distro=server&bits=64&release=lts
・CPU 1コア
・MEM 768MB
・Disk
 ・Disk1 40GiB 可変
  ・/(root)  38.9 GB ext4
  ・swap     4.0 GB
・ネットワーク
 ・NAT
  Intel PRO/1000 MT Desktop(8254OEM)


[設定]

・Host名
 ubuntu-1204
・Timezone
 Asia/Tokyo
・言語
 Japanese
・キーボード
 US
・vagrantユーザー
 vagrant
・taskselの設定
 ・自動的にアップデートしない
・ソフトウェアの選択
 ・OpenSSH server


[OSインストール後]
1. ミラー変更

$ sudo sed -i".bak" 's%http://jp.archive.ubuntu.com/ubuntu%http://ftp.jaist.ac.jp/pub/Linux/ubuntu%' /etc/apt/sources.list


2. アップデート

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get clean
$ sudo apt-get dist-upgrade -y
$ sudo apt-get clean


3. sudoers

$ sudo visudo
vagrant ALL=(ALL) NOPASSWD: ALL

をファイルの一番最後に追加。

4. ssh keyを追加

$ mkdir .ssh
$ chmod 0700 .ssh
$ cd .ssh
$ wget https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O authorized_keys --no-check-certificate
$ chmod 0600 authorized_keys


5. sshd 設定

$ sudo vi /etc/ssh/sshd_config
UseDNS no
$ sudo service sshd restart


6. grubタイムアウトを短くする

$ sudo vi /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0
$ sudo update-grub


7. virtual box guest addon

$ sudo apt-get install build-essential
$ sudo mount /dev/cdrom /media
$ sudo /media/VBoxLinuxAdditions.run
$ sudo umount /dev/cdrom
$ sudo shutdown -r now


8. swapをなるべく使わない設定にする

$ sudo vi /etc/sysctl.conf
vm.swappiness = 0


9. 古いKernel削除

$ sudo apt-get remove --purge linux-image-3.11.0-15-generic linux-headers-3.11.0-15 linux-headers-3.11.0-15-generic


10. 履歴消去
(再ログイン)

$ HISTIGNORE=*
$ rm /var/lib/dhcp/*
$ cat /dev/null > ~/.bash_history


11. ゼロ埋め

$ dd if=/dev/zero of=zerofile bs=1M
$ rm -f /zerofile


12. 停止。ディスクファイル圧縮

$ sudo shutdown -h now
Hostで実行

$ VBoxManage modifyhd --compact "Ubuntu 12.04.4 Server.vdi"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


[boxを作成]

$ VBoxManage list vms
(省略)
"Ubuntu 12.04.4 Server" {3f38b52c-d13e-44f2-a7ac-5dc1dce6d247}
$ vagrant package --base "Ubuntu 12.04.4 Server" --output ubuntu_12.04.4_server.amd64.box


[test]

$ vagrant box add --name test ubuntu_12.04.4_server.amd64.box
$ vagrant init test
$ vagrant up



参考:
Creating a Base Box - Vagrant Documentation
vagrantでVirtualBox4.3用のbox作り方 (ubuntu13.10) - Qiita [キータ] サーバ版Ubuntu 12.04LTSのアップデートを高速化する | 近藤嘉雪のプログラミング工房日誌 Ubuntuで,パスワードなしでrootになるには - わさっき