ホーム >  AWS >  【Vagrant】Macに用意したVagrantのAmazon Linux2 環境にVirtualBox Guest Additionsをインストール【オンプレミス】

投稿日:   |  最終更新日:

【Vagrant】Macに用意したVagrantのAmazon Linux2 環境にVirtualBox Guest Additionsをインストール【オンプレミス】

AWSLinux仮想環境

VagrantのAmazon Linux2環境にVirtualBox Guest Additionsをインストールします。

VirtualBox Guest Additionsをインストール

前回、VagrantにAmazonLinux2の仮想環境を作成しました。ところが、「Vagrant up」コマンドで起動すると以下のようなエラーが表示されました。

Vagrant was unable to mount VirtualBox shared folders. This is usually

because the filesystem "vboxsf" is not available. This filesystem is

made available via the VirtualBox Guest Additions and kernel module.

Please verify that these guest additions are properly installed in the

guest. This is not a bug in Vagrant and is usually caused by a faulty

Vagrant box. For context, the command attempted was:



mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant



The error output from the command was:



mount: /vagrant: 未知のファイルシステムタイプ 'vboxsf' です.

どうやら、boxに「VirtualBox Guest Additions」がインストールされていなかったのが原因のようです。起動時にエラー出てしまいますが、「vagrant ssh」でSSHログインは可能です。次回は、VagrantにSSHログインして「VirtualBox Guest Additions」をインストールしてみたいと思います。

VirtualBox Guest Additionsとは?

VirtualBoxの操作性を向上させるためのモジュールです。パフォーマンスや操作性が向上するように、オペレーティングシステムを最適化するデバイスドライバとシステムアプリケーションで構成されています。例えばVirtualzBoxには自動ログオンがあるため、「Guest Additions」を仮想マシンにインストールする必要があります。

Guest Additionsをインストールすると、下記の便利な機能を利用できます。

  • 解像度の変更
  • ホストOS(VirtualBoxを動作させているOS)とゲストOS(仮想マシンのOS)とのシームレスなマウスポインタの移動
  • ホストOSとゲストOSとの間での共有フォルダの作成が可能に
  • ホストOSとゲストOSとの間でのクリップボードの共有
  • など

作業の流れ

前回まで

今回の作業は、以下の続きです。

【仮想環境】MacにVirtualBoxをインストール【Mac】

【Vagrant】MacにAWS公式のAmazon Linux2 Vagrant 環境を作成【オンプレミス】

【Vagrant】MacにAWS公式のAmazon Linux2 Vagrant Boxを作成、起動【オンプレミス】

※今回の記事は、既にAmazonLinux2のVagrant環境を作成済みであるとします。

環境

私のPC環境は以下の通りです。

PC MacBook Air (Retina, 13-inch, 2019)
CPU 1.6 GHz デュアルコアIntel Core i5
メモリ 16 GB 2133 MHz LPDDR3
OS 10.15.2
VirtualBox 6.1.12r139181
Vagrant 2.2.9

Vagrantのディレクトリ構成

  • ~/Work/
  • Vagrant/
  • AmazonLinux2/


VagrantにSSHログイン

①ターミナルを起動して、以下のコマンドを入力してカレントディレクトリを移動します。

cd ~/Work/Vagrant/AmazonLinux2
pwd
/Users/username/Work/Vagrant/AmazonLinux2

②Vagrantを起動する前に、VirtualBoxのバージョンを確認します。

vboxmanage --version
6.1.12r139181

③AmazonLinux2のVagrantを起動します。(この時エラーが出力しますが、SSHログインは可能です。)

vagrant up

④VagrantにSSHログインします。

vagrant ssh

Virtualbox Guest Additionsを手動インストール

①yumをまとめてアップデートします。

sudo yum update -y

②先程確認したVirtualBoxのバージョン(6.1.12r139181)を元に、GuestAdditionsのISOを探します。(※wgetしますのでダウンロードしなくて結構です。)

http://download.virtualbox.org/virtualbox/

http://download.virtualbox.org/virtualbox/6.1.12/

③GuestAdditionsのISOをダウンロードします。

 wget http://download.virtualbox.org/virtualbox/6.1.12/VBoxGuestAdditions_6.1.12.iso

④「/media/VBoxGuestAdditions」ディレクトリを作成します。

sudo mkdir /media/VBoxGuestAdditions

⑤「VBoxGuestAdditions_6.1.12.iso」をマウントします。

sudo mount -o loop,ro VBoxGuestAdditions_6.1.12.iso /media/VBoxGuestAdditions
-o オプション マウントオプション(「,」区切りで複数指定可能)
mount loop isoイメージをマウントします。
ro オプション 読み取り専用にします。
/media/VBoxGuestAdditions ファイルシステムをマウントするディレクトリを指定します。

Linuxでは、Windowsとは違い、ハード・ディスクやUSBメモリー、光学ドライブといったストレージ・デバイスを接続しただけではファイルを読み書きできるようにはなりません。Linuxシステムに認識させ、利用できるようにする作業を「マウント」と呼びます。

Linuxは、WindowsのようにCドライブ、Dドライブのようなパーティション単位でツリー構造を持っているわけではありません。Linuxでは、複数のパーティションも1つのツリー構造にまとめて扱います。ストレージ・デバイスを接続したときは、そのデバイスにあるパーティションを、このツリー構造のどこかにディレクトリとして登録します。この作業がマウントです。

⑥マウントした「VBoxLinuxAdditions.run」のシェルを起動します。

sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run

シェルスクリプトとは、Unixコマンドなどを並んで実行します。いつ何の条件で何の命令を実行するとか、ファイルコンテンツを読み込むとか、ログファイルを書き出すとかをする役割です。

⑦「VBoxGuestAdditions_6.1.12.iso」を削除します。

rm VBoxGuestAdditions_6.1.12.iso

⑧「VBoxGuestAdditions_6.1.12.iso」のマウントを解除します。

sudo umount /media/VBoxGuestAdditions

⑨マウント用に作ったディレクトリを削除します。Vagrantから一旦ログアウトします。

sudo rmdir /media/VBoxGuestAdditions
exit

vagrant-vbguestをインストール

「vagrant-vbguest」を入れてくと、起動時にホスト側の「GuestAdditions」をゲスト側にインストールしてくれます。

①Vagrantを再起動します。

vagrant reload

②再起動が完了したら、Pluginの「vagrant-vbguest」をインストールします。

sudo vagrant plugin install vagrant-vbguest

③通常通り「vagrant up」すると自動でインストールされます。

sudo vagrant up

次回

次回は、VagrantのAmazonLinuxにPython3をインストールします。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告