vagrantによる仮想環境を別PCに移した時の事
色々詰まったので今後の為の忘備録として。
前提条件
- centOS 6.7を利用
- vagrant,virtualbox導入済
環境
手順
普通にbox作成→移行だとAuthentication failureエラーが出てvagrant upできない。
対策としてbox作成前に以下のコマンドを実行。
ゲストOS
$ wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys
##移行元の環境がmacの場合は以下のコマンドを入力
$ sudo ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules
なにこれ
google先生曰く、エラーの原因がsshの認証系らしいので、対策されたauthorizrd_keyを導入する。詳しいことはよく分かってないし勉強しないといけない(戒め)
ホストOS
$vagrant package --base "vurtualboxで表示されてるVM名" --output boxファイル名.box
これで出力される。これを外付けHDDなんかで移行先PCに移動。
移行先PC
$vagrant box add "box名" boxの場所/boxファイル名.box
$vagrant box list
box名 (virtualbox, 0)
$vagrant init "box名"
Vagrantfileの設定
以下2行のコメントアウトを外す(文頭の#を除去)
(省略)
#config.vm.network "forwarded_port", guest: 80, host: 8080
(省略)
#config.vm.network "private_network", ip: "192.168.33.10"
あとはvagrant upで起動。適当なsshクライアントで接続。
移行した環境で一度yumを使ってパッケージインストール後に再起動するとエラーが出てyumコマンドでのインストールが出来なくなった時のメモ。キャッシュフォルダの影響らしい。
めも:vagrantで作った仮想環境上で/cache/yum が/tmp/vagrant-cache/yumへのシンボリックリンクになってるのを消して普通に/cache/yumフォルダを作れば仮想環境を再起動した後にyum使ったインスコできない問題は解決
— つるすけ (@trsk_1st) 2016年5月16日
これで移行前と同じように使えるようになりました。たぶん。