22

是否可以从原始 ISO 自动创建用于操作系统安装的 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/下载/)。想要原始安装映像的原因是安全性(因为无法验证第三方映像是否存在安全隐患和恶意软件),并且可以按照原始供应商的意图获取映像,而无需额外的东西。另一个原因是利用原始供应商直接发布的新版本,而不必等待第三方将其作为 Vagrant .box 发布

有从 .ISO 映像创建 .box 文件的指南:

但这些都是手动步骤——这与 Vagrant 背后的自动化和一致性理念背道而驰。特别是如果许多人想要实现能够使用原版的最终目标 - 这最终会导致每个人都重复努力。

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

4

1 回答 1

25

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

https://github.com/jedi4ever/veewee

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

或者,您可以使用 Packer:

https://packer.io/

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

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

这可以用作您自己的模板的坚实基础并根据需要进行修改,或者您可以在项目上提出 PR 以在需要时做出贡献。

于 2013-03-06T09:44:00.997 回答