对我来说,这是Vagrant提供的虚拟机上操作系统安装和配置的端到端自动化的一个重大差距.
当然,VagrantBox.es提供了许多基础的.box操作系统安装文件供使用.但有些来自第三方供应商,而不是原始的OS分销商.例如Arch Linux:Arch Linux 64(2012-07-02)http://vagrant.pouss.in/archlinux_2012-07-02.box
不希望对第三方供应商的努力产生负面影响,但有些组织可能希望原始操作系统提供商的原始安装映像(例如上面的Arch示例,这将是:https://www.archlinux.org/download/).想要原始安装映像的原因将是安全性(因为不可能验证第三方映像的安全妥协和恶意软件),并将图像作为原始供应商,而不需要额外的东西.另一个原因是直接从原始供应商利用新版本,而不必等待第三方将其作为Vagrant .box发布.
有一个从.ISO图像创建一个.box文件的指南:
> http://www.practicalweb.co.uk/blog/12/10/16/how-build-centos-6-base-box-vagrant
> http://pyfunc.blogspot.co.uk/2011/11/creating-base-box-from-scratch-for.html
但这些都是手动的步骤 – 这违反了Vagrant自动化和一致性背后的角色.特别是如果许多人想要实现能够使用原版的最终目标 – 这将最终导致每个人都有重复的努力.
所以我将从一个确定的答案中看到这里,描述如何制作一个通用的自动化脚本将.ISO操作系统安装映像转换为Vagrant框.
我认为VeeWee提供了一个很好的机制来准备来自ISO的Vagrant Box:https://github.com/jedi4ever/veewee
它已经为大多数发行版提供了大量开箱即用的模板,您可以根据需要进行自定义(尽管这通常不需要).或者,您可以创建自己的定义.
或者您也可以使用Packer:
https://packer.io/
这是由同一家公司生产的Vagrant,所以它有相当好的整合. Packer本身没有提供我相信的示例模板,但是您可以使用Puppet Labs自己测试的用途,如果你喜欢:
https://github.com/puppetlabs/puppetlabs-packer
这可以作为您自己的模板的坚实基础,并被修改为品味,或者您可以在项目上提高公关,以便如果需要回馈.