web-dev-qa-db-ja.com

Vagrantはどのようにしてこのような小さなボックスファイルサイズを実現しますか?

次のコマンドを使用して、Ubuntu Linux Precise Pangolin32ビット用のVagrantベースイメージファイルを作成しました。

vagrant box add precise32 http://files.vagrantup.com/precise32.box

このprecise32.boxファイルはC:\Users\MyUserNameHere\.vagrant.d\boxes\precise32の下に配置され、その内容には、特にbox.ovfという14KBのファイルとbox-disk1.vmdkという288.318KBのファイルを含むvirtualboxというサブディレクトリが含まれます。 。

一方、動的に割り当てられた12GBのストレージを使用してOracleVirtualBox内にUbuntuLinux Precise Pangolin 32ビットシステムをインストールし、ディスクイメージを.ovaファイルにエクスポートしました。この.ovaファイルのサイズは1.63GBです。

.ovaが6倍以上の大きさであるのに、なぜ1つのファイルが数KBのオーダーであるのか理解するのに苦労しています。誰かアイデアはありますか?エクスポートされた.ovaファイルとVagrantによって管理されている.vmdkファイルのファイルサイズにこのような大きな違いが見られるのはなぜですか?

5
John Sonderson

これが理由です、私はついにそれを理解しました。

C:\Users\MyUserNameHere.vagrant.d\boxes\precise32の下のファイルは、実際のシステムが構築されるベースファイルにすぎません。次に、exact32ボックスの実際のインスタンスは、次のようなディレクトリの下に配置されます。

C:\Users\MyUserName\VirtualBox VMs\name_of_the_directory_containing_the_Vagrantfile_default_1384903788

これは、Vagrantfileを含むそのようなディレクトリからvagrant upコマンドが発行されると作成されます。私の場合、ここに配置された.vmdkファイルは1.03GBであり、これはより理にかなっています。

4
John Sonderson