Tag Archives: VM

[メモ][Vagrant] Ubuntuのboxを作る

Pocket

Vagrantは便利だが、boxの初回ダウンロードがウンザリするくらい長い。
torrentに流してくれればいいのに…。
しかたないので自分でUbuntuのboxを作る。

参照ドキュメントは公式の以下のもの。
https://docs.vagrantup.com/v2/boxes/base.html

VirtualBox上でUbuntu14.04をインストール後、apt-get update && apt-get upgrade && apt-get dist-upgradeまで済ませた前提。
providerはVirtualBox。
まずVirtualBox特有の注意点を先に。

VirtualBox向けにBoxを作るときの注意点

https://docs.vagrantup.com/v2/virtualbox/boxes.html

  1. ネットワークインタフェースはNATにしておくこと。
  2. MACアドレスをメモしておくこと。
  3. VirtualBox Guest Additionsをインストールしてあること。

一つ目の理由は、VirtualBoxが決め打ちで接続してくるから。
二つ目の理由は、Vagrantfileのconfig.vm.base_macに書く必要があるから。
MACアドレスはVirtualBoxのGUIから確認できる。
三つめの条件を満たすには、あらかじめlinux kernel headersとbasic developer toolsをインストールしておく必要がある。
手順は後述。
ではさっそく。

不要なハードウェアの無効化

USB, オーディオなどを無効化する。
特にUSBが有効になっていると、無用なバグを引いたりするので、無効化しておくことを強く勧める。

デフォルトユーザ(vagrant)の作成

Vagrantの作業用アカウントを作る。
Vagrantはデフォルトでユーザ”vagrant”として仮想マシンにSSH接続する。
vagrantというユーザのいることが明らかだと、それはそれでセキュリティ上のリスクになるのだが、それはVagrantに慣れてから考える。

vagratを追加し、パスワードもvagrantに。
パスワードを設定しておくのは、万が一、手動で仮想マシンに接続する必要が生まれたときのため。

SSH接続用に鍵を作成する。
鍵はインターネットからダウンロードする。そんな鍵なんて危ないように見えるが、これはあくまでも初回ブート用。Vagrantが自動的に書き換えてくれる。

ユーザvagrant向けsudo設定

ユーザvagrantがパスワードなしでsudoできるように。
visudoで以下の行を追加。

さらにrequirettyという記述があればコメントアウト

rootのパスワードも変える。

rootのパスワードも”vagrant”に。

sshd設定

sshdがなければインストール。

sshdの設定ファイルを書き換え

以下の行があることを確認。なければ書く。

VirtualBox Guest Additionsのインストール

再掲だが以下のドキュメントに沿って。
https://docs.vagrantup.com/v2/virtualbox/boxes.html

その後、VirtualBox Guest Additionsのインストール
VitualBoxのGUIからCDを挿入し、以下を実行。

後はこちらの通り。

[メモ][Windows] VirtualBoxの仮想マシンからvagrantのboxを作る

Pocket

VirtualBox上の仮想マシンをvagrantのboxにする方法はありきたりだが、たいていはLinux、OS Xでの話で、Windowsでのメモはあまりない。そこでメモ。

packageの作成

VirtualBox上の仮想マシンをパッケージする。
vagrant packageの–baseオプションにVirtualBox上の仮想マシン名を与える。
なお、そのまえにUSB、サウンドは無効にしておいたほうがよい。

カレントディレクトリにpackage.boxができた。
この中に仮想マシンが入っている。
あとはこれをどこに移動してもよい。
うーん、ポータブル。
次にこの中の仮想マシンをvagrantから参照する方法。

package.boxをvagrantから参照する。

vagrant init <新規に作成する仮想マシンの名前> <package.boxの場所>と指定してvagrantfileを作る。
もちろんvagrant initと空撃ちして手で書き換えてもよい。後述。

package.boxはローカルに置いてあるので、場所の指定は「file://」に続けてパスを書く。
windowsの場合は「/C:/path/to/package.box」のように書く。
結果、「file:///C:/….」となる。
スラッシュが多くて不安になるけど、これでよい。
なお、windowsっぽく円マークあるいはバックスラッシュを使ってしまうとエスケープされてしまい、vagrantがpackage.boxを見つけられない。注意。

Vagrantfileが以下のようになっていること。
vagrant initを空撃ちした場合には、以下の二行を加えること。

あとはvagrant upでよい。

別の方法:box listに登録する。

package.boxをvagrantのbox listに登録しておけば、いちいちpackage.boxの場所を指定しなくてもいいようになる。

あとは定石で。

[メモ]WindowsにVagrantを入れてみた

Pocket

タイトルの通り。
たかがインストールして使える状態にするまでだけで苦労したからだよ!
インストールした後はVagrantの使い方はこのあたり見たらいいわけですよ。

Vagrant超入門:Vagrant初心者向けの解説だよ!
https://github.com/tmknom/study-vagrant

インストール

手順はここ http://docs.vagrantup.com/v2/getting-started/index.html 参照。
http://www.vagrantup.com/ からインストーラをダウンロードしてとっととインストール
2014/6/7現在、ヴァージョンは1.6.3。

初期設定

コマンドプロンプトを起動してinit。

そして起動…だが。

bsdtarがpathに入ってないとか文句を言うわけですよ。

解決法..再インストール

なんと解決法は再インストールだそうです。
嘘だろと思ったら本当に解決した。

このとき、Virtualboxに勝手に登録される。
vagrantvbox01

さっそく繋いでみよう。

ssh接続…ダメ。

vagrant sshで動かしたマシンにログインできるはずだが。

sshがないからダメ。
だから適当なsshクライアントで繋ぐ。
上記のメッセージの通り、IPアドレスは127.0.0.1, ポートは2222。

繋げましたな。
あとは消して終了。