Czy mogę zmienić nazwę Vagrant box?

41

Błędnie napisałem nazwę skrzynki, dodając ją do mojej listy:

vagrant box list
debian
ubnutu

Czy mogę zmienić nazwę pudełka bez ponownego pakowania?

Roberto Aloi
źródło

Odpowiedzi:

46

Możesz po prostu zmienić nazwę katalogu, który reprezentuje pudełko. Jeśli twoje błędne pliki znajdują się w domyślnym katalogu (tj. /Path/to/your/home/.vagrant.d), możesz po prostu:

mv vagrant_path/boxes/box_to_rename vagrant_path/boxes/new_box_name

Pamiętaj również, aby zmienić plik Vagrantfile, aby użyć nowej etykiety dla pudełka. Musisz tylko zmienić config.vm.boxdyrektywę, aby odzwierciedlić zmiany.

Tiago
źródło
Nie działało to dla mnie - podejrzewam, że gdzieś jest plik konfiguracyjny, który również wymaga aktualizacji. @ Sugestia Tilla zadziałała.
Adrian Mouat
@AdrianMouat: Hmm, pracował dla mnie. Czy masz maszyny wirtualne aktywnie działające z danym polem w momencie zmiany nazwy? Mógłbym sobie wyobrazić, że może to powodować problemy, chociaż tak naprawdę nie wiem ani dlaczego. Jakie wyniki uzyskałeś, gdy próbowałeś?
lindes-hw
@ lindes-hw Nie mam pojęcia, to było 10 miesięcy temu ...
Adrian Mouat
@AdrianMouat: wystarczy. Przeważnie chciałem po prostu, aby nie pozostawić tam tego komentarza bez odpowiedzi, ponieważ szkodzi to (w mojej ocenie) idei, że jest to poprawna odpowiedź, a jednak myślę, że tak. Jeśli jednak występują z tym prawdziwe problemy, dobrze byłoby o nich usłyszeć - czy to od ciebie, czy od kogoś, kto ich spotka w przyszłości.
lindes-hw
@ lindes-hw Może być istotne, że działałem w systemie Mac OS. Nie sądzę, że miałem wtedy aktywne maszyny wirtualne; Myślę, że bym to sprawdził.
Adrian Mouat
12

Zrobiłbym to:

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

W każdym razie nie jest to najgorsze, jeśli wiesz o tych dwóch, ponieważ często możesz aktualizować bazy (np. Aby zaktualizować jądro, oprogramowanie i dodatki gości), aby uniknąć uruchamiania tych wszystkich wymaganych aktualizacji za każdym razem vagrant up.

Do
źródło
Czy po zakończeniu tej operacji można usunąć plik package.box?
Peter Hanley,
1
@PeterHanley Yep. Po zaimportowaniu możesz się go pozbyć.
Do
2
Zauważ, że zajmie to znacznie więcej czasu niż zwykła zmiana nazwy pliku bazowego i powoduje mnóstwo dodatkowej pracy, która prawdopodobnie nie jest konieczna w większości (wszystkich?) Przypadków.
lindes-hw
@ Lindes-HW Czy możesz pokazać lepszy sposób? I dlaczego?
Felipe Alvarez