Kann ich eine Vagrant-Box umbenennen?


41

Ich habe den Namen einer Box falsch geschrieben, als ich sie meiner Boxliste hinzugefügt habe:

vagrant box list
debian
ubnutu

Kann ich die Box umbenennen, ohne sie neu zu verpacken?

Antworten:


46

Sie können das Verzeichnis, das die Box darstellt, einfach umbenennen. Wenn sich Ihre vagrant-Dateien in ihrem Standardverzeichnis befinden (dh /path/to/your/home/.vagrant.d), können Sie einfach Folgendes tun:

mv vagrant_path/boxes/box_to_rename vagrant_path/boxes/new_box_name

Stellen Sie außerdem sicher, dass Sie das Vagrantfile ändern, um das neue Etikett für die Box zu verwenden. Sie müssen nur die config.vm.boxDirektive ändern , um die Änderungen widerzuspiegeln.


Das hat bei mir nicht funktioniert - ich vermute, dass es irgendwo eine Konfigurationsdatei gibt, die ebenfalls aktualisiert werden muss. @Tills Vorschlag hat funktioniert.
Adrian Mouat

@ AdrianMouat: Hmm, hat für mich gearbeitet. Wurden bei der Umbenennung VMs mit der betreffenden Box aktiv ausgeführt? Ich könnte mir vorstellen, dass das vielleicht Probleme verursacht, obwohl ich das nicht wirklich weiß oder warum es notwendig wäre. Welche Ergebnisse haben Sie erzielt, als Sie es versuchten?
Lindes-hw

@ Lindes-hw Ich habe keine Ahnung, es war vor 10 Monaten ...
Adrian Mouat

@ AdrianMouat: fair genug. Meistens wollte ich nur, dass dieser Kommentar nicht unbeantwortet bleibt, da er (meiner Meinung nach) von der Idee ablenkt, dass dies eine korrekte Antwort ist, und doch denke ich, dass dies so ist. Wenn es jedoch echte Probleme gibt, wäre es gut, davon zu hören - ob von Ihnen oder von jemand anderem, der ihnen in Zukunft begegnet.
Lindes-hw

@ lindes-hw Es könnte relevant sein, dass ich unter Mac OS lief. Ich glaube nicht, dass ich zu diesem Zeitpunkt VMs aktiv ausgeführt habe. Ich glaube, ich hätte das überprüft.
Adrian Mouat

12

Ich würde das machen:

$ vagrant box repackage misspelled-name
[vagrant] Compressing package to: /Users/johndoe/package.box
$ vagrant box add correct-name /Users/johndoe/package.box
...

Dies ist ohnehin nicht das Schlimmste, was Sie über diese beiden wissen sollten, da Sie häufig Base-Boxen aktualisieren können (z. B. um den Kernel, die Software und die Gast-Ergänzungen zu aktualisieren), um zu vermeiden, dass Sie all diese erforderlichen Updates jedes Mal ausführen vagrant up.


Ist es in Ordnung, die Datei package.box zu löschen, wenn dies erledigt ist?
Peter Hanley

1
@PeterHanley Yep. Einmal importiert, ist es in Ordnung, es loszuwerden.
Bis zum

2
Beachten Sie, dass dies viel länger dauert als das bloße Umbenennen der zugrunde liegenden Datei und viel zusätzliche Arbeit kostet, die in den meisten (allen?) Fällen wahrscheinlich nicht erforderlich ist.
Lindes-hw

@ lindes-hw kannst du einen besseren weg zeigen? Und warum?
Felipe Alvarez
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.