У меня есть поле Vagrant под управлением Ubuntu 15.04, которая имеет новомодный сценарий, который запускает сервис когда начальные загрузки системы. Это имеет a start on vagrant-mounted
строка файла конфигурации, потому что сервис требует, чтобы / бродячий каталог был смонтирован Бродягой.
Я теперь перемещаю этот сценарий в systemd (который я абсолютно плохо знаком для), и не может заставить сценарий успешно работать во время начальной загрузки, потому что / бродяга не смонтирована, когда скрипт запущен. After=vagrant-mounted
не работает, но мог бы помочь показать то, что я пытаюсь сделать.
Как я выполняю systemd единицу, когда каталог Vagrant был смонтирован во время начальной загрузки?
Примечание: systemctl start my.service
действительно успешно запускает сервис, и сервис systemctl enabled
'редактор.
Насколько я понимаю, последовательность загрузки Vagrant заключается в том, что Vagrant монтирует / vagrant
(и любые другие общие файловые системы, которые вы определили) с помощью SSH после завершения последовательности загрузки.
Таким образом, вы, вероятно, захотите запустить systemctl start my.service
в средстве обеспечения с указанием run: always
, чтобы средство обеспечения запускалось при каждой загрузке, а не только когда изначально создается виртуальная машина.
В этом не было бы необходимости, если бы systemd имел возможность определять, когда файловая система была смонтирована, но, к моему удивлению, я не могу найти никаких указаний на то, что systemd поддерживает такую функциональность.