最近在学习puppet,自然而然地想到使用vagrant配置一些虚拟机练手。默认的vagrant的box大多都是带puppet,但是很神奇的是没有/etc/puppet这个目录,估计不是使用类似apt-get的方式安装的。解决方法之一是使用人家未安装puppet的base box,比如这里有一个列表。个人比较习惯ubuntu/debian的环境,所以试着找了几个相关的base box,但是不是很满意。另外还有一个解决方法,就是自己做base box。
虽然vagrant的文档上说不是很推荐自制base box,因为比较耗时间。但是如果你对系统管理比较熟悉的话,亲手做一下也不是特别麻烦。我参考这篇文章自己尝试做了一个基于debian-7.3.0-i386,通过aptitude安装了puppet的base box。
首先虚拟机自身的配置,内存设定不要太大,动态分配的空间不要太小,还有大部分时候音频和USB是没有用的。
理论上vagrant的base box和普通的虚拟机映射文件区别不大,只是安装系统的时候有几个地方需要注意:
- root password: vagrant
- 附加的用户名和密码 vagrant, vagrant
- hostname: vagrant
- 只安装必须的软件,大部分时候桌面环境是不需要的
安装完之后,需要增加一个admin组,把vagrant用户加入admin组,并且修改/etc/sudoers文件允许admin组用户执行sudo时不输入密码。
默认debian是没有sudo的,需要用aptitude安装,安装完之后才有/etc/sudoers这个文件。
最后aptitude安装puppet,清理一些东西之后就可以用vagrant做base box了。
做完之后加入vagrant的box列表,自己尝试启动一个,如果vagrant up成功就说明可以了。
One response to “自制vagrant base box”
[…] 前一篇讲到自制vagrant box,本篇来讲一些优化的方法。 […]