tonkoo3000’s tweets

IT/WEB関連の技術的な興味などを主に書いていきたいと思います。

Vagrantの自作BOXの書き出し&起動でいつも失敗していた話

いろいろ設定したVagrantBoxを書き出す。

よくある内容ですが、いっつも失敗してて、今回やっと原因つかめた感じなので記事にしてみます。 VagrantVirtualBox などについては以下参照。

y-andoh.hateblo.jp

他にも記事が山ほどあります。Githubとかからテストっぽいモジュールとか取ってくる時に、メインマシン汚したくない場合などに最適です。現在Ver2.0.1でかなり安定して動いてくれています。

nvm、pyenvなど設定して、作業ユーザー作って、Bash Promptに好みの色を付けたりして、AngularとかAWS Cliとか入れて、その他もろもろもろっと・・・・。 ある程度出来上がったものを以下のコマンドでExportします。

vagrant package

package,box がカレントディレクトリに作成されました。

さて、ここからが問題・・・。

とある開発環境ツールでVagrantとの連携がかなり進んでいて、メニューからプロジェクトのRootフォルダに、Vagrant file 置いてメニューなどから操作できるようになっていました。これ使ってみたい・・・。ということで、元のBOXを書き出して使うことにします。

bashalog.c-brains.jp

$ ls ./

README.md karma.conf.js src Vagrantfile node_modules tsconfig.json Vagrantfile.save package-lock.json tslint.json Vagrantfile~ package.json ubuntu-xenial-16.04-cloudimg-console.log e2e protractor.conf.js

無事プロジェクトフォルダのRootに、Vagrantfileが作成されました。 Webstormやばいっす・・・。UI洗練されててとても素敵です。 有償のIDEですが、クライアントにおねだりして購入していただきました。m( )mありがとうございます。

www.jetbrains.com

では、早速、vagrant up うん?

default: Warning: Connection timeout. Retrying...

はい。いつものあれですね。

以前もBOX配布してみたのですが、渡したエンジニアの方から起動できないって言われて断念したことがあります・・・。また、同じことの繰り返し・・・。

そこで、今回は、自分の環境でまた同じOSセッティングを繰り返したくなかったため、いろいろ調べて解決しようとしてみました。

以下、調べた記事を参考に

$ ssh-config

それで、元のBox作った方でも ssh-config したら、なんか中身違うっぽい・・・。 どうも初回起動時に鍵合ってないから勝手に作るねってVagrantさんがおっしゃっているようです。そういう仕様のようです。

Vagrant 1.7 以降では、vagrant up 時に旧来の insecure_key を検知した場合、その仮想マシン用の別の鍵ペアを生成して insecure_key を置き換える。 生成した秘密鍵は .vagrant/machines/default/virtualbox/private_key に置かれ、それ以降そのマシンへのアクセスは新しい鍵が使われるようになり、insecure_key での SSH はできなくなる。

一番わかりやすかった記事。こちらから↑引用させていただきました。ありがとうございます。m( )m qiita.com

もう一回

$ vagrant ssh-config

新しく作ったのだから、当然GuestBOXの側にもそれにあった鍵がセットされてるもんだろ?と思っていたのですが、ふと、別の鍵つくちゃってるんだけど、Boxの方は書き換えられていないため、SSHエラーってことになってるのでは、と推測が働きました。鍵ってたしか400とか600 permissionにしてたから、Vagrantが作成しようとした時に上書きがコケてるのでは?

鍵作り直すって記事もあったのですが、要するに、古いBOXの鍵でつながるんじゃない?とふと思いつきました。

そこで、もとの方の秘密鍵vagrant ssh-config で確認したディレクトリに cp で突っ込んで、vagrant reload.

再び

$ default: Warning: Connection timeout. Retrying...

うーん、起動しない・・・。

一回 vagrant destory してみて、もう一回 vagrant up.... この時に、さっき作成されたものと同じ名前のKeyファイル名で中身を元BOXの鍵に入れ替えてみました。もし、予測どおりならこれでいけるのでは・・・。

==> default: Machine booted and ready!

よっしゃ!

というお話でした。

こちらの記事参考にさせていただきました。m( )m

ja.stackoverflow.com

ついでに見つけたもの。なんか、これが良さげ。今度トライしてみます。 gist.github.com

これって、Vagrant Box 配布する時に注意しとかないと同じことまた起きちゃうなあ・・・。と思った次第です。

晴れて、WebStorm上からVagrant起動成功!!

f:id:tonkoo3000:20180130055802p:plain

いやー、5時間くらい悩んでました・・・。同じ感じのポイントでコケてる方への参考となれば幸いです。 WebStormのUbuntu版使い始めましたが、めっちゃいい感じ。さすが評判高いIDE統合開発環境)だなあと、感心しています。個人ライセンスは年間49ドルとちょっとお高いですが、Cloud9チックにファイル確認できるし、いろいろ準備してくれているので面倒なセッティングいらないっていうのがとても魅力に思えます。Atomで頑張って構成するのもいいんですけどね・・・。どうも、Atomはいろいろplugin入れると動きがもっさりしている感があるので、しばらくはWebStom使い倒していこうかなと思っています。

最後まで読んでいただきまして、ありがとうございました。m( )m

アマゾンアフェリエイトの状況を醸してみた話

ついに売上が!!!

現在、SummonersWarというゲームの日記的ブログを個人で運営しています。

summonars-war-fun.tokyo

先日、GoogleAdsenseがやっと2800円となり、いままでやってきたブログの中では一番うまく行っているかなあという印象です。

そして、ついに、Amazonアフェリエイトにも売上が立ちました!

Amazonアフィリエイトの管理画面

Amazonアフィリエイトの管理画面

5件ほど売上出ています。ただ、この管理画面、何が売れたのかとかさっぱりわかりません。これじゃ対策も取りようないですよね・・・。 一応、スマホゲームなので、スマホアクセサリ、他ゲーム、アニメDVDなどを中心に紹介しています。

金額はわずかですが、ターゲットと広告結びついたことを思うと、感無量です。。゚(●'ω'o)゚。

Amazonアフェリエイトは、最近↓のバナーのようなサービスもやってるみたいなので、Amazonアフェリもう少し露出増やしていこうかなあと思っています。 これ、自分もやりたいかも。買い物行くの面倒・・・。

Ubuntuのクリーンインストール時の話

よくある記事なのですが、自分なりのメモです。

おせわになっていた開発会社様がオフィスを移転することになり、複数台のノートPCを破棄するとのことで、急遽数台のPCを入手することができました。 今回は、DELLのXPS13-9333に、Ubuntu17をクリーンインストールしていく際のメモです。

XPS13-9333

すごい使いやすいし、小さくて持ち運びも便利です!

外部ディスプレイ出力に少々癖あり。Macbookなどと同じUSB3.1規格のものを準備しないといけない・・・。

bonanza-laboratory.com 画面の制度が非常に高いので、いまのところ大丈夫そうです。やっぱりHDMIは標準でついていてほしいところ・・・。 www.pasonisan.com

Corei7,メモリ8GB、SSDと性能的にもかなりハイスペックな作りになっています。これ無料ですよ。タダ。笑

install

Live Media USBを作成しておきます。

kledgeb.blogspot.jp

ipv6の初期化

インストール後、起動したあとに実施。これをやらないと、aptなどが異常に時間かかります。

追加 vi /etc/modprobe.d/disable-ipv6.conf

options ipv6 disable=1


一番下に追加

vi /etc/sysctl.conf

ipv6 disabled net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1


sysctl -p

Chrome-stable

qiita.com

付箋アプリ

linux-user.hatenablog.com

Ubuntu Tweak

qiita.com

その他

OBS

Graphic Hardware が対応している必要があります。ゲーム配信などに使うBroadCastingのOSSです。 obsproject.com

VirtualBox Vagrant

UbuntuUpdates - PPA: Virtualbox.org contrib

www.vagrantup.com

Dockerも便利そうなのですが、いまいち使いこなせていません・・・。

Gimp and Inkscape

qiita.com

launchpad.net

Dropbox

Linux リポジトリから Dropbox を追加/削除する方法 – Dropbox Ubuntu17.04

www.computerbeginnersguides.com

Home Directly => 日本語からEnglishへ

これやっておかないと、ターミナルでの作業が非常にやりづらいです・・・。

qiita.com

基本的なものはこれでOK

あとは、CloudサービスのCLIなどをVagrantの方に適当に入れていけば、開発用、趣味用と非常に優秀なPCとして機能してくれます。 また、言語環境のバージョン切り替えがかんたんにできる、nvm, rbenv, pyenv, phpenvなども入れて置くと後々便利だったりします。このあたりは、VirtualBoxの仮想環境の方で構築しておくと、メインマシンが肥大化しませんのでいいかもしれません。 気をつけるのは、Ubuntu17のレポジトリは、開発コードが異なる(zesty)なので、記事通りにやっても入れたいソフトが入れられないことがあります。version18がLTS版になるとのことなので、それまではVersion16(LTS)版を使うほうがいいのかもしれませんね。