프로세스를 시작하려면 부팅 순서를 지정해야합니다. Fedora 18에서 389 Directory Server 및 Samba를 실행하고 있습니다. 네트워크 서비스를 부팅 한 다음 389 DS, Samba를 어떻게 수행 할 수 있습니까? Fedora에서이를 관리하기위한 GUI가 있습니까?
Samba가로 시작하도록 설정했습니다 systemctl enable smb.service
. 또한와 함께 389 DS를 사용하도록 설정했습니다 systemctl enable dirsrv.target
.
답변
systemctl edit smb.service
종속성을 업데이트하는 데 사용하십시오 .
After=dirsrv.target
-dirsrv.target 다음에 smb.service가 시작되도록합니다.
견고성을 위해 (이 물건을 다루는 동안 가치가 있음) 다음 중 일부를 포함시킬 수도 있습니다.
Requires=dirsrv.target
-smb.service가 활성화되면 dirsrv.target을 활성화하십시오. dirsrv.target이 실패하면 smb.service가 실패합니다.
Wants=dirsrv.target
-smb.service가 활성화되면 dirsrv.target을 활성화하십시오. dirsrv.target이 실패해도 smb.service가 실패하지 않습니다.
BindsTo=dirsrv.target
-dirsrv.target이 비활성화 된 경우 smb.service를 비활성화하십시오.
출처 : http://www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
systemd를위한 GUI를 제공합니다. systemd 상태를 잘 볼 수 있지만 여전히 유닛 파일을 수정하려면 텍스트 편집기를 사용해야합니다.
답변
다음 두 가지를 수행하십시오.
-
/lib/systemd/system/smb.service
종속성을 지정 하려면 단위 파일을 편집하십시오 . 이[unit]
섹션에는이After=
서비스 전에 도달해야하는 서비스 / 대상을 지정 하는 행이 있습니다.After=syslog.target network.target nmb.service winbind.service
다음으로 변경하십시오.
After=dirsrv.target syslog.target network.target nmb.service winbind.service
-
이 종속성을 Fedora에 버그로 다시보고 하여 향후 릴리스에 통합 될 수 있도록하십시오.
답변
파일 섹션 에서 Requires
지시문이 있는 행을 변경하거나 포함시켜야 할 수도 있습니다.[Unit]
/usr/lib/systemd/system/smb.service
Requires=dirsrv.target
과
After=dirsrv.target
답변
서비스 파일을 수정하는 두 가지 대안이 있습니다 /usr/lib/systemd/system
( 예 2 : 공급 업체 설정 재정의 참조 ).
-
파일을 복사하여
/etc/systemd/system
사본을 수정하십시오. 이 파일은의 파일을 완전히 무시합니다
/usr/lib
. -
파일을 작성하십시오
/etc/systemd/system/smb.service.d/local.conf
. 파일의 내용은 아래 예와 같아야합니다. 공급 업체 제공 서비스 파일의 “필수”및 “후”옵션을 선택적으로 무시합니다.
의 각 파일 수정을 포함하여 각각의 /usr/lib
장단점이 있습니다. 최선의 선택은 서비스 및 수정의 특성에 따라 달라질 수 있습니다.
작동하지만 “After”옵션 만 추가하는 것만으로는 충분하지 않습니다 ( [Unit] 섹션 옵션 참조 ). “After”는 순서를 제어하지만 종속성은 제어하지 않습니다. 만약이 dirsrv.target
그것을 시작되지 않습니다 순서를 지정, 다른 방법으로 시작되지 않습니다. “필수”또는 “원함”옵션을 사용하면 강제 dirsrv.target
로 시작됩니다.
[Unit]
Requires=dirsrv.target
After=dirsrv.target
NB :이 질문을 처음 받았을 때이 방법을 사용할 수 있었는지 모르겠습니다.