仮想化ツールを管理するVagrantでUbuntu16.04を導入したお話
今回は仮想化ツールのラッパーであるVagrantを利用して、仮想化ソフトVirtualBoxを用いてUbuntu16.04を導入する方法を備忘録兼ねてまとめたいと思います。
環境は以下です。
- Windows10 Pro
- VirtualBox 5.2.16
- Vagrant 2.1.2
Vagrantの導入手順
Vagrantについて
VagrantはVirtualBox,VMware等の仮想化ソフトを管理して仮想環境の導入時の設定や、開発環境の共有等を簡潔にしてくれる仮想化ソフトのラッパーツールです。以前から存在を知っていたのですが、私はVirtualBox単体で利用していました。先日、プライベートでRuby on Rails5の開発環境が必要になり、Linuxで環境構築を行いたかったため、これを機にVagrantを利用することにしました。
ViartualBoxとVagrantのダウンロード
まずは公式ページからそれぞれダウンロードしましょう。上記のリンクから下記の画面に移動してください。それぞれ利用しているOSに合わせたものをダウンロードしてインストールしてください。
VirtualBoxとVagrantのVersionによってはうまく動かないことがあるようですが、私の場合はどちらも最新で問題ありませんでした。 2018/8/15現在でVirtualBox5.2.16,Vagrant2.1.2でした。もしうまくいかない場合はVirtualBoxのVersionを落とすと良いようです。
Vagrantの初期化
両方のインストールが終了したらコマンドプロンプトで作業を行います。まずはVagrantが正しくインストールされていることを確認しましょう。
vagrant -v Vagrant 2.1.2
続いて、仮想マシンを作成するためのディレクトリを作って移動します。
私の場合はVagrant/machineというディレクトリを作成しました。以下、一例です。machineではなく、目的に応じた分かりやすい名称にすれば良いと思います。
mkdir Vagrant cd Vagrant mkdir machine cd machine
移動したら、作業用ディレクトリの初期化を行います。初期化用のコマンドを実行すると下記のように表示され、「Vagrantfile」というVagrantの設定用ファイルが作成されます。
vagrant init A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
Ubuntu16.04の追加
Vagrantではboxと呼ばれるOSのイメージをまとめたファイルを追加することで仮想環境の構築を行います。boxはVagrantCloudというwebサイトで公開されているものを確認することができます。
私はこの中からubuntu/xenial64のboxを追加し利用しました。
boxを追加するには先ほど作成したVagrantfileを編集を行います。
15行目を以下のように変更します。
config.vm.box = "ubuntu/xenial64"
ファイルを編集したら以下のコマンドでboxを追加することができます。
vagrant box add ubuntu/xenial64
導入したboxの確認は以下のコマンドで行えます。
vagrant box list ubuntu/xenial64 (virtualbox, 20180814.0.0)
続いてネットワークの設定を行います。hostマシン(今回はwindows10)から仮想マシンにアクセスする際のIPアドレスなどが決定されます。Vagrantfileの35行目のコメントを解除します。
config.vm.network "private_network", ip: "192.168.33.10"
IPアドレスは変更することもできるようです。
最後にGUI環境構築のための設定を行います。Vagrantfileの52行目から58行目までのコメントを解除して以下のように設定し直しました。
config.vm.provider "virtualbox" do |vb| vb.gui = true vb.memory = "4096" vb.cpus = 2 vb.customize [ "modifyvm", :id, "--vram", "256", "--clipboard", "bidirectional", "--accelerate3d", "on", "--hwvirtex", "on", "--nestedpaging", "on", "--largepages", "on", "--ioapic", "on", "--pae", "on", "--paravirtprovider", "kvm", ] end
memoryやcpusの設定はお使いのコンピュータのスペックに合わせて変更しても良いでしょう。
Ubuntu16.04の起動
仮想マシンを起動します。
vagrant up
VirtualBoxで仮想マシンのウィンドウが開いているはずなので、ログインしましょう。
ユーザー名、パスワードともにvagrantとなっています。
vagrantのssh接続機能でも操作可能です。その場合は以下のコマンドを実行しましょう。
vagrant ssh
Ubuntu側で以下のコマンドを実行して、デスクトップ環境を構築します。
$ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - $ wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - $ sudo wget https://www.ubuntulinux.jp/sources.list.d/xenial.list -O /etc/apt/sources.list.d/ubuntu-ja.list $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install ubuntu-desktop
パッケージの導入が終了したら、仮想マシンを再起動します。コマンドプロンプト側で以下のコマンドを実行します。
vagrant reload
再起動後Ubuntuのデスクトップ画面が表示されていれば成功です。
仮想マシンを停止するときはUbuntu側からシャットダウンを行うか、コマンドプロントで以下のコマンドを実行します。
vagrant halt
VagrantでUbuntu16.04の導入は以上で終了です。近いうちにRails5の開発環境導入手順もまとめたいと思います。