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

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

新規登録して質問してみよう
ただいま回答率
85.49%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

457閲覧

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

roronoazoro

総合スコア113

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2017/11/05 06:45

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

心当たり

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

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

bash

1#vagrantfile 2$ vagrant up 3...略 4 5Vagrant was unable to mount VirtualBox shared folders. This is usually 6because the filesystem "vboxsf" is not available. This filesystem is 7made available via the VirtualBox Guest Additions and kernel module. 8Please verify that these guest additions are properly installed in the 9guest. This is not a bug in Vagrant and is usually caused by a faulty 10Vagrant box. For context, the command attempted was: 11 12mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant 13 14The error output from the command was: 15 16/sbin/mount.vboxsf: mounting failed with the error: No such device 17 18# plugin確認 19$ vagrant plugin list 20sahara (0.0.17) 21 - Version Constraint: > 0 22vagrant-hostsupdater (1.0.2) 23 - Version Constraint: > 0 24vagrant-share (1.1.9, system) 25 - Version Constraint: > 0 26vagrant-vbguest (0.15.0) 27 28# ステータス確認 29$ vagrant vbguest --status 30[default] No installation found. 31 32# Guest Addition起動 33$ vagrant vbguest --do start 34[default] No installation found. 35Redirecting to /bin/systemctl start vboxadd.service 36Job for vboxadd.service failed because the control process exited with error code. See "systemctl status vboxadd.service" and "journalctl -xe" for details.

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

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
  • 追加したら有効になっていることを確認します。

bash

1[vagrant@localhost ~]$ yum list -q kernel-devel-`uname -r` 2Available Packages 3kernel-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 06:35

編集2017/11/26 06:38
StupidDog

総合スコア263

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roronoazoro

2017/11/26 08:24

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

2017/11/26 08:47

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問