6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Vagrant】【Mac×CentOS7】ホストOSとゲストOS間での共有フォルダ設定

Last updated at Posted at 2018-09-04

環境

OS - software version
Mac(ホスト) High Sierra 10.13.6
CentOS(ゲスト) 7.5.1804
vagrant 2.1.2
vagrant-vbguest 0.15.2

vagrant-vbguestインストール

ホストOS(Mac)とゲストOS(CentOS)間でファイルを共有する為に、vagrant-vbguestプラグインを入れます。

vagrant-vbguestは、
VirtualBox と box にインストールされている Guest Additions のバージョンが違う場合に、VirtualBox のバージョンに合わせて最適化してくれるプラグインです。

vagrantのプラグインのインストールは、
vagrant plugin install [プラグイン名]で行います。

$ vagrant plugin install vagrant-vbguest

Guest Additionsのアップデート

まずは、vagrant statusでゲストOSの状態を確認し、起動していなければ、vagrant upで立ち上げてからアップデートを実行してください。

ホストOS側で、以下コマンドを実行します。

$ vagrant vbguest

ステータスを確認

$ vagrant vbguest --status

マッチしている時:
GuestAdditions 5.0.16 running --- OK.

フォルダの同期設定とGuest Additionsの更新無効設定(Vagrantfile編集)

同期設定

Vagrantfileは、config.vm.synced_folderを以下のように追加します。

Vagrant.configure("2") do |config|
~~省略~~
  config.vm.synced_folder "/Users/ユーザー名/work", "/home/vagrant/vagrant_data",create:"true"
end
  • ホスト側のフォルダ:/Users/ユーザー名/work
  • ゲスト側のフォルダ:/home/vagrant/vagrant_data
  • オプション:「create:"true」でフォルダが存在していない場合に作成

Guest Additionsの更新無効設定

続けて、グローバルのVagrantfile(~/.vagrant.d/Vagrantfile)に更新無効の設定を行います。

※デフォルトの設定では、vagrant upの際にGuest Additionsが自動的にアップデートされます。起動時にゲストOSだけアップデートされるとバージョン不一致でエラーが発生するので、更新は無効にしておきます。

Vagrant.configure("2") do |config|
~~省略~~
  # 起動時のGuestAdditions自動アップデート設定
  config.vbguest.auto_update = false
  # isoファイルをダウンロードしない
  config.vbguest.no_remote = true
end

動作確認

今回行った共有設定ができているか確認します。

ホスト側:/Users/ユーザー名/work
ゲスト側:/home/vagrant/vagrant_data

$ # ゲストOSの再起動とステータス確認
$ vagrant reload && vagrant status
$
$ # runningが出ていることを確認し、ssh
$ vagrant ssh

ゲスト側で作成したものがホスト側に反映されるか

[vagrant]$ pwd
[vagrant]$ /home/vagrant
[vagrant]$ cd vagrant_data
[vagrant]$ touch test_file.txt
[vagrant]$ mkdir test_dir
[vagrant]$ ls -l

ホスト側の/Users/ユーザー名/work内に「test_file.txt」と「test_dir」が作成されていればOK

ホスト側で削除したものがゲスト側に反映されるか

$ cd /Users/ユーザー名/work
$ rm test_file.txt
$ rm -r test_dir
$ ls -l

ゲスト側の/home/vagrant/vagrant_dataに存在していた「test_file.txt」と「test_dir」が無くなっていれば、OK

6
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
6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?