読者です 読者をやめる 読者になる 読者になる

anti scroll

ブラウザと小説の新しい関係を模索する

Vagrantfileでtypoしてvagrant upすると、修正後もtypoした箇所がvboxファイルに残り続けてしまう

嵌ったので、覚え書きです。

昨日、Vagrantという仮想マシンを扱うユーティリテリーがいけてるということで、触ってみたのです。

そしたら、すんなりとVMが用意できて、isoファイルからインストールしようとしなくて良かったなあ、などと喜んでいたのですが、ホストの時間がおかしい?

で、色々と調べたらVagrantfileにて、簡単な設定を追加したら対応できるということで、短い内容だったこともあってコピペせずに直書きしました。

でも起動時にエラーが起きて、Vagrantfileを眺めたら、やっぱりtypoをしていました。

その後、直して再起動したのですが、なぜかvagrant upがこける...

しかも出てくるエラーが奇妙で、USB2.0がどうこうとか、extpackが足りないとか。

で、必死にVirtualboxGUIから色々いじってみたのですが、どうにもうまくいかず。

仕方ないので、すがる思いで

VAGRANT_LOG=debug vagrant up

して、ログを眺めていたら「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)に残り続けることがある...ということはよく覚えておいた方が良さそうです。