カテゴリー別アーカイブ: vagrant

Ubuntu12 vagrant up Setting hostname・・でエラー!!

Ubuntu14のBox(ubuntu/trusty64)で動かせていたプロジェクトをコピーしてBoxを変更した。

(php5.3が使いたかったため)

 

php5.3を使いたかったので、Ubuntu14(php5.6)のBox(ubuntu/trusty64)のvagrant+ansible設定をコピーして、

BoxをUbuntu12(ubuntu/precise64)のBoxに変更し、vagrant upを実行すると・・

早速エラーが!!

==> default: Setting hostname…

The following SSH command responded with a non-zero exit status.

Vagrant assumes that this means the command failed!

hostnamectl set-hostname ‘hoge’

Stdout from the command:

Stderr from the command:
stdin: is not a ttybash: line 3: hostnamectl: command not found

 

う〜ん。。

そもそもset-hostnameのところに表示されているホスト名がVagrantfileで設定している名前を違う・・

設定してるホスト名にドットが入ってたからか?と思っていろいろいじってみたけど、同じエラーが。。

 

ググる先生に聞いてみると、

ビンゴ〜〜〜〜!!

http://ja.stackoverflow.com/questions/12338/ubuntu12-04-%E3%81%AE-box-%E3%82%92%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%8B%E9%9A%9B-hostnamectl-command-not-found

 

どうやらVagrantがUbuntuのホスト名設定の変更に対応できてないバージョンがあるみたい。

調べてみると、確かにvagrant 1.7.3 だった。

この時点では、まだ1.7.4がリリースされていない感じだったけど、見てみるとすでにリリースされていたので、

vagrantを1.7.4に変更して、もう一度 vagrant up!!

 

動いた〜〜〜

Ubuntu14は、vagrant1.7.3で動いたのにねぇ。。

 

ググる先生、ありがとう。

Shared folders that Chef requires are missing on the virtual machine.This is usually due to configuration changing after already booting themachine. The fix is to run a `vagrant reload` so that the proper sharedfolders will be prepared and mounted on the VM.

なんかいろいろいじってたら、壊れた

$ vagrant provision

==> default: Running provisioner: chef_solo…

==> default: Detected Chef (latest) is already installed

Shared folders that Chef requires are missing on the virtual machine.

This is usually due to configuration changing after already booting the

machine. The fix is to run a `vagrant reload` so that the proper shared

folders will be prepared and mounted on the VM.

どうやら、さっきいじっていた、フォルダー同期が原因っぽい。

{vagrantディレクトリ}/machines/default/virtualbox配下にある、

synced_foldersファイルを削除

$ vagrant reload –provision

いじる前の動きに戻った!

まだ何個かエラーらしきものはあるけど・・

 

参考ありがとう:http://stackoverflow.com/questions/27975541/vagrant-chef-error-in-provision-shared-folders-that-chef-requires-are-missin

vagrant boxダウンロード〜起動まで

http://www.vagrantbox.es/ からboxをダウンロード

今回は、参考サイトにあったURLで

$ vagrant box add ubuntu http://files.vagrantup.com/lucid64.box

完了したら、ダウンロード確認

$ vagrant box list

precise64 (virtualbox, 0)

ubuntu    (virtualbox, 0)

セットアップディレクトリ作成を作成し、移動。

$ mkdir hoge

$ cd hoge

仮想マシン初期化

$ vagrant init ubuntu

A `Vagrantfile` has been placed in this directory. You are now

ready to `vagrant up` your first virtual environment! Please read

the comments in the Vagrantfile as well as documentation on

`vagrantup.com` for more information on using Vagrant.

hogeフォルダの中に、Vagrantfileが出来ているはず。

仮想マシン起動

$ vagrant up

VirtualBox マネージャーで見ると、追加されて実行中になっている

 

 

 

vagrant ホームディレクトリ 変更

vagrant 1.7.2

デフォルトのホームディレクトリ

/Users/ユーザー名/.vagrant.d

 

環境変数に「VAGRANT_HOME」を指定することで変更出来る。

環境変数確認

$ echo $VAGRANT_HOME

まだ設定されていないので、何も表示されない。

ユーザーフォルダ配下で、.bash_profileを編集

$ vi .bash_profile

任意の場所を設定(追記)

export VAGRANT_HOME=/Users/ユーザー名/Dropbox/VM/vagrant/.vagrant.d

ターミナルで使えるように、反映させる。

$ source .bash_profile

これでもう一度環境変数確認をして、反映確認。

新しい配置先ディレクトリに、既存の/Users/ユーザー名/.vagrant.dフォルダを移動

 

参考ありがとう:

http://qiita.com/sugard12/items/85b2e70c87a354675a0e

http://qiita.com/kzhrk/items/9668a0b1a6af47bab31b