Вопрос поставщика услуг Vagrantfile

У меня есть следующий бродячий файл:

# -*- 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. Кто-нибудь еще сталкивался с этой проблемой? как вы все решили эту проблему?

3 ответа

Чтобы исправить мою проблему, я только что загрузил коробку Centos. Затем я приступил к установке Virtual Box Guest Additions Затем я приступил к переупаковке коробки

Это решило мою проблему.

Я использовал подсказку luvejo на https://github.com/mitchellh/vagrant/issues/6769 и это сработало и для меня:

Вы также можете установить плагин vagrant-vbguest, чтобы он добавил гостевые дополнения VirtualBox.

 vagrant plugin install vagrant-vbguest 

 vagrant destroy && vagrant up

И это работает для меня.

Это интересная проблема. Я развернул CentOS 7 VM с той же базовой коробкой, как это было...

vagrant init centos/7
vagrant up

... и установка гостевых дополнений не удалась. Вот соответствующий вывод из 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 из ubuntu/trusty64 Базовая коробка и гостевые дополнения установлены без проблем. Как вы можете догадаться, bzip2 пакет уже был установлен в Ubuntu.

Я бы классифицировал это как проблему с самой базовой коробкой. Проект CentOS должен быть выпечкой bzip2 во все их базовые блоки Vagrant, которые используются с VirtualBox.

Конечно, это не поможет вам прямо сейчас, но, к счастью, у вас есть гораздо больше возможностей для базовых блоков CentOS, и я ожидаю, что большинство из них не затронуты этой проблемой.

Другие вопросы по тегам