MacOS に VirtualBox + Vagrant を使って CentOS + GNOME GUI デスクトップ環境を構築する

以前、Windows 上に VirtualBox + Vagrant で CentOS 環境を構築する手順を紹介した。

今回、VirtualBox + Vagrant を使用する点はそのままに、ホストに MacOS High Sierra を使用し、ゲストの CentOS に GNOME デスクトップ環境を用意してみる。

目次

VirtualBox と Vagrant のインストール

Windows 同様、それぞれをインストールしておく。

Vagrantfile を用意する

以下のサイトで紹介されている Vagrantfile を適当なディレクトリに保存する。

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

Vagrant.configure("2") do |config|
  config.vm.box = "bento/centos-7.3"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "1024"
  end
  config.vm.provision "shell", inline: <<-SHELL
    sudo yum -y groupinstall "GNOME Desktop"
    sudo yum -y epel-release
    sudo systemctl set-default graphical.target
    systemctl get-default
    sudo shutdown -r now
  SHELL
end

この Vagrantfile があるディレクトリで vagrant up コマンドを叩くと、しばらくダウンロードやインストール作業が行われるので待つ。

作業が完了すると、GNOME デスクトップ環境が立ち上がる。なんとコレだけ!! GNOME 上でシャットダウンすれば、vagrant halt 相当の終了処理が行われる。

  • vb.gui = true で VirtualBox で GUI が使えるようにしています。このフラグを設定しておかないと vagrant はヘッドレスモードで VM を起動しますので、 VitualBox の GUI で操作ができません。

とのこと。

メモリ不足を解消する

コレで GNOME 環境自体はできたのだが、どうもメモリが足りず、動作がもっさりする。

ということで、先程の Vagrantfile を開き、vb.memory = "1024" の行の数値を変更する。"2048" で 2GB、"4096" で 4GB のメモリを仮想環境に割り当てる。この辺は環境に合わせてお好みで。

解像度をリサイズできるようにする

環境構築直後の GNOME 環境は、1024x768px とかで、解像度が小さい。そこで、VirtualBox Guest Additions をインストールして、解像度を変えられるようにする。

設定のため、Vagrant から立ち上げた GNOME 環境は一旦閉じて、VirtualBox から対象の仮想環境を開いてみる。

VirtualBox メニューの Devices → 「Insert Guest Additions CD Imag...」を選択する。もしココでこの項目が選択できない場合は、ホストマシンに物理的な CD-ROM ドライブがないのが原因と思われる。環境設定より仮想 CD-ROM ドライブを追加しておくと選べるようになる。

次に、GNOME 上でターミナルを開き、以下のコマンドを打って Guest Additions をインストールする。

$ mkdir /mnt/cdrom
$ mount /dev/cdrom /mnt/cdrom/
$ bash /mnt/cdrom/VBoxLinuxAdditions.run

インストールが完了したら

$ umount /media/cdrom

でアンマウントし、ゲスト OS をシャットダウンする。ココまでできたら Guest Additions の仮想 CD-ROM ドライブは取り外して良い。

vagrant up で再起動すると、ウィンドウサイズに合わせてゲスト OS の解像度が変更されるようになった。

Chrome ブラウザをインストールする

GNOME 上で Application Installer アプリを開き、Chromium をインストールしようとすると、以下のエラーが出てしまった。

Detailed errors from the package manager follow:
installing not available

調べてみると、Chrome ブラウザは別で存在し、Yum リポジトリを追加してやれば良いようだ。以下の記事に従って操作してみる。

# リポジトリファイルを作る
$ sudo vi /etc/yum.repos.d/google.chrome.repo

# 中身は以下のようにする
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

# 情報を反映する
$ sudo yum update

# Chrome をインストールする
$ sudo yum install google-chrome-stable

コレで OK。

既存の Yum リポジトリの設定ファイルを見てみると、ほとんどが enabled=0 で無効になっていたので、Yum 設定ファイルを変更するコマンド yum-config-manager で全リポジトリを有効にしてみようと思う。

$ sudo yum-config-manager --enable \*

$ sudo yum update

update に滅茶苦茶時間がかかるようになってしまった。多分ホントはこういうことしないんだと思う。w 今回は Yum のお勉強ということで紹介まで。

以上。コレで LPIC 学習用の環境は立ち上げられたが、LPIC (LPI 日本支部) と LinuC (LPI-Japan) が分断しちゃってどうなる感…。