VirtualBoxのVMからVagrantBoxを作成

表題の通り。先日作成途中であったAlpine LinuxのVMをVagrantBoxにする。

■ 環境

  • Alpine Linux 3.4.1
  • Vagrant 1.8.1
  • VirtualBox
  • Mac OSX El Capitan

■ alpine

先日のエントリでは”3.3.3“を使用していたと記憶しているが、現在は”3.4.1“までリリースされていたので再度”3.4.1“でVirtualBoxのVMを作成しインストールした。

Alpine Linux on VirtualBox (1)
Alpine Linux on VirtualBox (2)

以降はインストールした後の作業について。

■ Vagrant Base Box

下記公式ドキュメントを参照し、最低限の作業を行う。

CREATING A BASE BOX
https://www.vagrantup.com/docs/boxes/base.html

  • vagrant user
  • key
  • sudo

VirtualBoxのVagrantBoxを作成するには更に下記のドキュメントがある。

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

しかし、Alpine LinuxにVirtualBox Guest Additionsがインストールできなかったので、ここは諦めた。少なくとも前述の最低限の範囲ができていればVagrantBoxとして作成することは可能であろう。

■ VagrantBox

VagrantBox化するには下記のように行う。

vagrant package --base [VM] --output [VagrantBox]

自身の場合は下記のようにした。VirtualBoxのVMは”alpine“、出力するVagrantBoxの名前は”alpine-3.4.1.box“としている。

$ vagrant package --base alpine --output alpine-3.4.1.box

これで作成された”alpine-3.4.1.box“は下記のサイズになっていた。

$ ls -l alpine-3.4.1.box
-rw-r--r--  1 withsin  staff  144878996  7  5 19:09 alpine-3.4.1.box
$

この後はVagrantとして作成できるか?であるが、今回はここまでとする。

続きはこちら

以上。

■ 関連

VirtualBoxのポートフォワード

表題の通り。VirtualBoxの画面を使うと作業がしづらいので、ターミナルでアクセスできるようにポートフォワードを設定する。

■ 環境

  • Alpine Linux 3.3.3
  • VirtualBox
  • Mac OSX El Capitan

■ Alpine Linux

起動時のメッセージにも下記のように出力されているが、sshdは起動している。

alpine-ssh-001

sshdの設定を確認すると、rootでのログインが許可されていないようなので、下記を編集してrootでのログインを許可した。

$ vi /etc/ssh/sshd_config

設定項目は下記。

PermitRootLogin yes

sshdを再起動する。

$ service sshd restart

続いてVirtualBoxのポートフォワードの設定を行う。

■ VirtualBox

AlpineのVMのネットワーク設定を開く。

「設定」>「ネットワーク」>「アダプター1」

alpine-ssh-002

よく使われる”2222“は`vagrant`で使っていたりするので、ここでは”22222“をVMの”22“ポートへフォワードすることにした。

alpine-ssh-003

あとは使い慣れているターミナルソフトでログインするだけである。

$ ssh -l root -p 22222 localhost
root@localhost's password:
Welcome to Alpine!

The Alpine Wiki contains a large amount of how-to guides and general
information about administrating Alpine systems.
See <http://wiki.alpinelinux.org>.

You can setup the system with the command: setup-alpine

You may change this message by editing /etc/motd.

localhost:~#

ちなみに、”root“のパスワードを設定した時に”Bad Password: too short“と出ているパスワードではログインができないので`passwd`コマンドでそれなりのパスワードに設定しておかなければならない。

以上。

■ 関連

Alpine Linux on VirtualBox (2)

先日の下記エントリの続き。

Alpine Linux on VirtualBox (1)

■ 環境

  • Alpine Linux 3.3.3
  • VirtualBox
  • Mac OSX El Capitan

■ 起動

Alpine LinuxのVMを起動する。

alpine-setup-001

前回と同じで”root“でログイン。

alpine-setup-002

各種設定を行う`setup-alpine`を実行する。

alpine-setup-003

keyboard layout“は”jp“で進める。

alpine-setup-004

hostname“は特に設定しない。”localhost“となるようである。

alpine-setup-005

ネットワークインターフェース(NIC)の選択。記載されている通り使用可能なのは”eth0“であるのでこれを選択。

alpine-setup-006

選択した(eth0)のIPをアドレス。デフォルトの”dhcp“で行う。

alpine-setup-007

手動でネットワーク設定を行うかと問われるが行わない。

alpine-setup-008

root“のパスワード設定。短すぎると言われているが気にしない。

alpine-setup-009

タイムゾーンの選択。”?“で選択可能な一覧を取得し、表記の中から”Japan“を選択した。

alpine-setup-010

プロキシは使用しない。

alpine-setup-011

どのレポジトリを使用するかの選択のようである。”f“で一番速くアクセスできるレポジトリを選択できるようなので実行。

alpine-setup-012

SSHサーバはデフォルトの”openssh“で行う。

alpine-setup-013

NTPクライアントはデフォルトの”chrony“で行う。

alpine-setup-014

使用するディスクを選択。選択可能なのは”sda“だけなので、これを指定。

alpine-setup-015

sys“/”data“/”lvm“何を選択すれば良いのかよくわからないので”?“で確認。

alpine-setup-016

OSをインストールするのは”sys“のようなのでこれを選択。

alpine-setup-017

インストール開始。

alpine-setup-018

VirtualBoxの設定からディスクを外して継続。

alpine-setup-019

インストールを完了したら`reboot`する。ディスクはすでに外しているが起動するはずである。

alpine-setup-020

以上。

■ 関連

Alpine Linux on VirtualBox (1)

表題の通り。最終的にはAlpine LinuxのVagrantBoxを作成したいので、まず手始めにVirtualBoxでAlpine Linuxを稼働させる。

■ 環境

  • Alpine Linux 3.3.3
  • VirtualBox
  • Mac OSX El Capitan

■ Alpine Linux

VagrantのBoxを検索したが最新の”3.3.3“はなかったので自身で作成することにした。まずはISOをダウンロードする。

alpine-001
http://www.alpinelinux.org/

ダウンロードしたファイルは”alpine-3.3.3-x86_64.iso“。わずかに83Mしかない。

■ VirtualBox

以降は、VirtualBoxで作業を行う。

VirtualBoxを起動。久しぶりに起動したところアップグレードが可能であったのでアップグレードしておいた。

alpine-002

新規」からVMを作成する。

alpine-003

入力項目はそれぞれ下記のようにした。

  • 名前: alpine
  • タイプ: Linux
  • バージョン: Linux 2.6 / 3.x / 4.x (64-bit)

基本は全てデフォルト設定ままで行う。

メモリ。

alpine-004

ディスク。

alpine-005

ハードディスクのファイルタイプ。

alpine-006

物理ハードディスクにあるストレージ。

alpine-007

ファイルの場所とサイズ。

alpine-008

作成完了。

alpine-009

続いて設定を行う。ダウンロードしたISOファイルを読み込むようにする。

設定」>「ストレージ

alpine-010

「ストレージツリー」>「コントローラー: IDE」の「空」を選択し、右側の「属性」にある「CD/DVD」のマークをクリック。 「仮想光学ディスクファイルを選択」から、ダウンロードした”alpine-3.3.3-x86_64.iso“を選択する。

続いて起動する。

alpine-011

起動するとログインを求められるので”root“でログインする。

alpine-012

一旦、ここで終了。現段階ではまだAlpine LinuxをHDDにはインストールできておらず、CDから起動したままの状態のようである。この後、`setup-alpine`でOSをHDDにインストールするようである。

以上。

■ 関連

VirtualBoxのUpgrade(5.0.8)

表題の通り。とあるアプリケーションを試したかったのだが、VirtualBoxが5.0.0以上という制約があったので”5.0“系にアップグレードした。

以前も同じようなエントリを書いた気がするが気にしない。

■ 環境

  • Mac OSX (10.10.5)
  • VirtualBox 4.3.30 → 5.0.8

■ 確認

まずは既存のversionを確認。

virtualbox-001

4.3.30“が稼働しているようである。続いてアップデートを確認する。

virtualbox-002

アップデートが存在しない?『VirtualBoxは5.0.0以上が必要』というので実行するつもりであったのだが…。

Oracle VM VirtualBox
https://www.virtualbox.org/

これを見ると”5.0“系が存在する。メジャーバージョンのアップグレードは確認されないのか…。ダウンロードページへ。

virtualbox-003

VirtualBox 5.0.8 for OS X hosts“を選択しダウンロード。ダウンロードしたファイルは”VirtualBox-5.0.8-103449-OSX.dmg“であった。

■ インストール前に

VirtualBoxで稼働しているVMを止めておく。Vagrantで起動しているものは`global-status`で確認し、statusが”poweroff“もしくは”saved“になっているかを確認。

$ vagrant global-status
id       name      provider   state    directory
---------------------------------------------------------------------------
89f2d82  core-01   virtualbox poweroff /Users/withsin/work/coreos-vagrant
4190638  default   virtualbox poweroff /Users/withsin/work/tmp/vagrant-0625
5188e00  default   virtualbox poweroff /Users/withsin/work/tmp/vagrant-0818

The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date. To interact with any of the machines, you can go to
that directory and run Vagrant, or you can use the ID directly
with Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"
$

また自身の場合は、`docker-machine`でも利用しているのでそちらも確認し、起動していれば停止する。

$ docker-machine ls
NAME           ACTIVE   DRIVER       STATE     URL                         SWARM
local          *        virtualbox   Running   tcp://192.168.99.100:2376
swarm-agent             virtualbox   Stopped                               swarm-master
swarm-master            virtualbox   Stopped                               swarm-master (master)
$
$ docker-machine stop local
$
$ docker-machine ls
NAME           ACTIVE   DRIVER       STATE     URL   SWARM
local                   virtualbox   Stopped
swarm-agent             virtualbox   Stopped         swarm-master
swarm-master            virtualbox   Stopped         swarm-master (master)
$

■ インストール

本題のインストール実行。ダウンロードした”VirtualBox-5.0.8-103449-OSX.dmg“をダブルクリックする。以降はそのまま指示に従うだけ。

virtualbox-004

virtualbox-005

virtualbox-006

virtualbox-007

virtualbox-008

virtualbox-009

インストールは完了したのでversionを再度確認。

virtualbox-010

■ インストール後

VirtualBoxのUpgradeが実施できたので、`docker-machine`でも正常に稼働するかを念のため確認する。

$ docker-machine start local
Starting VM...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
$
$ docker-machine ls
NAME           ACTIVE   DRIVER       STATE     URL                         SWARM
local          *        virtualbox   Running   tcp://192.168.99.100:2376
swarm-agent             virtualbox   Stopped                               swarm-master
swarm-master            virtualbox   Stopped                               swarm-master (master)
$

いくつか`docker`コマンドを実行して試して問題ないのでOKである。

以上。

■ 関連