
У меня есть следующий скрипт Upstart, сохраненный как /etc/init/automount.conf
:
description "SOME DESCRIPTION"
start on startup
task
exec mount -t vboxsf WebApps -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /var/virtual/some_folder_name
где GROUP_ID и USER_ID — это какое-то число, которое я взял из/etc/passwd
Раньше, до того, как я обновил свой ubuntu с 12.10 до 14.04, это работало. После того, как я обновил его, я также обновил virtual box с 4.3.8 до 4.3.10. Впоследствии, я думаю, что была проблема с 4.3.10. Поэтому я понизил virtual box обратно до 4.3.8.
Теперь все работает с общими папками. К сожалению, этот скрипт не выполняется, я полагаю. Причина в том, что монтирование не происходит при запуске.
Я все еще могу выполнить команду без каких-либо проблем. Почему Upstart больше не может это сделать? Как узнать, в чем проблема?
решение1
По умолчанию Upstart должен регистрировать то, что он делает /var/log/upstart/automount.log
. Это покажет вам вывод от его попытки запуститься (и при этом должно дать вам приблизительное представление о том, в чем проблема).
Ничего нет? Попробуйте sudo start automount
и посмотрите, что это даст. Если это сработает (и все смонтируется), скорее всего, вам start on startup
нужно изменить линию. Возможно, что-то еще не запустилось (я не уверен, что требуется vboxsf), поэтому отсрочка на потом может сработать.
Однако в вашем случае я бы поддался соблазну полностью отказаться от скрипта и просто использовать более обычный метод монтирования вещей /etc/fstab
. У нас уже есть вопрос с ответом, который идет по этому пути:
Это гораздо более логичный способ обработки этого (ИМХО). Вы по-прежнему можете передать все варианты, просто они переставлены так, чтобычто-нибудь(Я не проверял, так что вам, возможно, придется все перемешать) например:
WebApps /var/virtual/some_folder_name vboxsf rw,dmode=777,gid=GROUP_ID,uid=USER_ID 0 0