Проблема
Я установил Vagrant в Windows 10, чтобы создать личную локальную среду разработки на виртуальной машине. Все, что я читал о Vagrant, говорит о том, что я даже могу запустить несколько систем и проверить связь между ними с помощью переадресации портов NAT. Но сначала я просто хочу создать одну виртуальную машину среды разработки, прежде чем переборщить с остальной частью.
Я установил VirtualBox, Vagrant, PuTTy и PuTTYGen согласно этому руководству по SitePoint: https://www.sitepoint.com/getting-started-vagrant-windows/. Затем я создал папку проекта vagrant на диске C:, сделал vagrant init
, удалил Vagrantfile
и, наконец, vagrant init ubuntu/trusty64
. Потом сделал vagrant up
, но процесс завершился ошибкой:
Vagrant не смог смонтировать общие папки VirtualBox. Обычно это происходит из-за того, что файловая система «vboxsf» недоступна. Эта файловая система доступна через гостевые дополнения VirtualBox и модуль ядра. Убедитесь, что эти гостевые дополнения правильно установлены в гостевой системе. Это не ошибка в Vagrant и обычно вызвана неисправным ящиком Vagrant. Для контекста попытка выполнения команды была такой:
mount -t vboxsf -o uid = 1000, gid = 1000 бродяга / бродяга
Вывод ошибки команды был:
: Данный файл или каталог отсутствует
Вот скриншот моей командной строки Windows:
А вот и текстовая версия:
C:\vagrant\sitepoint-test-2017-02-05>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> default: have version '20160602.0.0'. The latest is version '20170202.0.0'. Run
==> default: `vagrant box update` to update.
==> default: Setting the name of the VM: sitepoint-test-2017-02-05_default_1486399403587_55255
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => C:/vagrant/sitepoint-test-2017-02-05
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:
: No such file or directory
Моя установка
OS: Microsoft Windows [Version 10.0.14393]
VirtualBox Version: 4.3.10 r93012
GuestAdditions Version: ???
Vagrant Version: 1.9.1 (Latest)
PuTTy Version: 0.67
PuTTYGen Version: 0.67
Установленные плагины и расширения
Vagrant:
- vagrant-share (1.1.6, system)
- vagrant-vbguest (0.13.0)
Что я уже пробовал
Этот пост показался мне наиболее многообещающим в моем исследовании.
К сожалению, ни одно из предложенных решений, ни одна из предоставленных ссылок не решила проблему. Я уже пробовал кучу вещей, но я не системный администратор (что, как я предполагаю, является набором навыков, который вам понадобится для устранения этой проблемы). Особенно беспокоит то, что многие «решения» 2013/2014 гг. В последнее время больше не работают. Эти решения говорят о том, что что-то связано с неработающими символическими ссылками, установкой плагинов, таких как vagrant-vbguest, и что-то о дополнениях vbox, которые не соответствуют чему-то. Я не совсем понимаю всего этого, но я старался изо всех сил. Вот то, что я уже пробовал, но еще не решил:
vagrant plugin install vagrant-vbguest
. Vagrant показывает, что плагин установлен, но я получаю ту же ошибку наvagrant up
.Список ссылок, которые я прочитал при исследовании этой проблемы, но не дал рабочего решения.
- Vagrant unable to mount in Linux guest with VirtualBox Guest Additions on Windows 7
- Vagrant - Как смонтировать виртуальный бокс Общая папка? (vboxsf недоступен)
- https://github.com/mitchellh/vagrant/issues/3341#issuecomment-144271026
- https://www.virtualbox.org/ticket/12879 (на этот билет VirtualBox ссылается плакаты в некоторых других перечисленных ссылках. К сожалению, этот билет не решает проблему. Он не исправлен и все еще неисправен ... ИЛИ ... возможно, этот билет связан, но немного отличается от проблемы, которую я и другие все еще испытываю).
- https://gist.github.com/fernandoaleman/5083680
- ОБЩИЕ ПАПКИ VAGRANT НЕ УСТАНАВЛИВАЮТСЯ - Windows 7 - Vagrant 1.7.4 - Ubuntu 12.04 precision64 - VirtualBox 5.0.10 с гостевыми дополнениями
Мои вопросы
Я подозреваю, что проблема в VirtualBox, а не в Vagrant. Это правда?
Как я могу это исправить, чтобы продолжить обучение?
Похоже, что примерно с 2014 года количество ответов на бродячие вопросы на Stack Overflow резко упало. В чем причина этого? Vagrant / VirtualBox больше не считается «лучшей практикой»? Есть ли лучшее решение, чтобы пользователи игнорировали вопросы Vagrant?
Опять же, я не системный администратор, но я технически подкован и могу следовать техническим инструкциям.