저는 매우 지루한 프로세스를 자동화하는 우아한 방법을 찾고 있었습니다.
이것이 제가 달성하고 싶은 워크플로입니다.
- U 디스크 삽입(단일 파티션)
- sdX1은 일부 설치 옵션을 사용하여 /mnt/data에 자동으로 설치됩니다.
- 일부 시스템 서비스가 시작됩니다(마운트 지점의 파일과 상호 작용함).
- 드라이브를 마운트 해제하라는 명령을 수동으로 실행했습니다.
- 서비스가 자동으로 종료됩니다.
운송을 시도했기 때문에 다음과 같은 서비스가 있습니다.
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
After=mnt-data.mount
[Service]
User=transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
WantedBy=mnt-data.mount
이것은 내 udev 규칙 파일입니다.
SUBSYSTEMS=="usb", ATTRS{idProduct}=="1153", ACTION=="add", ENV{SYSTEMD_WANTS}=="transmission.service"
드라이브를 마운트할 때 서비스를 시작할 수 있다고 생각했는데 작동하지 않습니다.
귀하의 도움에 감사드립니다.
편집: udisk가 systemd와 통신하지 않는 것 같기 때문에 이것은 제가 생각했던 것보다 조금 더 어려운 것 같습니다. 서비스를 통해 드라이브를 마운트 해제 하면 systemctl stop mnt-data.mount
서비스가 중지되지만, 다른 방법으로 마운트를 해제하면 서비스가 계속 실행됩니다.