問題点
Vagrant + Virtualbox を使って Windows10 上に CentOS6 を立ち上げたいと思っているのですが、うまく行きません。参考にしたのは、ドットインストールの「ローカル開発環境の構築」です。
https://dotinstall.com/lessons/basic_localdev_win_v2
下記の環境で、ドットインストールの手順に従い、一度はエラーもなく最後まで行って、PHP での 「hello world」 の表示もうまく行きました。しかし、vagrant halt した後、もう一度、vagrant up すると、private key のところで止まり、タイムアウトのエラー表示が出て、Putty につながらなくなってしまいました。
開発環境
Windows10 pro 32bit
Virtualbox 5.2.22
Vagrant 2.2.2
CentOS 6.7(32bit)
Putty 0.71
Vagrantfile
1Vagrant.configure("2") do |config| 2 config.vm.box = "bento/centos-6.7-i386" 3 config.vm.network "private_network", ip: "192.168.33.10" 4 config.vm.provider "virtualbox" do |vb| 5 vb.gui = true 6 end 7end
試したこと
- vagrant up 時にセキュリティソフト、ファイアーフォールを無効にする。
- ホストマシンのBIOS設定で VT-x/AMD-V を有効にする。
- Vagrant と Virtualbox のバージョンの組み合わせをいろいろと変えてみる。
- bento/centos-6.8-i386 (6.7 ではなく)で vagtant init してみるが、うまく行かない。
- Vagrantfile に
config.vm.provider "virtualbox" do |vb|
vb.gui = true
end
を追加して、vagrant up 時に VirtualBox GUI を自動で立ち上げる。
検索して調べていると、似たような質問をしている方がいらっしゃいました。
https://teratail.com/questions/52139
カーネルの問題? よくわからないけど、これかもしれない、と思い、書いてある通り試してみると、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
0. 仮想マシンを作るフォルダを作って、そこで仮想マシン設定用のVagrantfileを作る
vagrant init bento/centos-6.7-i386
0. Vagrantfileを編集して仮想マシンのIPアドレスを192.168.33.10にする
config.vm.network "private_network", ip: "192.168.33.10"
0. 仮想マシンを起動する
vagrant up
Putty で仮想マシンの設定
0. OSを最新状態にアップデート
sudo yum -y update(たとえば、CentOS6.7 なら CentoOS6.10、CentOS7にはならない)
私の場合、上記コマンドではなく次のように打ったらうまく行きました。
sudo yum -y update --exclude=kernel* --exclude=centos*
(CentOS6.7 のままカーネルのアップデートなし)
0. スクリプトを入手するためのgitをインストール
sudo yum -y install git
0. gitを使ってアプリケーション設定用のスクリプトをダウンロード
git clone https://github.com/dotinstallres/centos6.git
0. centos6フォルダができるのでそちらに移動
cd centos6
0. スクリプトを実行 // php や ruby などをインストール
./run.sh
0. もろもろの設定を反映
exec $SHELL -l
追記
アップデート前のカーネルを選択すると、次の画面が表示されます。
アップデート後のカーネルを選択すると、PowerShell のほうにタイムアウトのエラーが表示されます。
最初このまま Putty には接続できないと思ったけれども、30分ぐらいすると、上の画像のように localhost login: _ が表示され、Putty につながるようになります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。