LoginSignup
10
10

More than 5 years have passed since last update.

MacBookを使うシステム管理者なら手元に1つは置いておきたいCentOS7デスクトップ用のVagrantfile

Last updated at Posted at 2016-07-08

MacBookを使うシステム管理者として時々困ることは、WindowsとLinux(Redhat系)しかサポートしていないGUIアプリケーションを使わなければならなくなった時です。そんな機会は稀ですが、そういうニーズが本当にたまにあります。そんな時のためのVagrantfileがこちら。

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

$script = <<SCRIPT

yum -y groupinstall "GNOME Desktop"
systemctl set-default graphical.target
systemctl start graphical.target

SCRIPT

Vagrant.configure(2) do |config|
  config.vm.box = "bento/centos-7.2"

  config.vm.provider "virtualbox" do |v|
    v.memory = "2048"
    v.gui = true
    v.customize ["modifyvm", :id, '--audio', 'coreaudio', '--audiocontroller', 'ac97']
    v.customize ["modifyvm", :id, '--vram', '256']
  end

  config.vm.provision "shell", inline: $script

end

ユーザとパスワードはどちらもvagrantです。デスクトップ環境のインストールが済んだ後はライセンスに同意する手順を踏まなければなりませんが、GUIなのでnextnextで簡単に済みます。

カーネルアップデート後のVirtualBox Guest Additionsについて

初回のyum updateにはカーネルのアップデートがつきものですが、カーネルのバージョンが変わるとVirtualBox Guest Additionsが使えなくなってしまいます。そうなるとデスクトップのウィンドウサイズの調節が出来なくなってしまうので、そんな時はvagrant-vbguestを使うか、もしくはvagrant sshでVMにログインして下記のスクリプトを実行すると大丈夫です。

#!/bin/bash

set -e

yum -y install gcc kernel-devel
wget http://download.virtualbox.org/virtualbox/5.1.0_RC1/VBoxGuestAdditions_5.1.0_RC1.iso
sudo mount VBoxGuestAdditions_5.1.0_RC1.iso /mnt -o loop
sudo /mnt/VBoxLinuxAdditions.run
sudo umount /mnt
rm VBoxGuestAdditions_5.1.0_RC1.iso
sudo yum clean all
sudo reboot

イメージを保存する

イメージのアップデートが完了したらそのイメージをローカルに保存することをお勧めします。そうしておけばvagrant destroy後にまたイチからイメージを作り直す必要がなくなります。

## Step 1. ひとまずsshキーをデフォルトに戻します。こうしておくと新規に
## vagrant upした時にVagrantが新しい鍵でリセットしてくれます。
$ vagrant ssh
$ wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -N -O .ssh/authorized_keys
$ exit

## Step 2. ローカルのvagrant boxとして保存します。
$ VBoxManage list vms
$ vagrant package --base <イメージのフルネーム> --output /tmp/centos-7-desktop.box
$ vagrant destroy
$ vagrant box add centos-7-desktop /tmp/centos-7-desktop.box
$ rm /tmp/centos-7-desktop.box

NOTE: Step 1でsshキーをデフォルトに戻しておかないと、新しいboxで作ったVMにvagrant sshできなくなります。

ローカルに保存した後のVagrantfile

アップデート後のイメージをvagrant boxとして保存した後は下記のVagrantfileで気軽にCentOS 7のデスクトップイメージを立ち上げることができます。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "centos-7-desktop"

  config.vm.provider "virtualbox" do |v|
    v.memory = "2048"
    v.gui = true
    v.customize ["modifyvm", :id, '--audio', 'coreaudio', '--audiocontroller', 'ac97']
    v.customize ["modifyvm", :id, '--vram', '256']
  end

end

こういうイメージが手元にあると、ときどき便利です。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10