.boxİndirme ve kutu kurulumu tamamlandıktan sonra gerçek dosya Vagrant tarafından silinir. Diğer yanıtlarda belirtildiği gibi, indirirken .box dosyası şu şekilde depolanır:
~/.vagrant.d/tmp/boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
burada dosya adı 'kutu', ardından 40 baytlık onaltılık bir karma olur. Örneğin, sistemimdeki geçici bir dosya:
~/.vagrant.d/tmp/boxc74a85fe4af3197a744851517c6af4d4959db77f
Anlayabildiğim kadarıyla, bu dosya asla bir *.boxuzantıyla kaydedilmez , bu da yukarıdaki aramaların neden onu bulamadığını açıklar. Gerçek kutu dosyasını almanın iki yolu vardır:
.Box dosyasını vagrantcloud.com adresinden indirin
- Atlas'ta ilgilendiğiniz kutuyu bulun . Örneğin,
https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1
- Alan adını ile değiştirin
vagrantcloud.com. Yani https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1
olur https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box .
- Ekle
/providers/virtualbox.boxBu URL'nin sonuna. Yani https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1 olur https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box
- .Box dosyasını kaydedin
- .Box'ı istediğiniz gibi kullanın; örneğin, kendiniz barındırmak ve
config.vm.box_urlURL'yi işaret etmek. VEYA
.Box'ı doğrudan Vagrant'tan edinin
Bu, başarılı bir indirme işleminden sonra Vagrant'ın kutuyu silmesini önlemek için yakut kaynağını değiştirmenizi gerektirir.
- Vagrant kurulum dizininizdeki box_add.rb dosyasını bulun. Benim sistemimde
/Applications/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant/action/builtin/box_add.rb
- Box_add işlevini bulun.
box_addİşlev içinde aşağıdakileri okuyan bir blok vardır:
emin olun # Geçici dosyayı ekledikten sonra sildiğimizden emin olun. eğer! @download_interrupted @ logger.debug ("Geçici kutunun silinmesi: # {box_url}") box_url.delete başlarsa box_url rescue Errno :: ENOENT # Büyük bir anlaşma değil, geçici dosya aslında mevcut olmayabilir
- Bu engeli yorumlayın.
- Düğmesini kullanarak başka bir kutu ekleyin
vagrant add box <boxname>.
- İndirilmesini bekleyin.
~/.vagrant.d/tmp/Dizine bir boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXdosya olarak kaydetmesini izleyebilirsiniz .
- Dosyayı daha kullanışlı bir adla yeniden adlandırın. Ör
mv boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX trusty64.box.
Bunu neden istiyorsun?
Benim için bu, .box dosyasını almak için kullanışlıdır, böylece HashiCorp'un Atlas kutu kataloğundan veya başka bir kutu sağlayıcısından indirmenin aksine yerel, hızlı altyapıda barındırılabilir .
Bu, çok kesin bir kullanım durumuna sahip olduğu için varsayılan Vagrant işlevselliğinin bir parçası olmalıdır.
sudo find / -name lucid32.box.