comenzar en el equivalente montado en vagabundos (advenedizo) en systemd

comenzar en el equivalente montado en vagabundos (advenedizo) en systemd

Tengo una caja Vagrant que ejecuta Ubuntu 15.04, que tiene un script de inicio que inicia un servicio cuando se inicia el sistema. Tiene una start on vagrant-mountedestrofa porque el servicio requiere que Vagrant monte el directorio /vagrant.

Ahora estoy migrando este script a systemd (en el que soy completamente nuevo) y no puedo lograr que el script se ejecute correctamente durante el arranque porque /vagrant no está montado cuando se ejecuta el script. After=vagrant-mountedno funciona, pero podría ayudar a mostrar lo que estoy tratando de hacer.

¿Cómo ejecuto una unidad systemd cuando se montó un directorio Vagrant durante el arranque?

Notasystemctl start my.service haceInicie correctamente el servicio y el servicio se systemctl enabledejecutará.

Respuesta1

Según tengo entendido, la secuencia de inicio de Vagrant es que Vagrant se monta /vagrant(y cualquier otro sistema de archivos compartido que haya definido) usando SSH, una vez completada la secuencia de inicio.

Como tal, probablemente querrás ejecutar systemctl start my.serviceun aprovisionador, conrun: alwaysespecificado, por lo que el aprovisionador se ejecuta en cada arranque, no solo cuando se crea inicialmente la VM.

Esto no sería necesario si systemd tuviera la capacidad de detectar cuándo se montó un sistema de archivos, pero para mi sorpresa, no puedo encontrar ninguna indicación de que systemd admita dicha funcionalidad.

información relacionada