Posso renomear uma caixa do Vagrant?

41

Eu escrevi errado o nome de uma caixa quando o adicionei à minha lista de caixas:

vagrant box list
debian
ubnutu

Posso renomear a caixa sem reembalá-la?

Roberto Aloi
fonte

Respostas:

46

Você pode simplesmente renomear o diretório que representa a caixa. Se os arquivos vagrantes estiverem no diretório padrão (por exemplo, /path/to/your/home/.vagrant.d), você pode fazer:

mv vagrant_path/boxes/box_to_rename vagrant_path/boxes/new_box_name

Certifique-se também de alterar o arquivo Vagrant para usar o novo rótulo da caixa. Você só precisa alterar a config.vm.boxdiretiva para refletir as alterações.

Tiago
fonte
Isso não funcionou para mim - suspeito que exista um arquivo de configuração em algum lugar que precise ser atualizado também. @ A sugestão de Till funcionou.
Adrian Mouat
@AdrianMouat: Hmm, funcionou para mim. Você tinha VMs executando ativamente com a caixa em questão no momento da renomeação? Eu poderia imaginar que talvez esteja causando problemas, embora eu realmente não saiba disso ou por que, necessariamente. Que resultados você obteve quando tentou?
Lindes-hw
@ lindes-hw Eu não tenho idéia, isso foi há 10 meses ...
Adrian Mouat
@AdrianMouat: justo o suficiente. Principalmente, eu só queria que esse comentário não fosse respondido, pois isso prejudica (na minha opinião) a idéia de que essa seja uma resposta correta, e, no entanto, acho que é. Se houver problemas reais com isso, seria bom ouvir sobre eles - seja de você ou de alguém que os encontre no futuro.
Lindes-hw 17/11
@ lindes-hw Pode ser relevante que eu estivesse executando no Mac OS. Não acredito que eu estivesse executando VMs ativamente na época; Eu acho que teria verificado isso.
Adrian Mouat
12

Eu faria isso:

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

De qualquer maneira, não é o pior a saber sobre esses dois, pois você pode atualizar frequentemente as caixas base (por exemplo, para atualizar o kernel, software e adições de convidados) para evitar a execução de todas essas atualizações necessárias sempre que você vagrant up.

Até
fonte
Não há problema em excluir o arquivo package.box quando isso for feito?
27512 Peter Pan
1
@PeterHanley Yep. Uma vez importado, não há problema em se livrar dele.
Até
2
Observe que isso levará muito mais tempo do que simplesmente renomear o arquivo subjacente e faz muito trabalho extra que provavelmente não é necessário na maioria dos casos (todos?).
Lindes-hw
@ lindes-hw você pode mostrar uma maneira melhor? E porque?
Felipe Alvarez