Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

vagrant + vmware fusion で centos7 を使おうとしてはまった...

これまで vagrant 環境で ubuntu/deban を使っていけど,訳あって centos7 の VM を作ろうかなとちょっと作業.

使い方としては,centos/7 を取ってきて,自分用に多少カスタマイズして新しい box を作成.そのカスタイズ box をベースにさらに細かいカスタマイズを行なっていろんな vangrant 環境で使い回すって感じです,

で,これまで ubuntu/debian でやっているのと同じようにやってみたら

==> default: Waiting for HGFS to become available...

でずーっと待ち状態になって正常動作しない状況になりました.最終的にはエラーになって,provision 前にこけてしまいます.

ネットで調べたら Vmware plugin が古いとそうなるみたいな記述はあるけど,使っているのは最新の plugin.

さらに調べて見たら,どうやら VMware Tools あたりでトラブってるらしい.

ためしに,VirtualBox で試して見ても症状は同じ.こっちも VBoxTools でトラブる.

ということは,どうやら centos/7 ベースで上記のような使い方をすると引っかかるってことなのかな.

ubuntu/debian だと問題ないのに...。ブツブツ....

最初のカスタム box を作るまでは問題ないんだけど,その box をさらに使い回そうとする時に発生します.元々の centos/7 の設定の問題なのかなぁ?centos/7 は共有ディレクトリではなく.rsync を使う形になってるっぽいけど,そこが原因なのかな?詳細は調べてないです.

とりあえず,根本原因を探るのは置いておいて,作業を進めないとダメなので対処方法を調査.カスタマイズ box を作成する時に VMware Tools なり VBox Tools なりをインストールしておけば防げるみたいなので,対応することに.

それにしても,仮想マシンVMware Tools / VBox Tools をインストールしようとする時って,コマンドラインから行う方法ってないのかな?ちょっと探してみたけど,そういったドキュメントが見当たりませんでした.例えば,VMware だと,どのドキュメント見ても.GUI で立ち上げて「仮想マシン」>「VMware Tools のインストール」を選択してから cdrom をマウントしてインストールしろって書いてる.「仮想マシン」>「 VMware Tools のインストール」を cli でやりたいんだけどな.そうじゃないと,box 作り直しが Vagrantfile / provision 用のスクリプトだけで制御できずに手作業が入っちゃう.

ちょっと悩んだ末に,結局,VMware Fusion / VirtualBox のソフトウエアパッケージの中から VMware Tools / VBox Tools のファイルを取り出して,仮想マシン上から /vagrant 以下に見えるところに置いて,インストール等のみスクリプト対応することにしました.取り出したファイルは VMwareTools-10.1.6-5214329.tar.gz や VBoxLinuxAdditions.run ですね.

ちなみに Vmware では VMware Tools の代わりに,open-vm-tools で代用できるって書いてあったけど,手元の環境じゃエラーになって使えませんでした.このあたりもちょっと謎ですけど.

もっとスマートな方法はないのかなぁ?

結局,力技で対処しましたけど,普通に centos/7 を vagrant で使っている方ってどうしてるんでしょうかね.

同様の件で悩んでいる方がいれば参考になるかなと思って,対処方法の概略だけ書いて見ました.

ここのところ.この件で悩んでたのもあって blog 更新がおろそかになっていました...._o_

2017/10/11 追記)

見落としていましたけど,vmrun コマンドに installTools というコマンドがあって,それを実行すると VMware Tools の iso がマウントされた状態になるみたいですね.ただし,VMware Tools のインストールスクリプト等は自動実行されないようなので,それ以降の作業は別途スクリト処理で行う必要があります.

とりあえず,前述の方法で対処しちゃったのでそのまま使い続けますけど,次回,環境を整える時には vmrum installTools を使う形に変更したいと思います.そっちの方が VMware 自体のバージョンが上がった時などに対応が簡単ですからね.

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)
池田 尚史,藤倉 和明,井上 史彰
技術評論社
実践 Vagrant
Sky株式会社 玉川 竜司
オライリージャパン