vagrant box update/add

Vagrantにおいて表題の件について。

■ 環境

  • Vagrant 2.0.3
  • macOS High Sierra

■ vagrant box update

boxの新しいversionが出ていると気がつくのは大抵`vagrant up`した後なのだが、いざ使おうと言う時に言われてもなぁ…と思うことが多々ある。事前にupdateがあるか確認してから`vagrant up`したいなと思うのだが、`vagrant box update`はVMが起動している時でないと実行できないようで悶々としていた。

■ vagrant box add

`vagrant box add`で先にupdateがあるかを確認できるようである。

$ vagrant box list
bento/centos-6.7 (virtualbox, 2.2.7)
centos/6         (virtualbox, 1707.01)
centos/6         (virtualbox, 1708.01)
centos/6         (virtualbox, 1710.01)
centos/7         (virtualbox, 1707.01)
centos/7         (virtualbox, 1802.01)
  :
$

上記の環境で”centos/6″を使いたいのだが、これも新しいboxがあるよな…と思い実行してみる。

$ vagrant box add centos/6
==> box: Loading metadata for box 'centos/6'
    box: URL: https://vagrantcloud.com/centos/6
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop

Enter your choice: 3
==> box: Adding box 'centos/6' (v1802.01) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/centos/boxes/6/versions/1802.01/providers/virtualbox.box
    box: Download redirected to host: cloud.centos.org
==> box: Successfully added box 'centos/6' (v1802.01) for 'virtualbox'!
$

追加されたのを確認できる。

$ vagrant box list
bento/centos-6.7 (virtualbox, 2.2.7)
centos/6         (virtualbox, 1707.01)
centos/6         (virtualbox, 1708.01)
centos/6         (virtualbox, 1710.01)
centos/6         (virtualbox, 1802.01)
centos/7         (virtualbox, 1707.01)
centos/7         (virtualbox, 1802.01)
  :
$

再度`vagrant box add`をやろうとするとエラーとなる。

$ vagrant box add centos/6
==> box: Loading metadata for box 'centos/6'
    box: URL: https://vagrantcloud.com/centos/6
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop

Enter your choice: 3
==> box: Adding box 'centos/6' (v1802.01) for provider: virtualbox
The box you're attempting to add already exists. Remove it before
adding it again or add it with the `--force` flag.

Name: centos/6
Provider: virtualbox
Version: 1802.01
$

途中までは、またダウンロードを最初からやるのか?と思ったがしっかり弾いてくれた。満足である。

以上。

Vagrant upgrade

久しぶりに表題の通り。

■ 環境

  • Vagrant 2.0.1 → 2.0.3
  • macOS High Sierra

■ vagrant version

何の気なしに`vagrant version`を実行した。

$ vagrant version
Installed Version: 2.0.1
Latest Version: 2.0.3

To upgrade to the latest version, visit the downloads page and
download and install the latest version of Vagrant from the URL
below:

https://www.vagrantup.com/downloads.html

If you're curious what changed in the latest release, view the
CHANGELOG below:

https://github.com/mitchellh/vagrant/blob/v2.0.3/CHANGELOG.md
$

新しいversionが出ているようなのでupgradeすることにした。dmgをダウンロードしてきてインストールして、再度`vagrant version`を確認しようとしたところ下記のようなエラーが。

$ vagrant version
Vagrant failed to initialize at a very early stage:

The plugins failed to initialize correctly. This may be due to manual
modifications made within the Vagrant home directory. Vagrant can
attempt to automatically correct this issue by running:

  vagrant plugin repair

If Vagrant was recently updated, this error may be due to incompatible
versions of dependencies. To fix this problem please remove and re-install
all plugins. Vagrant can attempt to do this automatically by running:

  vagrant plugin expunge --reinstall

Or you may want to try updating the installed plugins to their latest
versions:

  vagrant plugin update

Error message given during initialization: Unable to resolve dependency: user requested 'vagrant-share (> 0)'
$

とりあえず`vagrant plugin repair`を実施。

$ vagrant plugin repair
Repairing currently installed plugins. This may take a few minutes...
Fetching: vagrant-share-1.1.9.gem (100%)
Fetching: micromachine-2.0.0.gem (100%)
Fetching: vagrant-vbguest-0.15.1.gem (100%)
Installed plugins successfully repaired!
$

`vagrant version`も問題なくなった。

$ vagrant version
Installed Version: 2.0.3
Latest Version: 2.0.3

You're running an up-to-date version of Vagrant!
$

以上。

VagrantCloud

表題についてのメモ。

■ 環境

  • Vagrant 2.0.1
  • Mac OSX El Capitan

■ Vagrant

Boxを探そうとして以前のまま下記にアクセスしてしまった。

https://atlas.hashicorp.com/

そういえばVagrantCloudに変わったはずだよな…と思ったものの、どのURLにアクセスすれば良いのだ?と思い出せず。しばし考えてアクセスすると下記に飛ばされた。

https://vagrantcloud.com/
https://app.vagrantup.com/boxes/search

移行されたのはもう結構前のようであった。

https://pocketstudio.net/2017/06/01/vagrant-cloud-migration0announcement-translate.md/

確かに「あー変わったんだな」とか「アカウントが移行なのか」と思った記憶もある。

vagrant plugin repair

表題のコマンドを実行する羽目になった。

■ 環境

  • Vagrant 2.0.1
  • Mac OSX El Capitan

■ Error

下記のようなエラーが出ていた。

$ vagrant status
Vagrant failed to initialize at a very early stage:

The plugins failed to initialize correctly. This may be due to manual
modifications made within the Vagrant home directory. Vagrant can
attempt to automatically correct this issue by running:

  vagrant plugin repair

If Vagrant was recently updated, this error may be due to incompatible
versions of dependencies. To fix this problem please remove and re-install
all plugins. Vagrant can attempt to do this automatically by running:

  vagrant plugin expunge --reinstall

Or you may want to try updating the installed plugins to their latest
versions:

  vagrant plugin update

Error message given during initialization: Unable to resolve dependency: user requested 'vagrant-vbguest (> 0)'
$

変なタイミングでVagrantをupgradeしたせいだろうか。とりあえずメッセージにある通りにやってみる。

■ plugin repair

$ vagrant plugin repair
Repairing currently installed plugins. This may take a few minutes...
Fetching: vagrant-share-1.1.9.gem (100%)
Fetching: micromachine-2.0.0.gem (100%)
Fetching: vagrant-vbguest-0.15.0.gem (100%)
Installed plugins successfully repaired!
$

これで一応問題は解決できたようだ。`vagrant status`が正常に返ってくるようになった。

■ plugin update

念のため書きも実施しておく。

$ vagrant plugin update
Updating installed plugins...
Updated 'vagrant-share' to version '1.1.9'!
Updated 'vagrant-vbguest' to version '0.15.0'!
$

以上。

centos/6 on Vagrant

Vagrantにおいて表題のboxがいつの間にか存在していたようだ。

■ 環境

  • Vagrant 1.9.7
  • Mac OSX El Capitan

■ vagrant

以前は、公式のboxは7系しかないと思っていたのだが、現在は6系も公式で配布されているようだ。

Vagrant box centos/6 – Vagrant Cloud
https://app.vagrantup.com/centos/boxes/6

$ vagrant box add centos/6

一覧。

$ vagrant box list
bento/centos-6.7 (virtualbox, 2.2.7)
centos/6         (virtualbox, 1707.01)
centos/7         (virtualbox, 1707.01)
  :
$

今まではDownload数が多いboxを利用させてもらっていたのだが、今後6系を使う時はこれを使用するようにしていこう。

以上。

■ 関連

upgradeしたらエラー