다음 명령이 실행 된 후 .box 파일은 어떻게됩니까?
vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
lucid32.box
다운로드가 완료된 후 파일 시스템 에서 파일을 찾을 수 없습니다 .
답변
docs 에서 언급했듯이 상자는 다음 위치에 저장됩니다.
- Mac OS X 및 Linux :
~/.vagrant.d/boxes
- 윈도우 :
C:/Users/USERNAME/.vagrant.d/boxes
답변
Mac / Linux 시스템에서 성공적으로 다운로드 된 상자는 다음 위치에 있습니다.
~/.vagrant.d/boxes
실패한 상자는 다음 위치에 있습니다.
~/.vagrant.d/tmp
Windows 시스템에서 사용자 폴더 아래에 있습니다.
C:\Users\%userprofile%\.vagrant.d\boxes
이것이 도움이되기를 바랍니다. 감사
답변
경로를 변경하려면 이름이 VAGRANT_HOME 인 환경 변수에 대한 새 경로를 설정할 수 있습니다.
export VAGRANT_HOME=my/new/path/goes/here/
다른 HDD에 그 방랑 이미지를 갖고 싶다면 좋을 것입니다.
자세한 내용은 설명서를 참조하십시오 : http://docs.vagrantup.com/v2/other/environmental-variables.html
답변
.box
다운로드 및 박스 설치가 완료되면 Vagrant가 실제 파일을 삭제합니다. 다른 답변에서 언급했듯이 다운로드하는 동안 .box 파일은 다음과 같이 저장됩니다.
~/.vagrant.d/tmp/boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
여기서 파일 이름은 ‘box’다음에 40 바이트 16 진 해시입니다. 예를 들어 내 시스템의 임시 파일은 다음과 같습니다.
~/.vagrant.d/tmp/boxc74a85fe4af3197a744851517c6af4d4959db77f
내가 알 수있는 한이 파일은 *.box
확장명으로 저장되지 않으므로 위의 검색에서 파일 을 찾지 못한 이유를 설명합니다. 실제 상자 파일을 검색하는 방법에는 두 가지가 있습니다.
-
vagrantcloud.com에서 .box 파일을 다운로드하십시오.
- 아틀라스 에서 관심있는 상자를 찾으십시오 . 예를 들면
https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1입니다. - 도메인 이름을로 바꾸십시오
vagrantcloud.com
. 그래서 https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1이
된다 https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box . /providers/virtualbox.box
해당 URL의 끝에 추가하십시오 . 그래서 https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1이 된다 https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box- .box 파일을 저장하십시오
- 예를 들어 직접 호스팅
config.vm.box_url
하고 URL을 가리키는 등 .box를 원하는대로 사용하십시오 . 또는
- 아틀라스 에서 관심있는 상자를 찾으십시오 . 예를 들면
-
Vagrant에서 직접 .box 가져 오기
성공적인 다운로드 후 Vagrant가 상자를 삭제하지 않도록 루비 소스를 수정해야합니다.
- Vagrant 설치 디렉토리에서 box_add.rb 파일을 찾으십시오. 내 시스템에서 그것은
/Applications/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant/action/builtin/box_add.rb
- box_add 함수를 찾으십시오.
box_add
함수 내에 다음과 같은 블록이 있습니다.
sure # 임시 파일을 추가 한 후 삭제하지 않아야합니다. # 중단되지 않는 한,이 파일을 그대로두면 나중에 다운로드를 다시 시작할 수 있습니다. if! @download_interrupted @ logger.debug ( “임시 박스 삭제 : # {box_url}”) box_url을 구출하면 box_url.delete를 시작합니다 Errno :: ENOENT # 큰일이 아니라면 임시 파일이 실제로 존재하지 않을 수 있습니다.
- 이 블록을 주석 처리하십시오.
- 을 사용하여 다른 상자를 추가하십시오
vagrant add box <boxname>
. - 다운로드 될 때까지 기다리십시오.
~/.vagrant.d/tmp/
디렉토리에boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
파일로 저장된 것을 볼 수 있습니다 . - 파일을보다 유용한 것으로 바꾸십시오. 예,
mv boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX trusty64.box
.
- Vagrant 설치 디렉토리에서 box_add.rb 파일을 찾으십시오. 내 시스템에서 그것은
왜 이것을 원하십니까?
나에게 이것은 .box 파일을 검색하는 데 도움이되었으므로 HashiCorp의 Atlas 박스 카탈로그 또는 다른 박스 공급자 에서 다운로드하는 대신 로컬의 빠른 인프라에서 호스팅 할 수 있습니다 .
이것은 매우 명확한 유스 케이스를 가지고 있기 때문에 기본 Vagrant 기능의 일부 여야합니다.
답변
@Luke Peterson : .box 파일을 얻는 간단한 방법이 있습니다.
https://atlas.hashicorp.com/boxes/search 로 이동하여 다운로드하려는 상자를 검색 하십시오 . 상자의 URL을 확인하십시오. 예 :
https://atlas.hashicorp.com/ ubuntu / boxes / trusty64 / versions / 20150530.0.1
그런 다음 다음과 같은 URL을 사용하여이 상자를 다운로드 할 수 있습니다.
https://vagrantcloud.com/ ubuntu / boxes / trusty64 / versions / 20150530.0.1 /providers/virtualbox.box
필요한 모든 상자를 다운로드하여 성공적으로 다운로드했습니다. 도움이 되길 바랍니다.
답변
Windows에서는 위치를 찾을 수 있습니다. 나는 이것에 대한 인터넷상의 문서를 찾지 못했고 이것은 나에게 명백하지 않았다.
C:\Users\\{username}\\.vagrant.d\boxes
답변
이외에
Mac:
~/.vagrant.d/
Windows:
C:\Users\%userprofile%\.vagrant.d\boxes
VirtualBox / OtherVMprovider에서 파일을 삭제하여 새로 시작해야합니다.