質問: true end を追加して、vagrant up 時に VirtualBox GUI を自動で立ち上げる。 検索して調べていると、似たような質問をしている方がいらっしゃいました。 カーネルの問題? よくわからないけど、これかもしれない、と思い、書いてある通り試してみると、yum update 前の古いカーネルだとすんなりと接続できることがわかりました。 ( vagrant up -> 「しばらくするとGUIが自動で立ち上がる」-> 「ロゴの後の画面が表示されたら、タイマーが切れる前にどれでもいいので PC のkey を押す」 -> 「矢印 key でyum update 前の古いカーネルを選択してENTER key を押す」) でも一度は yum update でアップデートされたカーネルでつながったのでは? と思い、 ドットインストールが用意してくれた設定用のスクリプトの実行が終わった段階( exec $SHELL -l )で、カーネルのバージョン確認をしてみてみました。( uname -r ) すると、カーネルのバージョンは古いままでした。(php の「hello world」が表示できたので、てっきりカーネルも最新のものになっていると思い込んでいました) カーネルの場合は一度電源を切って(vagrant halt)から、リロードしないと、新しくならないみたいです。 要するに、アップデートされた新しいカーネルと今の環境では相性が悪いということでしょうか? それともなにか設定をいじったり、インストールすることで新しいカーネルでもうまく接続できるようになるでしょうか? ご教示いただければ幸いです。 ### 補足情報 ドットインストールによる仮想環境(CentOS)の構築手順 PowerShell 1. 仮想マシンを作るフォルダを作って、そこで仮想マシン設定用のVagrantfileを作る vagrant init bento/centos-6.7-i386 2. Vagrantfileを編集して仮想マシンのIPアドレスを192.168.33.10にする config.vm.network "private_network", ip: "192.168.33.10" 3. 仮想マシンを起動する vagrant up Putty で仮想マシンの設定 1. OSを最新状態にアップデート sudo yum -y update(たとえば、CentOS6.7 なら CentoOS6.10、CentOS7にはならない) 私の場合、上記コマンドではなく次のように打ったらうまく行きました。 sudo yum -y update --exclude=kernel* --exclude=centos* (CentOS6.7 のままカーネルのアップデートなし) 2. スクリプトを入手するためのgitをインストール sudo yum -y install git 3. gitを使ってアプリケーション設定用のスクリプトをダウンロード git clone https://github.com/dotinstallres/centos6.git 4. centos6フォルダができるのでそちらに移動 cd centos6 5. スクリプトを実行 // php や ruby などをインストール ./run.sh 6. もろもろの設定を反映 exec $SHELL -l ### 追記 VirtualBox GUI の画像 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/a4beb72e07c2269923fcf904fefd494f.jpeg) アップデート前のカーネルを選択すると、次の画面が表示されます。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/cec61debc23caf023a39fe9a08012c44.jpeg) アップデート後のカーネルを選択すると、PowerShell のほうにタイムアウトのエラーが表示されます。 最初このまま Putty には接続できないと思ったけれども、30分ぐらいすると、上の画像のように localhost login: _ が表示され、Putty につながるようになります。
回答: yum update についてちょっと調べてみると、どうやらカーネルと一緒に CentoOS のバージョンも上がるらしいです。確かに上の画像でも CentOS 6.7 からいつのまにか 6.10 になっています。 カーネルも OS のバージョンも変えたくない場合は、次のコマンドを打てばよいようです。 sudo yum update --exclude=kernel* --exclude=centos* CentOSのバージョンを確認するコマンドは、 cat /etc/redhat-release 参考 https://ex1.m-yabe.com/archives/965 ちなみに、たとえば OS のバージョンはそのままで、カーネルだけアップデートすることはできないのか、 と検索してみると、次のような回答が。 https://oshiete.goo.ne.jp/qa/6501052.html 依存関係や拡張の問題などでハマる可能性がありそうなので、やめておくことにしました。 とりあえずこれで自己解決ということにしておきます。 追記 ドットインストールの自動スクリプトで環境構築すると、PHP のバージョンは現状で 5.6 です。 ちょっと古い気がしたので PHP7.0, Apache2.2.15, MySQL 5.7 にできないかと、 今度はドットインストールのスクリプトなしで新たに構築してみました。 結果は VirtualBox5.2.22, Vagrant2.2.2, CentOS6.7 の組み合わせでも、 うまいこと接続してくれました! 古い32bit PC でも仮想構築ができるんだ、ととても喜んでいます。