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