質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.00%

vagrant upでvboxsf絡みのエラーについての続き

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,233

roronoazoro

score 68

以前質問させていただいた内容の続きとなります。
vagrant upでvboxsf絡みのエラーについて
今回久々にvagrantにて環境構築を行おうと思ったのですが、前回と同様のエラーをはき出されてしまいます。
前に教えていただいたvagrant vbguestはインストール済みなのでVirtualBoxのバージョンのすり合わせを行ってくれるものかと思っていたのですが。。。

 心当たり

  1. vagrant vbguest --statusがNo installation found
  2. 今回からterminal+bashからiterm2+zshに変更

ググりながらコマンドを試しているものの半日かかってもうまくいきません。
教えていただけると幸いです。
よろしくお願いします。

#vagrantfile
$ 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:

/sbin/mount.vboxsf: mounting failed with the error: No such device

# plugin確認
$ vagrant plugin list   
sahara (0.0.17)
  - Version Constraint: > 0
vagrant-hostsupdater (1.0.2)
  - Version Constraint: > 0
vagrant-share (1.1.9, system)
  - Version Constraint: > 0
vagrant-vbguest (0.15.0)

# ステータス確認
$ vagrant vbguest --status
[default] No installation found.

# Guest Addition起動
$ vagrant vbguest --do start
[default] No installation found.
Redirecting to /bin/systemctl start  vboxadd.service
Job for vboxadd.service failed because the control process exited with error code. See "systemctl status vboxadd.service" and "journalctl -xe" for details.
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

もしかしたら解決しているかもしれませんが、同じことを調べていたので回答します。

 はじめに

過去の質問から、macOS上でVagrantとVirtualBoxを利用して、bento/CentOS-7.3のBoxイメージから仮想マシンを作成した状態と判断します。

 前置き

現在のVagrantは、フォルダを同期する方法を複数選択できます。

bento/CentOS-7.3は、初期状態でVagrantfileがあるフォルダを、ゲストOSの/vagrantと共有するための同期方法にVirtualBoxの共有フォルダ機能を利用する設定でBoxイメージが配布されています。

このVirtualBoxの共通フォルダ機能は、VirtualBox Guest Additionsが必要となります。

 詳細

VirtualBox Guest Additionsはカーネルモジュールとして提供されています。
ソースファイルでの配布なので、バージョンが上がるとゲストOS上で再構築しなければなりません。

カーネルモジュールを再構築するには、ゲストOSで利用しているカーネルのバージョンに合わせた、kernel-develパッケージが必要となります。

CentOSではバージョンを省略して、パッケージ名にkernel-develを指定すれば、最新の1バージョンになるようにリポジトリが設定されています。

CentOS公式サイトのWiki - I Need the Kernel Source

これが問題で、今年の9月にCentOS7.4がリリースされ、CentOS7.3は旧バージョンとなりました。なので、CentOS7.3のカーネルのバージョンに合わせたkernel-develパッケージが取得できなくなります。

VirtualBox Guest Additionsが再構築に失敗した場合、前バージョンが残らず消えます。
なので、vboxaddも消えてしまい実行できないし、共有フォルダ機能も利用できません。

 解決策(1)

一番簡単なのは、CentOSの最新バージョンを利用することです。
現在bentoもbento/CentOS-7.4として新しいBoxイメージを公開しています。

 解決策(2)

しかし、すぐに最新バージョンに移行できない場合もあると思います。
2つめの解決策として、前バージョンのカーネルに対応したkernel-develパッケージをインストールできるように、リポジトリを設定する方法が以下になります。

  • まず、フォルダ同期に失敗しててもいいのでゲストマシンを起動して、sshでログインします。
  • 次に、旧バージョンのリポジトリも参照するように設定を追加します。

対象ファイル:/etc/yum.repos.d/CentOS-Vault.repo

# CentOS Vault contains rpms from older releases in the CentOS-7 
# tree.

#c7.0.1406
[C7.0.1406-base]
name=CentOS-7.0.1406 - Base
baseurl=http://vault.centos.org/7.0.1406/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0

... 省略 ...

[C7.2.1511-fasttrack]
name=CentOS-7.2.1511 - CentOSPlus
baseurl=http://vault.centos.org/7.2.1511/fasttrack/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0

追加する内容

# C7.3.1611
[C7.3.1611-base]
name=CentOS-7.3.1611 - Base
baseurl=http://vault.centos.org/7.3.1611/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[C7.3.1611-updates]
name=CentOS-7.3.1611 - Updates
baseurl=http://vault.centos.org/7.3.1611/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[C7.3.1611-extras]
name=CentOS-7.3.1611 - Extras
baseurl=http://vault.centos.org/7.3.1611/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[C7.3.1611-centosplus]
name=CentOS-7.3.1611 - CentOSPlus
baseurl=http://vault.centos.org/7.3.1611/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[C7.3.1611-fasttrack]
name=CentOS-7.3.1611 - CentOSPlus
baseurl=http://vault.centos.org/7.3.1611/fasttrack/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
  • 追加したら有効になっていることを確認します。
[vagrant@localhost ~]$ yum list -q kernel-devel-`uname -r`
Available Packages
kernel-devel.x86_64         3.10.0-514.26.2.el7       C7.3.1611-updates


Available Packagesと、kernel-develの行が出力されていれば成功です。

  • 確認できたら、ゲストマシンをリブートします。

これで、CentOSの新しいバージョンがリリースされても、影響を受けなくなります。

 補足

/etc/yum.repos.d/CentOS-Vault.repoに追加した内容は、bento/CentOS-7.4からの抜粋です。

長くなりましたが、こんな感じです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/26 17:24

    的確なご回答ありがとうございます。
    今回、kernel-develパッケージが問題の肝となっているとのこと全く気づきませんでした。
    とりあえずこれからの学習ではCentOS7.4の方を使用していきたいと思います。
    また、せっかくの機会ですので、解決策2の方も試して試してみようと思います。
    また、煮詰まった際はアドバイスいただけますと幸いです。
    分かりやすくまとめていただきありがとうございました。

    キャンセル

  • 2017/11/26 17:47

    ちょうどハッキリさせたかった事なので、参考になってなによりです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる