2013-07-25 11 views
43

zaimportowałem pudełko exact32, a następnie zainstalowałem kilka pakietów i innych danych na VM. Moim planem jest następnie przepakowanie go do pudełka, aby zaoszczędzić na skomplikowanym udostępnianiu podczas udostępniania.Vagrant "VM nie utworzono." przy próbie utworzenia skrzynki z istniejącego VM

Jednak.

vagrant package --base dev-vm --output /box/vm.box 

Zawsze zwraca

[dev-vm] VM not created . Moving on 

Moja struktura katalogów jest:

-dev-vm 
    --.vagrant 
    --Logs 
    --box.ovf 
    --box-disk1.vmdk 
    --dev-vm_13345342.vbpx 
    --metadata.json 
    --Vagrantfile 

Ive

set VAGRANT_LOG=debug 

który pokazuje żadnych dodatkowych informacji na temat co się dzieje.

Windows 7 za pomocą Cygwin

UPDATE:

export VAGRANT_LOG=debug 

dla Cygwin ustawić dziennik diagnostyczny.

I wtedy dostać

DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 32000 
DEBUG subprocess: Exit status: 0 
INFO warden: Calling action: #<Vagrant::Action::Builtin::Call:0x2abb800> 
INFO runner: Running action: #<Vagrant::Action::Builder:0x2695920> 
INFO warden: Calling action: #<VagrantPlugins::ProviderVirtualBox::Action::Created:0x267c078> 
INFO runner: Running action: #<Vagrant::Action::Warden:0x2ac6c48> 
INFO warden: Calling action: #<VagrantPlugins::ProviderVirtualBox::Action::MessageNotCreated:0x2ac6c00> 
INFO interface: info: VM not created. Moving on... 
+0

Powód za upadek? – Kiksy

+0

Kiedy pakuję pudełko z VirtualBox, muszę użyć konkretnej nazwy skrzynki z dołączonym kodem czasowym, np. 'Lucid_1372711888'. – bfitzpatrick

+0

@ bfitzpatrick. To było to. A więc: pakiet vagrant - baza dev-vm_13743534 - output /box/vm.box działała. Czy chcesz dodać to jako odpowiedź, abym mógł je zaakceptować? – Kiksy

Odpowiedz

69

Kiedy zapakować pudełko, nazwa skrzynki musi być specyficzna nazwa maszyny, które można uzyskać z VirtualBox (np lucid_1372711888). Po prostu wykonaj następujące polecenie w cmd:

vboxmanage list vms 

Zauważ, że "vboxmanage" należy wcześniej dodać do zmiennej PATH. Zobacz, jak to zrobić: here.

Zauważ również, że nazwa wirtualnej maszyny masowej nie może zawierać spacji. W przeciwnym razie nie zostanie rozpoznany przez polecenie "pakiet vagrant". Na przykład:

vagrant package --base win7_vbox_base --output win7_base.box #CORRECT 
------------------------------------------------------------------------ 
vagrant package --base win7 vbox base --output win7_base.box #INCORRECT 
+15

Nazwy skrzynek można znaleźć za pomocą: 'VBoxManage vms'. Zauważ, że jest to zepsute w Vagrant 1.4.2: https://groups.google.com/forum/#!msg/vagrant-up/HNXKTBv0-Jw/-yIbhNHCz10J – earldouglas

+1

Pamiętaj, że niezwykle dla programu Windows (z powodu, myślę, że w systemie Linux) wielkość liter ma znaczenie, więc możesz uzyskać błędy, jeśli przypadek nie jest dokładnym dopasowaniem, np .: 'lucid_1372711888'! =' Lucid_1372711888' – GMasucci

+1

Pamiętaj, że w nazwie skrzynki uwzględniana jest wielkość liter. – 79E09796

5

Jeśli jesteś w folderze, który zawiera Vagrantfile, można też po prostu uruchomić:

vagrant package --output your-box-name.box 

Poniższy rysunek przedstawia zawartość pliku .box utworzonego z tym poleceniem:

Unpacket .box

+0

Jeśli to zrobisz, utworzony plik .box zawiera tylko plik .vmdk - brakuje wszystkich elementów konfiguracyjnych (.ovf i Vagrantfile, jeśli użyjesz opcji --vagrantfile do spakowania). – foobarbecue

+0

@foobarbecue - użyłem tego polecenia w przeszłości i wszystko spakowałem. Dodałem zrzut ekranu niezapakowanego .box do mojej odpowiedzi. –

Powiązane problemy