ITと雑記とド田舎と

ド田舎在住エンジニアがIT備忘録と雑記を書くブログです

仮想化ツールを管理するVagrantでUbuntu16.04を導入したお話

今回は仮想化ツールのラッパーであるVagrantを利用して、仮想化ソフトVirtualBoxを用いてUbuntu16.04を導入する方法を備忘録兼ねてまとめたいと思います。

環境は以下です。

 

Vagrantの導入手順

Vagrantについて

VagrantVirtualBox,VMware等の仮想化ソフトを管理して仮想環境の導入時の設定や、開発環境の共有等を簡潔にしてくれる仮想化ソフトのラッパーツールです。以前から存在を知っていたのですが、私はVirtualBox単体で利用していました。先日、プライベートでRuby on Rails5の開発環境が必要になり、Linuxで環境構築を行いたかったため、これを機にVagrantを利用することにしました。

www.vagrantup.com

ViartualBoxとVagrantのダウンロード

まずは公式ページからそれぞれダウンロードしましょう。上記のリンクから下記の画面に移動してください。それぞれ利用しているOSに合わせたものをダウンロードしてインストールしてください。

f:id:kdn-1017-wttd:20180816213917p:plain

 

f:id:kdn-1017-wttd:20180816213936p:plain

 VirtualBoxVagrantの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サイトで公開されているものを確認することができます。

app.vagrantup.com

私はこの中からubuntu/xenial64のboxを追加し利用しました。

f:id:kdn-1017-wttd:20180816221531p:plain

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

 起動後は仮想マシン側でGUI環境を構築する手順を行います。

VirtualBox仮想マシンのウィンドウが開いているはずなので、ログインしましょう。

ユーザー名、パスワードともにvagrantとなっています。

vagrantssh接続機能でも操作可能です。その場合は以下のコマンドを実行しましょう。

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のデスクトップ画面が表示されていれば成功です。

f:id:kdn-1017-wttd:20180816225744p:plain

仮想マシンを停止するときはUbuntu側からシャットダウンを行うか、コマンドプロントで以下のコマンドを実行します。

vagrant halt

 

VagrantでUbuntu16.04の導入は以上で終了です。近いうちにRails5の開発環境導入手順もまとめたいと思います。

参考

WindowsにVagrantとVirtualBoxを使ったUbuntu GUI開発環境を構築する

【Vagrant】vagrantを導入しよう