Проблема
Vagrant не может подключить удалённую папку в VirtualBox. При этом сама папка в гостевой системе видна как примонтированная. Причиной Vagrant назвал разные версии VirtualBox и VirtualBox Guest Additions. Соответственно, надо обновить дополнения в гостевой системе.
Что за дополнения и для чего они нужны?
Virtualbox Guest additions изначально были сделаны для систем линейки Windows (согласно документации) и представляют из себя набор драйверов и утилит для управления гостевой ОС.
В Linux эти дополнения так же набор драйверов, но представляют собой модули для ядра. В связи с этим, модули необходимо пересобирать каждый раз, как будет обновлён пакет ядра Linux (linux-image-*
), если в системе не установлен DKMS.
В большинстве *nix систем модули Virtualbox присутствуют, но зачастую очень старых версий. В официальной документации рекомендуется заменять их Дополнениями, актуальными для версии Virtualbox, установленной на хосте.
Устанавливаем
Итак, для того чтобы установить дополнения гостевой ОС, необходимо:
- Обновить гостевую систему, так как модули ядра работают только с той версией ядра, на которой они собраны:
sudo apt-get update && sudo apt-get upgrade
- Установить build-essential
, так как мы планируем собирать модуль ядра, а данный метапакет содержит необходимые нам make
и gcc
:
sudo apt-get install build-essential
К счастью, в Ubuntu есть DKMS и нам не придётся собирать модули вручную каждый раз, как обновили систему. Ставим его:
sudo apt-get install dkms
Если гостевая машина выключена, то в настройках гостевой системы в VirtualBox переходим в пункт Носители и подключаем в новый или существующий CD-ROM iso-образ VBoxGuestAdditions.iso
, который в Windows находится в папке с самим VirtualBox'ом: C:\Program Files\Oracle\VirtualBox\
.
Во включённой гостевой машине заходим в пункт меню Устройства - Подключить образ диска Дополнений гостевой ОС
.
В гостевой системе после загрузки монтируем cdrom:
sudo mount /dev/cdrom /media/cdrom
Переходим на смонтированный диск и запускаем установку:
cd /media/cdrom && sudo sh ./VBoxLinuxAdditions.run
Дальше установщик сделает всё сам.
Источник: Записки ежедневной работы