Вынесенная в заголовок задача оказалась не такой уж тривиальной. И, уверен, столкнуться с ней придётся ещё не раз. Чтобы каждый раз не разбираться заново, сохраню тут рецепт на память. Целиком можно не читать, внизу есть готовая паста. Общий с хост-машиной клипборд без guest additions ещё не работает, так что вот короткий url для этого поста: gg.gg/vboxsf
Сначала определяем, через какие именно каталоги мы собираемся сношаться с гостевой ОС:
(Кстати, всё это можно сделать
без единого гуя.)
А дальше настраиваем гостя. Вообще, вся суета состоит из двух проблем: установить guest additions и, собственно, подмонтировать shared folder.
Установка Guest Additions
О сабже, вроде как, написано в
мануале. Но с действительностью, в которой люди ставят софт из репозитория, тот мануал имеет мало общего. Приходится проявлять чудеса сообразительности. Главная хитрость тут в том, что, оказывается, просто установить virtualbox-guest-additions недостаточно. Надо поставить ещё virtualbox-guest-utils:
apt-get update && apt-get install virtualbox-guest-additions virtualbox-guest-utilsПосле перезагрузки гостевой ОС начинают работать guest additions, и жить становится веселее:
- включается общий клипборд (его нужно разрешить в настройках виртуалки)
- виртуальный дисплей начинает менять разрешение вслед за изменениями размера окна, в котором живёт
- долгожданная шара, как и было обещано, появляется в /media/sf_duplo
Появляться-то она появляется, но доступна только руту и пользователям из группы vboxsf. Можно, конечно, добавить нашего юзера в эту группу, но мы не станем этого делать, так как тут незаметно всплыла вторая проблема. Эта автоматически создаваемая гастарбайтерами шара оказалась негодной: все файлы на ней имеют атрибут executable. С наскоку не нашёл, как это исправить, и пошёл другим путём.
Монтирование
От имени юзера создаём каталог для шары:
sudo -u user mkdir /home/user/duploТеперь можно просто подмонтировать шару ручками:
mount -t vboxsf duplo /home/user/duploВуаля! И атрибуты все в порядке. В этот момент легко поддаться искушению, сделать всё необходимое с отдавшимися файлами и тем удовлетвориться. Но нас интересует автомонтирование, посему настойчиво продолжаем.
Руки уже тянутся дописать строчку в fstab? Так я и сделал, однако при перезагрузке такая шара монтироваться не захотела:
# Ахтунг! Эта строка оказалась неработоспособной
duplo /home/user/duplo vboxsf ro,auto 0 0Последующее mount -a срабатывало, а вот сама, при загрузке, - ни в какую. У авторитетного
ermakidze возникло мнение, что ОС "считает этот тип файловой системы локальным и пытается монтировать все её папки при инициализации, а демон virtualbox на этот момент ещё не загружен". Как это фиксить, не понятно.
Но можно просто добавить в /etc/rc.local, перед наверняка имеющимся там exit 0, уже знакомую нам строчку:
mount -t vboxsf duplo /home/user/duplo
И наступит счастье. Не забудьте его заснэпшотить. (-:
Багрепорты и советы очень приветствуются.
Паста:
apt-get update && apt-get -y install virtualbox-guest-additions virtualbox-guest-utils && sudo -u user mkdir /home/user/duplo && mount -t vboxsf duplo /home/user/duplo
vim /etc/rc.local # mount -t vboxsf duplo /home/user/duplo