0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vagrantの環境を新しいPCに移動する

0
Posted at

はじめに

新しいPCを新調したため、既存PCで動作しているVagrant環境を、新しいPCに移行しました。その手順についての記事です。

環境

Windows11 (ホストOS)
Ubuntu20.4 (ゲストOS)

既存環境(BOXの作成)

PowerShellを起動して、VagrantからゲストOS(Ubuntu)を起動します。

%vagrant up
%vagrant ssh

既存環境のMACアドレスを新規環境にそのまま移行すると、新規環境でVagrantを起動した時にエラーになるらしいので、既存環境のMACアドレスがBOXに更新されないように、事前に処置をしておく必要があります。

$sudo ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules

ゲストOSはexitで終了して、Vagrantも終了します。

%vagrant halt

PowerShellからつぎのコマンドを実行して、ゲストOSのBOXを作成します。

%vagrant package

package.boxファイルが作成されるので、package.boxファイルを新規PCの任意のフォルダに移動します。

既存環境(Vagrantフォルダの移行)

Vagrantのプロジェクトフォルダ(Vagrantfileがあるフォルダ)、WindowsとゲストOSとで共有しているフォルダがあれば、既存環境から新規環境に移動します。このとき、.vagrantディレクトリは移行する必要はありません。

Vagrantfileは移行した後リネームしておきます。新規環境でVagrantfileを新規に作成したときに、既存のVagrantfileが上書きされることを防ぐためです。Vagrantfileを新規に作成した後、リネームした既存のVagrantfileは削除することになります。

新規環境(Vagrantのインストール)

Vagrantの公式サイトにアクセスします。
https://www.vagrantup.com/

image.png

黒色のDownloadボタンをクリックします。

念のために、最新のバージョンではなく既存環境と同じバージョンのVagrantをインストールすることにします。右上にあるプルダウンメニューからダウンロードするバージョンを選択します。

image.png

既存環境のVagrantのバージョンはPowerShellから、つぎのコマンドで確認することができます。

$vagrant -v

image.png

ダウンロードするファイルを選択します。
I686は32bit版で、64bit版はAMD64を選択ことになるらしいです。

msiファイルがダウンロードされます。

msiファイルをダブルクリックしてインストールを実行します。

Vagrantのインストールが完了しても、Windows上にアイコンが作成されないため、一見、インストールされたかどうか分からない状況ではありますが、PowerShellでつぎのコマンドを実行することで、インストールされていることが確認できます。

$vagrant -v

インストールが完了すればOSの再起動を促すメッセージが表示されます。取りあえず<NO>を選択して、バックで動いているアプリをすべて終了した後に、手動で再起動をした方が無難でしょう。

新規環境(VagrantでBOXを追加)

PowerShellを起動して、新規環境から移動したpackage.boxがあるフォルダに移動します。

package.boxを保存するフォルダはどこでもかいません。Vagrantのプロジェクトフォルダ(vagrantfile配下)でないといけないことはありません。

この時点ではBOXはまだ追加されていないことを確認します。

%vagrant box list

BOXをVagrantに追加します。

%vagrant box add mybox/ubuntu20.4 package.box
%vagrant box add [任意のBOX名] package.box

BOXが追加されていることを確認します。

%vagrant box list

新規環境から移行した、Vagrantのプロジェクトフォルダに移動します。

%vagrant init mybox/ubuntu20.4
%vagrant init [任意のBOX名]

Vagrantfileが新規で作成されます。

vagrantfileと既存環境のvagrantfileとをwinmergeなどで比較して、既存環境のvagrantfileの内容を新規で作成したvagrantfileに転記します。

vagrantfileのconfig.vm.boxの値には、vagrant initコマンドの引数で指定した値が自動で更新されます。

Vagrantを起動します。
VirtualBoxを起動して、GUIからもゲストOSが起動されたことを確認しておきます。

$vagrant up

ステータスを確認して、runningになっていれば正常に起動できています。

$vagrant status

ゲストOS(Ubuntu20.4)にSSHで接続します。接続できればOKです。
確認ができれば、exitで終了します。

$vagrant ssh

Vagrantを終了します。

$vagrant halt
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?