systemd에서 동등한 vagrant-mounted (upstart)에서 시작

systemd에서 동등한 vagrant-mounted (upstart)에서 시작

시스템 부팅 시 서비스를 시작하는 시작 스크립트가 있는 Ubuntu 15.04를 실행하는 Vagrant 상자가 있습니다. start on vagrant-mounted서비스에서는 Vagrant가 /vagrant 디렉토리를 마운트해야 하기 때문에 스탠자가 있습니다 .

이제 이 스크립트를 systemd(완전히 처음 접함)로 마이그레이션하고 있는데 스크립트가 실행될 때 /vagrant가 마운트되지 않았기 때문에 부팅 중에 스크립트를 성공적으로 실행할 수 없습니다. After=vagrant-mounted작동하지 않지만 내가하려는 작업을 보여주는 데 도움이 될 수 있습니다.

부팅 중에 Vagrant 디렉토리가 마운트된 경우 systemd 장치를 어떻게 실행합니까?

메모systemctl start my.service 하다서비스가 성공적으로 시작되고 서비스가 systemctl enabled'ed'됩니다.

답변1

Vagrant 부팅 시퀀스에 대한 제가 이해한 바는 Vagrant가 /vagrant부팅 시퀀스가 ​​완료된 후 SSH를 사용하여 마운트(및 정의한 다른 공유 파일 시스템)한다는 것입니다.

systemctl start my.service따라서 다음과 같은 프로비저너에서 실행하고 싶을 것입니다 .run: always지정되므로 VM이 처음 생성될 때뿐만 아니라 부팅할 때마다 프로비저너가 실행됩니다.

systemd에 파일 시스템이 마운트된 시기를 감지하는 기능이 있었다면 이는 필요하지 않았지만 놀랍게도 systemd가 그러한 기능을 지원한다는 표시를 찾을 수 없습니다.

관련 정보