5

我有一个标准的 Vagrant Precision64 盒子。我想添加一些包,比如 git 和 subversion,然后重新打包盒子。如何使用 package 命令创建一个新盒子?

我知道包是 v2 中的插件。该文档在 v2 中被删除,我不确定它如何应用 http://docs-v1.vagrantup.com/v1/docs/base_boxes.html

如果我尝试在包含 vagrant 机器和 Vagrant 文件的目录中,我得到:

$ vagrant package boxname --output test.box --vagrantfile Vagrantfile
The machine with the name 'boxname' was not found configured for
this Vagrant environment.

编辑:以下作品

$ vagrant package --output vagrant_example.box

这给我留下了以下问题。盒子名称是干什么用的?基本命令有什么作用?谢谢。

4

1 回答 1

12

我手工制作了几个 Vagrant 基础盒(以及使用 Veewee)。AFAIR,命令格式自 1.0.x 以来没有改变。

在您的情况下,您可能必须先初始化并打开盒子,完成您的工作,然后重新打包。所以boxname(--base NAME)是VirtualBox中的名字,你可以通过使用VBoxManage list vms.

vagrant package --output vagrant_example.box之所以有效,是因为它正在打包当前的 vagrant 框(您位于 Vagrantfile 所在的目录中)。

请参阅文档http://docs.vagrantup.com/v2/cli/package.html

--base NAME- 不是打包 Vagrant 管理的 VirtualBox 机器,而是打包 VirtualBox 管理的 VirtualBox 机器。NAME 应该是 VirtualBox GUI 中机器的名称或 UUID。

于 2013-09-30T13:59:24.410 回答