Назад | Перейти на главную страницу

начать на бродячем (выскочка) эквиваленте в systemd

У меня есть 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 поддерживает такую ​​функциональность.