如何制作一个vagrant的base box 及安装 additions
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何制作一个vagrant的base box 及安装 additions相关的知识,希望对你有一定的参考价值。
参考技术A 自己装虚拟机,做一个base box出来,以便使用。本文主要针对ubuntu的base box的制作。步骤如下:(环境 OS:ubuntu12.04_Desktop virtualbox:4.1.12)
1.在物理机安装好ubuntu系统,在此系统上安装virtualbox
2.下载一个需要的ubuntu版本的iso镜像
3.创建一个新的虚拟机
给虚拟机起个名字为”vagrant-precise32″
确保您分配足够的磁盘空间,40GB足够了。
确保默认的内存分配也不用太高,建议360M。
如果不需要,禁用音频,USB控制器等。大多数应用程序都不需要播放音乐!因此,节约资源,禁用这些功能。
确保网络控制器设置为NAT,为了端口转发正常工作。
4.启动虚拟机,安装ubuntu,确保配置如下(非强制,如打算分发此box,建议遵循如下约定)
Hostname:vagrant-[os-name],例:vagrant-ubuntu-Steve
Domain: vagrantup.com
Root Password: vagrant
Main account login: vagrant
Main account password: vagrant
5.安装完毕后,进入虚拟机
6.根据自己需要,安装一些常用软件
sudo apt-get -y install vim
7.创建admin组
sudo groupadd admin
8.添加vagrant用户到admin组
sudo usermod -G admin vagrant
9.修改sudoers文件
sudo vim /etc/sudoers #添加或修改如下行(有些发行版还需Disable requiretty):
Defaults env_keep=”SSH_AUTH_SOCK”
%admin ALL=NOPASSWD: ALL
10.安装puppet(chef没有计划装进去,如需要可安装ruby,rubygems,chef)
sudo apt-get install puppet puppetmaster
11.安装ssh
sudo apt-get install openssh-server
12.安装vagrant的public keys
mkdir ~/.ssh/
cd ~/.ssh
wget http://github.com/mitchellh/vagrant/raw/master/keys/vagrant
wget http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub
mv vagrant.pub authorized_keys
13.Install virtual box guest additions(为了共享文件夹,端口转发等)
(1) First, build the necessary packages. You may have to look these up for your system, but they should be fairly similar. On Ubuntu and Debian based systems they are as follows:
$ sudo apt-get install linux-headers-$(uname -r) build-essential
(2) Next, make sure to insert the guest additions image by using the GUI and clicking on “Devices” followed by “Install Guest Additions.”. Then run the following to mount the CD Rom:
$ sudo mount /dev/cdrom /media/cdrom
(3) And finally, run the shell script which matches your system. For linux on x86, it is the following:
$ sudo sh /media/cdrom/VBoxLinuxAdditions.run
If you didn’t install a Desktop environment when you installed the operating system, as recommended to reduce size, the install of the VirtualBox additions should warn you about the lack of OpenGL or Window System Drivers, but you can safely ignore this.
14.清除缓存
sudo apt-get clean
15.关闭虚拟机,进入virtual box directory(~/VirtualBox VM/vagrant-precise32)
vagrant package –output ubuntu_32.box –base vagrant-precise32
总结:以上步骤完成后生成的ubuntu_32.box就可以拿来用了,用vagrant box add ,vagrant init等自己测试看看吧。
如何制作一个vagrant box
因为要用的窗口应用,基于服务器的各种box不能使用(曾经尝试安装桌面,没有成功)。所以试着基于Ubuntu的虚拟机创建自己的box。
过程中主要参考了这篇文章:http://www.360doc.com/content/13/0826/17/13047933_310047914.shtml
主要过程简述如下:
1、安装virtualbox
2、安装 vagrant
3、下载Ubuntu的iso文件,并安装虚拟机,注意要采用以下用户名、密码
root密码:vagrant
用户名:vagrant
用户密码: vagrant
4、完成后进入虚拟机安装必要组件,并进行设置
安装vim
安装openssh-server
安装vagrant的public keys(参考文较详细)
cd ~/.ssh
wget http://github.com/mitchellh/raw/master/keys/vagrant
wget http://github.com/mitchellh/raw/master/keys/vagrant.pub
mv vagrant.pub authorized_keys
注意文件名要正确,因为文件名错误耽误了好长时间。
5、权限变更(非常重要,原文部分没有),否则ssh有问题
sudo gpassd -a vagrant sudo //加入sudo
sudo vim /etc/sudoers
添加 Default env_keep = "SSH_AUTH_SOCK"
更改 %admin ALL=(ALL) NOPASSWD:ALL
cd ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/autorized_keys
6、设置虚拟机端口映射
ssh 2222 映射到22,不用设置宿主机及客户机
7、打包 box文件
8、在vagrant下安装使用
以上是关于如何制作一个vagrant的base box 及安装 additions的主要内容,如果未能解决你的问题,请参考以下文章
基于VMware Workstation构建Vagrant base box
基于VMware Workstation构建Vagrant base box