使用VIRTUALBOX创建VAGRANT的BOX
大家好,我是本次首次投稿的Atware株式会社的KEY团队成员矢纳。
在一个项目中经常需要使用CentOS 5.8(32位)操作系统,但是我找不到对应的vagrant的box。我知道vagrant的box可以在http://www.vagrantbox.es/上找到。然而,我只找到了CentOS 5.6(32位)和CentOS 5.8(64位)的box,而我需要的是CentOS 5.8(32位)的。既然找不到,我决定自己制作一个!接下来我将介绍制作的步骤。
安装 VirtualBox 和 Vagrant
这里不再详细介绍安装方法,请从各个网站下载并安装。
-
- VirtualBox
- vagarnt
用VIRTUALBOX创建CENTOS 5.8。
创建一个新的虚拟机在VIRTUALBOX中

2. 进行虚拟机的配置

3. 安装CENTOS 5.8

进行各种设置
检查未启动时的NIC配置。
# sed -i -e "s:^ONBOOT=no$:ONBOOT=yes:" /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep ONBOOT
# service network restart
# ip addr show eth0
禁用MAC地址和UUID 4.2
# ln -f -s /dev/null /etc/udev/rules.d/70-persistent-net.rules
# sed -i -e "s:HWADDR=.*::g" /etc/sysconfig/network-scripts/ifcfg-eth0
# sed -i -e "s:UUID=.*::g" /etc/sysconfig/network-scripts/ifcfg-eth0
4.3 SSH 配置完成后,启动 USEDNS。
# sed -i -e "s:^#UseDNS yes:UseDNS no:" /etc/ssh/sshd_config
# service sshd start
# chkconfig sshd on
4.4连接到VM的SSH
我们将通过常规终端访问VirtualBox进行操作的步骤始于此。
$ ssh root@localhost -p 2222
4.5 增加流浪者的群体和用户
# groupadd vagrant
# useradd vagrant -g vagrant -G wheel
# echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # sudo設定
# sed -i -e "s:^.*requiretty:#Defaults requiretty:" /etc/sudoers # requiretty を無効
4.6 将公开密钥放置在VAGRANT用户的配置中。
# su - vagrant
# mkdir ~/.ssh
# chmod 0700 ~/.ssh
# curl -k -L -o ~/.ssh/authorized_keys https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
# chmod 0600 ~/.ssh/authorized_keys
安装 VirtualBox 的 Guest Additions (4.7 版本)
# yum install -y wget
# mkdir /media/VBoxGuestAdditions
# wget http://download.virtualbox.org/virtualbox/4.3.18/VBoxGuestAdditions_4.3.18.iso
请根据VirtualBox的版本进行下载。
# mount -o loop,ro VBoxGuestAdditions_4.3.18.iso /media/VBoxGuestAdditions
# sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
安装窗口系统驱动程序
找不到X.Org或XFree86窗口系统,所以跳过。
4.8 后续处理
# rm VBoxGuestAdditions_4.3.18.iso
# umount /media/VBoxGuestAdditions
# rmdir /media/VBoxGuestAdditions/
在各自的设备上创建一个盒子。
$ cd ~/VirtualBox\ VMs/centos-5.8_x32/
请你们各自更改VirtualBox的储存位置。
$ vagrant package --base centos-5.8x32 --output centos-5.8x32.box
尾声
之后,使用所创建的盒子
$ vagrant box add centos-5.8_x32 centos-5.8_x32.box
$ vagrant init centos-5.8_x32
$ vagrant up
如果您想使用vagrant,您可以使用CentOS 5.8(32位)。
这次在虚拟机上安装CentOS时,我使用了网络安装版本。实际上,可能不需要进行4.1至4.3的步骤。另外,由于iptables可能限制外部访问,请自行确认。另外,除了本次要安装的CentOS 5.8(32位)外,我还希望能顺利地按照相同的步骤安装CentOS 5.7(32位)。
那么,我们再见吧!(^^)/