Vagrant是否可以直接使用操作系统.ISO安装映像/或者动态创建ISO的Vagrant盒子?

时间:2013-03-06 09:26:31

标签: automation operating-system install vagrant

是否可以从原始ISO自动创建用于OS安装的Vagrant .box文件?

对我而言,这是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文件的指南:

但这些都是手动步骤 - 这与Vagrant自动化和一致性背后的哲学背道而驰。特别是如果许多人想要达到能够使用原始目标的最终目标 - 这将最终导致每个人的重复努力。

所以我将从一个明确的答案中看到这里,该答案描述了如何制作通用自动化脚本以将.ISO OS安装映像转换为Vagrant盒。

1 个答案:

答案 0 :(得分:21)

我认为VeeWee提供了一种很好的机制来从ISO准备一个Vagrant盒子:

https://github.com/jedi4ever/veewee

它已经为大多数发行版提供了许多开箱即用的模板,您可以根据需要进行自定义(尽管通常不需要)。或者,您可以创建自己的定义。

或者你也可以使用Packer:

https://packer.io/

由制造Vagrant的同一家公司生产,因此它具有相当好的集成度。 Packer本身并没有提供我认为的样本模板,但如果您愿意,可以使用Puppet Labs用于其自身测试目的的模板:

https://github.com/puppetlabs/puppetlabs-packer

这可以作为您自己的模板的坚实基础,并根据需要进行修改,或者您可以根据需要在项目中提出PR以供回馈。