Vagrant 是如何完成如此小的 box 文件大小的?

Joh*_*son 5 linux virtualbox ubuntu vagrant

我已经使用以下命令为 Ubuntu Linux Precise Pangolin 32 位创建了一个 Vagrant 基础映像文件:

vagrant box add precise32 http://files.vagrantup.com/precise32.box
Run Code Online (Sandbox Code Playgroud)

precise32.box然后将该文件放置在C:\Users\MyUserNameHere\.vagrant.d\boxes\precise32 其内容包括一个名为 virtualbox 的子目录下,其中包含一个名为box.ovf14KB 的文件和一个名为box-disk1.vmdk仅 288.318KB的文件。

另一方面,我还在 Oracle VirtualBox 中安装了 Ubuntu Linux Precise Pangolin 32 位系统,使用 12GB 动态分配的存储并将磁盘映像导出到.ova文件。该.ova文件大小为 1.63GB。

我很难弄清楚为什么一个文件只有几 KB,而文件却是原来的.ova六倍多。谁有想法?为什么我看到导出.ova文件的文件大小与.vmdkVagrant 管理的文件大小有如此大的差异?

Joh*_*son 4

原因是这样的,我终于明白了。

下面的文件C:\Users\MyUserNameHere.vagrant.d\boxes\precise32 只是构建实际系统的基础文件。然后将 precision32 框的真实实例放置在以下目录下:

C:\Users\MyUserName\VirtualBox VMs\name_of_the_directory_containing_the_Vagrantfile_default_1384903788
Run Code Online (Sandbox Code Playgroud)

vagrant up一旦从包含 Vagrantfile 的目录发出命令,就会创建它。就我而言,.vmdk放在这里的文件是 1.03GB,这更有意义。