Где Vagrant загружает свои файлы .box?

Что происходит с файлом .box после выполнения следующей команды?

<code>vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
</code>

Я не могу найтиlucid32.box файл в файловой системе после завершения загрузки.

 irrational John15 апр. 2012 г., 02:30
Я думаю, что я полностью упускаю вашу точку зрения, потому что первое, что приходит мне в голову, этоsudo find / -name lucid32.box.
 iconoclast21 июн. 2012 г., 22:58
@CalvinCheng: я думаю, вы ошибаетесь, считая, что это просто изображение .vbox в архиве tar. Это действительно архив tar, но он содержит файлы, такие как box-disk1.vmdk, box.ovf и Vagrantfile. Я не знаю точно, как они используются для создания файлов, которые использует VirtualBox, но если вы откроете VB-файл .vbox, вы увидите, что это всего лишь XML. Я предполагаю, что Vagrant преобразует свои файлы (также двоичный файл и файл XML, плюс Vagrantfile) в XML и двоичные файлы, используемые VirtualBox. Однако, если вы откроете двоичные файлы, вы увидите, что они разные, так что это не просто вопрос распаковки и переименования.
 Calvin Cheng18 апр. 2012 г., 04:01
Да ты прав. Поиск должен быть для*.vbox а такжеnot *.box, Тайна разгадана. :-) Хотели бы вы ввести ответ, чтобы я мог его принять? Спасибо!
 irrational John15 апр. 2012 г., 17:39
Возможно, он не существует с таким именем. Поисковые символы, такие как*.box может быть? (Кстати, расширение не будет.vbox?)
 Calvin Cheng15 апр. 2012 г., 06:28
именно то, что я сделал, но я должен что-то упустить, так как я не мог найтиlucid32.box используя эту точную команду ...

Ответы на вопрос(8)

В Windows местоположение можно найти здесь. Я не нашел в интернете какой-либо документации по этому поводу, и для меня это не было сразу очевидно:

C:\Users\\{username}\\.vagrant.d\boxes

 23 апр. 2017 г., 21:24
Работает ли% userprofile% \. Vagrant.d \ boxes? % userprofile% расширяется до c: \ users \ {username}

В системе Mac / Linux успешно загруженные блоки расположены по адресу:

~/.vagrant.d/boxes

и неудачные коробки расположены по адресу:

~/.vagrant.d/tmp

В системах Windows он находится в папке Users:

C:\Users\%userprofile%\.vagrant.d\boxes

Надеюсь, это поможет. Спасибо

 28 янв. 2019 г., 19:30
Третья строка (для Windows) должна быть%userprofile%\.vagrant.d\boxes
 07 февр. 2015 г., 05:39
Не уверен, почему это было понижено. Информация о месте неудачных загрузок была полезной.
 15 мая 2015 г., 01:13
~/.vagrant.d/boxes никогда не сохраняет сам файл .box, только его содержимое.~/.vagrant/tmp используется для временного хранения .box во время загрузки, но удаляется при установке в Vagrant.

НаWindows 10 сVagrant 2.2.2, установка переменной средыVAGRANT_HOME обеспечит загрузку ящиков в подпапку папки, указанной дляVAGRANT_HOME.

В моем случае я установилVAGRANT_HOME вe:\vagrant_homeи коробки хранятся подe:\vagrant_home\boxes.

Это работает для меня.

Вот гдеboxes хранятся.virtual machines создаются в папке, настроенной в Virtual Box. Чтобы установить папку для хранения VirtualBox VM, перейдите к:VirtualBox GUI --> File --> Preferences --> General --> Default Machine Folder.

Решение Вопроса

документы, ящики хранятся по адресу:

Mac OS X and Linux: ~/.vagrant.d/boxes Windows: C:/Users/USERNAME/.vagrant.d/boxes
 24 авг. 2013 г., 08:58
то же самое место на ОС Windows?
 16 авг. 2015 г., 02:14
вC:\Users\{username}\.vagrant.d\boxes на окнах я нашел только.vmdk файл не.box !!
 21 июн. 2012 г., 23:02
@manojlds: см. мой комментарий по вопросу re: файл .vbox. Это не виртуальная машина сама по себе, это всего лишь файл XML.
 Calvin Cheng20 апр. 2012 г., 03:42
Ах. Спасибо за разъяснения. Я должен быть слепым, чтобы пропустить это объяснение в документах.
 17 янв. 2014 г., 15:24
Вы также можете использовать env var VAGRANT_HOME, чтобы указать расположение .vagrant.d, как в VAGRANT_HOME = D: \. Vagrant.d (да, это работает и в Windows).

В дополнение к

Mac:
~/.vagrant.d/

Windows:
C:\Users\%userprofile%\.vagrant.d\boxes

Вы должны удалить файлы в VirtualBox / OtherVMprovider, чтобы начать все сначала.

Чтобы изменить путь, вы можете установить новый путь к переменной среды с именем: VAGRANT_HOME

export VAGRANT_HOME=my/new/path/goes/here/

Это может быть хорошо, если вы хотите, чтобы эти бродячие образы были на другом жестком диске.

Больше информации здесь в документации:http://docs.vagrantup.com/v2/other/environmental-variables.html

@ Люк Петерсон: Есть более простой способ получить файл ..

Просто иди вhttps://atlas.hashicorp.com/es/searchнайдите поле, которое вы хотите загрузить. Обратите внимание на URL-адрес поля, например:

https://atlas.hashicorp.com/ubuntu/es/trusty64/versions/20150530.0.1

Затем вы можете скачать это поле, используя URL-адрес, например:

https://vagrantcloud.com/ubuntu/es/trusty64/versions/20150530.0.1/providers/virtual.

Я попробовал и успешно загрузил все нужные мне коробки. Надеюсь, что это поможет.

 05 июн. 2015 г., 09:46
Это отличная находка! Спасибо. ;)

Настоящий.box Vagrant удаляет файл после завершения загрузки и установки. Как уже упоминалось в других ответах, при загрузке файл .box сохраняется как:

~/.vagrant.d/tmp/boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

где имя файла & amp; ap; os; box & apos; сопровождаемый 40-байтовым шестнадцатеричным хешем. Временный файл в моей системе, например:

~/.vagrant.d/tmp/boxc74a85fe4af3197a744851517c6af4d4959db77f

Насколько я могу судить, этот файл никогда не сохраняется с*.box расширение, которое объясняет, почему поиск выше не смог найти его. Есть два способа получить фактический файл коробки:

Download the .box file from vagrantcloud.com

Find the box you're interested in on the atlas. For example, https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1 Replace the domain name with vagrantcloud.com. So https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1 becomes https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box. Add /providers/virtualbox.box to the end of that URL. So https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1 becomes https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box Save the .box file Use the .box as you wish, for example, hosting it yourself and pointing config.vm.box_url to the URL. OR

Get the .box directly from Vagrant

This requires you to modify the ruby source to prevent Vagrant from deleting the box after successful download.

Locate the box_add.rb file in your Vagrant installation directory. On my system it's located at /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant/action/builtin/box_add.rb Find the box_add function. Within the box_add function, there is a block that reads:

ensure # Make sure we delete the temporary file after we add it, # unless we were interrupted, in which case we keep it around # so we can resume the download later. if [email protected]_interrupted @logger.debug("Deleting temporary box: #{box_url}") begin box_url.delete if box_url rescue Errno::ENOENT # Not a big deal, the temp file may not actually exist end end

Comment this block out. Add another box using vagrant add box <boxname>. Wait for it to download. You can watch it save in the ~/.vagrant.d/tmp/ directory as a boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX file. Rename the the file to something more useful. Eg, mv boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX trusty64.box. Why would you want this?

Для меня это было полезно для извлечения файла .box, чтобы он мог быть размещен в локальной быстрой инфраструктуре, а не загружаться изКаталог коробок HlasiCorp Atlas или жедругой провайдер.

Это действительно должно быть частью функциональности Vagrant по умолчанию, поскольку она имеет очень определенный вариант использования.

 27 июн. 2015 г., 03:23
@ThorSummoner Да, но вы можете также позволить Vagrant справиться с этим в этом случае, например, черезvagrant package команда:docs.vagrantup.com/v2/cli/package.html.
 26 июн. 2015 г., 19:18
Можно ли упаковать, сжать или сжать подпапки в папке коробок, чтобы создать устанавливаемый файл коробки?

Ваш ответ на вопрос