投稿日: | 最終更新日:
【Vagrant】Macに用意したVagrantのAmazon Linux2 環境にVirtualBox Guest Additionsをインストール【オンプレミス】
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】
※今回の記事は、既に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をインストールします。
- Python 114
- 制作 54
- RaspberryPi 41
- Django 40
- WordPress 40
- Linux 27
- VPS 22
- JavaScript 21
- PHP 20
- HTML・CSS 19
- AWS 16
- 仮想環境 15
- レスポンシブデザイン 13
- マイコン 11
- WEB全般 11
- 動画製作 9
- Webサービス 8
- 統合開発環境 8
- 機械学習 8
- PyCharm 7
- jQuery 7
- AfterEffects 7
- 起業・設立 7
- Django REST framework 6
- C# 6
- デザイン 6
- SEO 6
- pydata 6
- Visual Studio 5
- 数学 5
- 携帯サイト 5
- heroku 5
- Mac 5
- illustrator 5
- node.js 5
- Anaconda 5
- Nginx 4
- Jupyter Notebook 4
- インフラ 4
- Google Colaboratory 4
- symfony 4
- Webスクレイピング 3
- photoshop 3
- Go言語 3
- PC 3
- ツール 3
- Docker 3
- facebook 3
- 作業効率化 3
- データベース 3
- Cloud9 3
- コマンド 2
- micro:bit 2
- Kali Linux 2
- Webサーバー 2
- MariaDB 2
- ドローン 2
- コンテナ 2
- DaVinci Resolve 2
- ネットワーク 2
- Java 2
- movie 2
- PCDJ 2
- 音楽 2
- XSERVER 2
- Ansible 1
- Vue.js 1
- JSON 1
- Bootstrap 1
- バージョン管理システム 1
- SSL 1
- S3 1
- ムームードメイン 1
- ネットワーク 1
- アニメーション 1
- D3.js 1
- Rhino 1
- アニメ 1
- git 1
- windows 1
- アクセス解析 1
- スマートフォン 1
- アフィリエイトノウハウ 1
- 知識 1
- TypeScript 1
- 役立つ本・書籍 1
- データサイエンス 1
- ESP32 1
- AI 1
- ownCloud 1
- API 1