virtualbox/windows10(クリーンインストール後)でVCCW、vagrant up!!

windows10-vccw-vagrantup

クリーンインストールして、純正windows10へ気分よくvirtualbox入れてchocolateyでvagrant入れて、VCCW の box add して アプリ層も git clone 、そしてsite.yml も日本語化などお好み設定してvagrant up!!仮想マシン正常に動かない‼F〇ck!!

VMは、一応、起動しましたが、vagrant ssh できない。ゲストOSに入られません。vagarant ssh-config をしても思いっきりパスが違う・・・。バージョンは、VirtualBox 5.1.4 for Windows hosts、Vagrant 1.8.5 です。Virtualboxのインストールパスはシステム環境変数で確認し、きちんと通っていました。尚、Vagrant 1.8.5 にはバグがあるという事が既にgit hub issue であがっています。通常の手順で vagrant up するとこけます。vagrant up の前に鍵の設定手順は Vagrantで”Warning: Authentication failure. Retrying…”のエラーが出た時の対処法 を参照ください。鍵設定後は、パーミッションの設定(Provisioning doesn’t work without changing ssh key permisions)を参照ください。

chocolateyを疑ってみる

chocolateyでvagrantはなく、手でVirtualBoxとVagrantをインストールやり直してみる。chocolateyのgithubも色々とissueが出たままになってるものもあり、疑うことは必要だと思います。chocolateyが原因だろうな~と予測されるような、わかりにく~い躓きも、結構、遭遇します。

vagrant-up-failed

ググると、VirtualBoxのダウングレードで5.0.0あたりにするといいらしい(ですが、検証したらダメでした)。Vbox.logでは Error: Unable to connect to system D-Bus (1/3): Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory が出ており、どうやらD-busとかGuestAdditionあたりらしいです。

Cygwinはsshを自分でインストールする必要がある

D-busとかGuestAdditionの対処は、設定した事そのものを忘れて、何かの拍子でエラー原因の分析に膨大な時間消費地獄に陥っても嫌なので、バージョン下げで対応してみる。過去バージョンはDownload VirtualBox (Old Builds)で探し、5.0.0に ⇒ ダメ。F〇ck!! VMは立ち上がるけど、ssh出来ないということで、結局、windowsホスト内にsshがインストールされていない事によるsshが使えないことが原因と断定しました。おそらく、バージョンが問題ではないです。

そうなるとchocolateyでは、インストールパッケージをいじる必要があるCygwin と バージョンを独自に管理する可能性が今後も出てくるかもしれないVirtualboxやVagrantは、独自インストールしないと対処できない問題が出てくる可能性が今後もある。

chocolateyでパッケージ管理しないほうがいいもの、独自インストールした方がいいものなど、余計に管理が煩雑になるので、いっそのことchocolatey無しでもいいかも。

ここまでたどり着くのに、何度も検証でいろいろなパッケージのインスト―ル/アンインストールを繰り返し、猛烈に時間消費しました。F〇ck!!

chocolateyは開発途上のため、chocolatey側でアンインストールしたあとにプログラム一覧なり直接アンインストーラ起動なりでWindowsから消す必要がある

これは重要情報!chocolateyからの各種パッケージのアンインストールはこける!再度windows10クリーンインストールか?F〇ck!! chocolateyがトラブルメーカーな事が浮き彫りになりました。chocolatey開発コミュニティの進展が起こらない限り、以後、採用しない事に決めました。

ということでいろいろあり、chocolateyで入れてしまったCygwinをアンインストールして再度やり直し、見事にホストマシンに残骸が残る⇒開発ツール/Cygwinのアンインストール手順

レジストリのインポートはリスクが高い。

Cygwinアンインストール失敗の残骸が残りました。また、レジストリか。もう二度と出てくるな、F〇ck!笑!レジストリの削除のやり方が間違っているらしく、うまくいかない。レジストリ検索で引っかかったものすべてを削除していると、キーファイルだけの削除なのか?フォルダ丸ごと削除なのか?だったり、他のアプリケーションのパスっぽいけどパスの最後尾にcygwinが入っているもの、その他いろいろなパターンがあるけど、どれを消すべきなのか?このあたりは、windowsアプリ開発が得意な会社や人に教えを請うべきかも。レジストリ作業は、初心者にはハイリスクです。一度、クリーンインストールしているので、良くも悪くも度胸がつきましたが・・・。レジストリと環境変数については、おそらくwindowsアプリ開発を学習しないと正しく理解することはできないかも。

WindowsでGUIによるアンインストールが正確にできないアプリケーションほど、タチの悪いものは無い。手動アンインストールのスキルは、ちょっと高価だと思う。

レジストリ手動削除がうまくいかない場合、レジストリバックアップのインポートに頼るという方針が既に間違い(2回目)。再びレジストリ復元ができず!F〇ck!レジストリをインポートできません。を参照すると、他の起動中アプリケーションが邪魔をしている可能性がある。そのため、極力、起動中のアプリケーションを減らしてからインポートするか、セーフモードでインポートが必要。でも、セーフモードのインポートもダメでした。セーフモードでも競合するシステムプログラムが存在する場合、競合プログラムを停止してから、レジストリインポートする事になります。競合プログラムを見分ける術を持っていないとアウトです。競合を見分ける方法がわからない為、再びクリーンインストールしました。スキルを身につけるまでのOJTの時間犠牲が多過ぎる。F〇ck Microsoft もっとシンプルなOSにできなかったのだろうか。改めて後日に調べたところ、セーフモードでもダメな場合、BIOSやデバイスマネージャーを使ってIRQ(Interrupt ReQuest:割り込み要求)競合を見ていく事がポイントになってくる様です。

cygwinへのsshインストール

2回目クリーンインストール後、How to install OpenSSH on Windows 10を発見しましたが、oracleに書かれているCygwinのインストールおよびSSHデーモンの起動を歴史の長さという観点で安定性を信じて採用しました。ご参考に、cygwinのsetup.exeはパッケージの上書きインストールなどを後から行う可能性があるので、ゴミ箱に移動せず、保管しておいたほうが賢明です。※Windows 10 Anniversary Updateはクリーンインストール後に行った長時間の windows update で自動的に含まれていました。

Virtualbox / Vagrant のインストール

Virtualbox

vagrant HashiCorp

上記よりダウンロード。

vagrantにプラグインを入れる。

windows10 hostsのアクセス許可設定の確認。C:/WINDOWS/system32/drivers/etc/hosts にて、hostsを右クリック、プロパティ、セキュリティタブ、編集、グループ名またはユーザー名でUsersを選択し、アクセスコントロールでUsersを許可でフルコントロールに変更、適用、OK。

Gitを入れる(git clone などgitを使いたい人)。

私家版 Git For Windowsのインストール手順がとても丁寧に説明してくれています。Path や 改行 や 初期の基本設定 など、シンプルでいいです。

vccwの設定

VCCWで詳しく確認できます。windowsの方は、やはり、hostsの設定をよく考えて確認しましょう。

Cygwinで行いました。vagrant box 追加

vccwのアプリケーション側ファイル達を任意のフォルダに構成

※cdコマンドで任意のフォルダに移動してから行ってください

さらにvccwのフォルダまでcdコマンドで移動。site.ymlをお好み設定で設置ですが、site.yml内のlangで要注意です。

その他、DBの接頭辞もwordmoveの際に差異があるとうまくいきません、site.ymlの段階でDBの接頭辞をリモートホストに合わせておきましょう。

そして、vagrant up お疲れさまでした。

コメントを残す