2017-12-17 6 views
0
내가 아니지만 systemd 서비스로, 내가 수동으로 시작할 수 있습니다 (라즈베리 파이에 노드 JS) 프로그램을 작성

:systemd 서비스 시작 실패 : 없음 service.mount 장치를

[email protected] ~ $ systemd --version 
systemd 215 
+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR 
[email protected] ~ $ sudo systemctl daemon-reload 
[email protected] ~ $ sudo systemctl start /etc/systemd/system/rfxtrx.service 
Failed to start etc-systemd-system-rfxtrx.service.mount: Unit etc-systemd-system-rfxtrx.service.mount failed to load: No such file or directory. 
[email protected] ~ $ 

오류 메시지가 뿌려 rfxtrx.service.mount 단위는 없습니다. 옳은. 그런 유닛이 있어야할까요? 가장 일반적인 제안은 daemon-reload입니다. 이 doid 도움이되지 않습니다. 또는 https://github.com/systemd/systemd/issues/5375에 따르면 이것은 systemd에서 수정 된 버그 일 수 있지만 raspbian (raspbian은 버전 215)에있는 것보다 최신 systemd 버전에서만 발생합니다.

raspbian 메인테이너가 지원하지 않는 버전으로 업데이트하는 것 외에 다른 해결책이 있습니까?

답변

0

첫 번째 문제는 rfxtrx.service이라는 서비스 이름을 시작하고 있지만 systemd가 etc-systemd-system-rfxtrx.service.mount 일 것으로 예상한다는 것입니다.

당신이 다음 파일 이름은 다음 규칙을 따라야 구성을 마운트 systemd를하려는 경우 :

마운트 유닛이 마운트 지점 디렉토리들은 컨트롤의 이름을 따서 명명되어야합니다. 예 : 마운트 지점/home/lennart는 단위 파일 home-lennart.mount에 구성되어야합니다.

그래서 당신은 /dir/to/rfxtrx은 다음 systemd 파일이 dir-to-rfxtrx.mount 선정 할 필요가 마운트, 그리고 후자의 디렉토리가 우선 순위를 복용하거나 /usr/lib/systemd/system/ 또는 /etc/systemd/system/에 앉아하는 것이 좋습니다 말에 마운트 지점을 생성하고자한다면.

서비스 파일을 갖고 싶으면 systemctl enable rfxtrx.service 장치를 사용하십시오. systemctl daemon-reload은 장치가 이미 systemd에 등록되어 있고 다시로드해야하는 경우에 사용됩니다.

systemctl list-units 또는 systemctl status rfxtrx.service 명령을 사용하여 service가 systemd와 함께 있는지 확인할 수 있습니다.

오류는 sudo systemctl start rfxtrx.service 대신 sudo systemctl start /etc/systemd/system/rfxtrx.service을 수행하고 있다는 오류입니다.

+0

감사합니다. 마지막 단락이 문제를 해결했습니다. –