사용자 정의 systemd 서비스를 시작하려고 할 때 이 오류가 발생합니다.
netrender-slave.service: EXEC 단계에서 /usr/local/bin/netrender-slave.sh를 생성하지 못했습니다. 권한이 거부되었습니다.
이것은/etc/systemd/system/netrender-slave.service
[Unit]
Description=Blender netrender slave manager
[Service]
ExecStart=/usr/local/bin/netrender-slave.sh start
ExecStop=/usr/local/bin/netrender-slave.sh stop
ExecReload=/usr/local/bin/netrender-slave.sh reload
Type=simple
[Install]
WantedBy=multi-user.target
존재하다이 문제, 문제는 스크립트의 권한이지만 netrender-slave.sh
괜찮아 보입니다.
~# ls -al /usr/local/bin
total 16
drwxr-xr-x 2 root root 4096 Dec 4 11:30 .
drwxr-xr-x 10 root root 4096 Apr 20 2016 ..
-rwxr-xr-x 1 root root 816 Dec 4 11:30 netrender-slave.sh
존재하다이 문제문제는 디렉터리 중 하나에 권한이 충분하지 않지만 모든 /usr/local/bin
디렉터리가 다음과 같다는 것입니다.
drwxr-xr-x 2 root root 4096 Dec 4 11:30 .
drwxr-xr-x 10 root root 4096 Apr 20 2016 ..
...
그러나 이는 동일한 질문에 대한 의견에서 제공됩니다.
출력에는
ls
UGO 권한 이후의 .after가 표시되지 않습니다. 이는 SELinux 보안 컨텍스트가 있는 파일을 나타내기 위해 GNU ls에서 사용하는 문자이지만 대체 액세스 방법은 없습니다drwxr-xr-x
..
대체 액세스 방법의 다른 조합이 포함된 파일은 문자로 표시됩니다+
.
이것이 내 문제인지 확인하는 방법을 모르겠습니다.
답변1
이것은 systemd의 공포의 집에 어울리는 나쁜 접근 방식입니다. 유일한 문제는 스크립트 파일에 인터프리터가 없다는 점이라고 생각할 수도 있습니다. 그렇지 않습니다. 당신이 보지 못하는 더 큰 문제는 rc
서비스 단위 내에서 완전히 불필요한 가난한 사람 서비스 관리를 포함하는 van Smoorenburg의 스크립트 패키징입니다. 이로 인해 잘못된 프로세스가 데몬이 되어 제대로 관리할 수 없게 됩니다.
그러지 마세요별말씀을요.
-b
개발자에게 해당 옵션이 혼란스러운 문서임을 알려야 합니다 .
[단위] 설명=블렌더 넷렌더 슬레이브 관리자 문서=https://unix.stackexchange.com/a/408848/5132 [제공하다] 유형=단순 작업 디렉토리=/mnt/my-data 사용자=ec2-사용자 환경=FLAGS="simple_slave_eiptarget.blend --addons netrender -a -noaudio -nojoystick" ExecStart=/mnt/my-data/blender-2.73a-linux-glibc211-x86_64/blender -b $FLAGS --enable-autoexec [설치하다] WantedBy=다중 사용자.대상
추가 읽기
- 조나단 데보인 폴라드(2015). 시스템화 된 공포의 집. 자주 주어지는 답변입니다.
- 조나단 드보인 폴라드(2001). Unix 데몬을 설계할 때 피해야 할 실수. 자주 주어지는 답변입니다.
- 조나단 데보인 폴라드(2015).Unix 데몬의 준비 프로토콜 문제. 일반적인 답변.