Start auf Vagrant-Mounted (Upstart)-Äquivalent in systemd

Start auf Vagrant-Mounted (Upstart)-Äquivalent in systemd

Ich habe eine Vagrant-Box mit Ubuntu 15.04, die über ein Upstart-Skript verfügt, das beim Systemstart einen Dienst startet. Es hat eine start on vagrant-mountedStrophe, weil der Dienst erfordert, dass das Verzeichnis /vagrant von Vagrant gemountet wird.

Ich migriere dieses Skript jetzt zu systemd (was für mich völlig neu ist) und kann das Skript beim Booten nicht erfolgreich ausführen, da /vagrant beim Ausführen des Skripts nicht gemountet ist. After=vagrant-mountedFunktioniert nicht, hilft aber möglicherweise zu zeigen, was ich versuche.

Wie führe ich eine systemd-Einheit aus, wenn während des Bootens ein Vagrant-Verzeichnis gemountet wurde?

Notizsystemctl start my.service tutStarten Sie den Dienst erfolgreich und der Dienst ist systemctl enabledbeendet.

Antwort1

Nach meinem Verständnis der Vagrant-Startreihenfolge wird Vagrant /vagrant(und alle anderen von Ihnen definierten gemeinsam genutzten Dateisysteme) nach Abschluss der Startreihenfolge per SSH gemountet.

Daher möchten Sie wahrscheinlich systemctl start my.serviceeinen Provisioner verwenden, mitrun: alwaysangegeben, sodass der Provisioner bei jedem Booten ausgeführt wird und nicht nur bei der ersten Erstellung der VM.

Dies wäre nicht erforderlich, wenn systemd erkennen könnte, wann ein Dateisystem gemountet wurde. Zu meiner Überraschung kann ich jedoch keinen Hinweis darauf finden, dass systemd eine solche Funktion unterstützt.

verwandte Informationen