을 통해 읽기 man 5 systemd.unit
와하는 man 5 systemd.target
유닛 파일은 다음과 같이 아니라 모든 다른 systemd로 목표를 정의하는 데 사용되는 것을 우리에게 알려줍니다. 대상 을 작성하는 방법에 대한 문서가 없으므로 수행 방법을 결정하기는 어렵지만 서비스 작성과 크게 다르지 않습니다.
대상을 작성할 때 systemd services 디렉토리에서 디렉토리로 심볼릭 링크 를 작성해야합니다 target.wants
. 그런 다음 대상을 설정 / 부팅 할 수 있습니다. 예를 들어 다음과 같이 보일 수 있습니다.
/etc/systemd/system/foo.target
대상의 단위 파일입니다. graphic.target을 예로 든다면이를 기준으로 사용하여 자체 대상을 만들 수 있습니다.
[Unit]
Description=Foobar boot target
Requires=multi-user.target
Wants=foobar.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target
AllowIsolate=yes
시스템 맨 페이지에서 가져온 옵션을 설명합니다.
Description
-대상을 설명합니다. 당신은 이해해야합니다
Requires
-대상의 엄격한 의존성. 자신의 서비스를 시작하기 전에 기본 시스템을 시작해야합니다.
Wants
소프트 의존성. 대상은 이를 시작할 필요 가 없습니다 .
Conflicts
-유닛이 다른 유닛에 충돌 설정을 가지고 있다면, 전자를 시작하면 후자가 중지되고 그 반대도 마찬가지입니다.
After
-이 서비스 이후의 부츠
AllowIsolate
-당신과 당신의 환경에 달려 있습니다. 자세한 내용은 맨 페이지에서 확인할 수 있습니다systemd.unit(5)
/etc/systemd/system/foo.target.wants/
대상에 대해 작성 / 필요한 서비스를 연결할 디렉토리입니다. Wants=
단위 파일 의 옵션 과 동일 합니다. 이 디렉토리를 작성하고 다음과 같이 심볼릭 링크를 작성하십시오. ln -s /usr/lib/systemd/system/bar.service /etc/systemd/system/foo.target.wants/bar.service
. 이것은 시스템 디렉토리의 bar.service에서 foo.target.wants 디렉토리로의 심볼릭 링크를 만듭니다.
서비스의 단위 파일을 만드는 것은이 답변의 범위를 벗어난 것으로 생각되며 그 질문은 확실히 더 문서화되어 있으므로 지금은 그 내용을 생략하겠습니다. 유닛 파일을 만들 때는 target.wants 디렉토리에 심볼릭 링크하거나 Wants=
지시문에 추가하십시오 .