2

次のvagrantファイルがあります:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "centos/7"

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
    vb.cpus = 4
    #storage
  end

  config.vm.provision "shell",
    path: "vagrant_files/setup_script.sh"

  config.vm.provision :reload

  config.vm.provision "shell",
    path: "vagrant_files/setup_script_2.sh"

  config.vm.provision :reload

  config.vm.provision "shell",
     path: "vagrant_files/setup_script_3.sh"

  config.vm.synced_folder ".", "/vagrant"

end

私のセットアップsetup_scriptでは、vagrantで同期フォルダー機能を機能させるための要件であるVirtual Box Guest Additionsをvagrantにインストールしています。

残念ながら、Vagrantfile の最後にフォルダーを同期する行を追加しても、最初にそのタスクを実行しようとしてエラーが発生します。

Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant

The error output from the last command was:

mount: unknown filesystem type 'vboxsf'

最初に Virtual Box Guest Additions をインストールする必要があることを理解しています。他の誰かがこの問題に遭遇しますか? 皆さんはこの問題をどのように解決しましたか?

4

3 に答える 3

0

これは興味深い問題です。同じベースボックスでCentOS 7 VMをスピンアップしました...

vagrant init centos/7
vagrant up

...そして、Guest Additions のインストールに失敗しました。Vagrant からの関連する出力は次のとおりです...

Copy iso file /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.0.10 - guest version is
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.10 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
./install.sh: line 345: bzip2: command not found
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
./install.sh: line 358: bzip2: command not found
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

したがって、このベース ボックスにはbzip2パッケージがインストールされていないため、障害が発生します。好奇心から、ubuntu/trusty64ベース ボックスから新しい Ubuntu VM を作成し、Guest Additions を問題なくインストールしました。ご想像のとおり、bzip2パッケージは既に Ubuntu にインストールされています。

私はこれをベースボックス自体の問題として分類します. CentOS プロジェクトはbzip2、VirtualBox で使用されるすべての Vagrant ベース ボックスに焼き付けられる必要があります。

もちろん、これは現時点では役に立ちませんが、幸いなことに、CentOS ベース ボックスにはさらに多くのオプションがあり、それらのほとんどがこの問題の影響を受けないことを期待しています。

于 2016-01-12T23:01:42.673 に答える
0

問題を解決するために、Centos ボックスをロードしました。次に、Virtual Box Guest Additions のインストールに進み、ボックスの再パッケージ化に進みました。

それは私の問題を解決しました。

于 2016-01-20T00:12:08.090 に答える