嵌ったので、覚え書きです。
昨日、Vagrantという仮想マシンを扱うユーティリテリーがいけてるということで、触ってみたのです。
そしたら、すんなりとVMが用意できて、isoファイルからインストールしようとしなくて良かったなあ、などと喜んでいたのですが、ホストの時間がおかしい?
で、色々と調べたらVagrantfileにて、簡単な設定を追加したら対応できるということで、短い内容だったこともあってコピペせずに直書きしました。
でも起動時にエラーが起きて、Vagrantfileを眺めたら、やっぱりtypoをしていました。
その後、直して再起動したのですが、なぜかvagrant up
がこける...
しかも出てくるエラーが奇妙で、USB2.0がどうこうとか、extpackが足りないとか。
で、必死にVirtualboxのGUIから色々いじってみたのですが、どうにもうまくいかず。
仕方ないので、すがる思いで
して、ログを眺めていたら「Config file」なる項目があって、どうやら「〜.vbox」というのがVirtualBox仮想イメージの設定ファイルということがわかりました。
早速これを開いたら、なんとこんな箇所があって...
<ExtraDataItem name="VBoxInternal/Devices/VMDev/0/Config/GetHostTimeDisabled" value="1"/><!-- typo --> <ExtraDataItem name="VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" value="1"/><!-- こっちが正しい設定 -->
上の行がtypoした設定で、下の行が正しい設定(VMMDevというのを「VMDEV」と書いている)。
上のtypoは既にVagrantfile上では直してるのに、前にtypoした箇所の設定がVMの設定ファイルに残り続けてる...
この設定ファイル、先頭の方に「いいか、いじるなよ! 絶対にいじるなよ!」と注意書きをされてるのですが、どうみてもこれが原因なので、typoの箇所を削除。
で、もう一度仮想マシンを立ち上げてみたら普通に立ち上がりました。
午前中いっぱい使ってしまった...下手にtypoもできないこんな世の中じゃ....
ようするにVagrantfileは冪等性のない設定ファイルであり、typoしたままvagrant up
すると、そのtypoがキャッシュされたまま設定ファイル(*.vbox)に残り続けることがある...ということはよく覚えておいた方が良さそうです。