Menu Close
16.14. 기본 단위 구성 확장
이 섹션에서는 추가 구성 옵션으로 기본 유닛 파일을 확장하는 방법을 설명합니다.
절차
추가 구성 옵션을 사용하여 기본 유닛 파일을 확장하려면 먼저
/etc/systemd/system/
.에 구성 디렉터리를 만듭니다. 서비스 장치를 확장하는 경우root
로 다음 명령을 실행합니다.mkdir /etc/systemd/system/name.service.d/
name 을 확장할 서비스의 이름으로 변경합니다. 위의 구문은 모든 유닛 유형에 적용됩니다.
이전 단계에서 만든 디렉터리에 구성 파일을 생성합니다. 파일 이름은 .conf 접미사로 끝나야 합니다. 유형:
touch /etc/systemd/system/name.service.d/config_name.conf
config_name 을 구성 파일의 이름으로 바꿉니다. 이 파일은 일반 단위 파일 구조를 준수하므로 적절한 섹션에서 모든 지시문을 지정해야 합니다. 단위 파일 구조를 참조하십시오.
예를 들어 사용자 지정 종속성을 추가하려면 다음 콘텐츠를 사용하여 구성 파일을 생성합니다.
[Unit] Requires=new_dependency After=new_dependency
여기서 new_dependency 는 유닛이 종속성으로 표시됨을 나타냅니다. 또 다른 예로는 기본 프로세스가 종료된 후 서비스를 다시 시작하는 구성 파일이 30초로 지연됩니다.
[Service] Restart=always RestartSec=30
하나의 작업에만 중점을 둔 작은 구성 파일을 생성하는 것이 좋습니다. 이러한 파일은 쉽게 이동하거나 다른 서비스의 구성 디렉토리에 연결할 수 있습니다.
단위에 대한 변경 사항을 적용하려면
root
로 실행합니다.systemctl daemon-reload
systemctl restart name.service
예 16.1. httpd.service 구성 확장
Apache 서비스를 시작할 때 사용자 정의 쉘 스크립트가 자동으로 실행되도록 httpd.service 유닛을 수정하려면 다음 단계를 수행합니다.
디렉터리 및 사용자 지정 구성 파일을 생성합니다.
# mkdir /etc/systemd/system/httpd.service.d/
# touch /etc/systemd/system/httpd.service.d/custom_script.conf
Apache를 사용하여 자동으로 시작하려는 스크립트가
/usr/local/bin/custom.sh
에 있는 경우custom_script.conf
파일에 다음 텍스트를 삽입합니다.[Service] ExecStartPost=/usr/local/bin/custom.sh
단위 변경 사항을 적용하려면 다음을 실행합니다.
# systemctl daemon-reload
# systemctl restart httpd.service
/etc/systemd/system/
의 구성 파일은 /usr/lib/systemd/system/
의 장치 파일보다 우선합니다. 따라서 구성 파일에 Description
또는 ExecStart
와 같이 한 번만 지정할 수 있는 옵션이 포함된 경우 이 옵션의 기본값이 재정의됩니다. systemd-delta
명령의 출력에서 재정의된 단위 모니터링 에 설명된 대로, 이러한 장치는 합계에 있는 경우에도 항상 [EXTENDED]로 표시됩니다.