2013-07-25 11 views
43

zu erstellen, importierte ich die precise32-Box, dann einige Pakete und andere Daten auf der VM installiert. Mein Plan ist es, es dann in eine Box umzupacken, um bei der Freigabe komplizierte Provisionierung zu sparen.Vagrant "VM nicht erstellt." Beim Versuch, Box aus bestehenden VM

Jedoch.

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

gibt immer

[dev-vm] VM not created . Moving on 

Meine Verzeichnisstruktur ist:

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

Ive

set VAGRANT_LOG=debug 

Welche zeigt keine zusätzlichen Informationen über was los ist.

Windows 7 mit Cygwin

UPDATE:

export VAGRANT_LOG=debug 

für Cygwin Debug-Protokoll zu setzen.

dann

ich
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

Grund für den Downvote? – Kiksy

+0

Wenn ich eine VirtualBox Provisioning-Box verpacke, muss ich den spezifischen Boxnamen mit dem angehängten Timecode verwenden, wie 'lucid_1372711888'. – bfitzpatrick

+0

@bfitzpatrick. Das war's. Also: vagrant Paket --base dev-vm_13743534 --output /box/vm.box hat funktioniert. Würdest du das als Antwort hinzufügen, damit ich es annehmen kann? – Kiksy

Antwort

69

Wenn Sie eine Box verpacken, hat die Box Name der spezifischen Maschinen Name sein, den Sie von VirtualBox (z lucid_1372711888) erhalten können. Führen Sie einfach folgenden Befehl in cmd:

vboxmanage list vms 

Beachten Sie, dass "VBoxManage" vor der PATH-Variablen hinzugefügt werden soll. Siehe here wie das geht.

Beachten Sie auch, dass der Name der virtuellen Maschine keine Leerzeichen enthalten darf. Andernfalls wird es vom Befehl "vagrant package" nicht erkannt. Zum Beispiel:

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

Sie können Boxnamen über: '$ VBoxManage list vms' finden. Beachten Sie auch, dass dies in Vagrant 1.4.2 gebrochen ist: https://groups.google.com/forum/#!msg/vagrant-up/HNXKTBv0-Jw/-yIbhNHCz10J – earldouglas

+1

Denken Sie daran, dass ungewöhnlich für ein Windows-Programm (wegen denke ich zu seinem Ursprung in Linux) ist es Groß-und Kleinschreibung, so können Sie Fehler erhalten, wenn Fall ist keine exakte Übereinstimmung dh: 'lucid_1372711888'! =' Lucid_1372711888' – GMasucci

+1

Beachten Sie, dass der Name der Groß- und Kleinschreibung ist – 79E09796

5

Wenn Sie in dem Ordner befinden, die Ihre Vagrantfile enthält, können Sie auch einfach laufen:

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

Das folgende Bild zeigt den Inhalt der .box Datei mit diesem Befehl erstellt:

Unpacket .box

+0

Wenn Sie das tun, dann enthält die erstellte .box nur die .vmdk-Datei - es fehlt der gesamte Konfigurationskram (.ovf und Vagrantfile, wenn Sie die Option --vagrantfile zum Packen verwenden). – foobarbecue

+0

@foobarbecue - Ich habe diesen Befehl in der Vergangenheit verwendet und es hat alles gepackt. Ich fügte meiner Antwort einen Screenshot der nicht gepackten .box hinzu. –

Verwandte Themen