서비스가 이라고 가정합니다 xyz
. systemd에서 /lib/systemd/system/xyz.service
파일에는 다음 명령이 있습니다.
[Service]
ExecStart=/usr/bin/xyz --foo
--bar
이 명령에 옵션을 추가하고 싶습니다 . systemd를 사용하면 /etc/systemd/system/xyz.service.d/xyz.conf
포함된 파일에 다음 줄을 추가할 수 있습니다.
[Service]
ExecStart=
ExecStart=/usr/bin/xyz --foo --bar
이는 후속 명령을 무시할 수 있습니다 systemctl daemon-reload
. SysVinit에서도 마찬가지인 것 같지만,아니요/etc/init.d/xyz
파일을 편집합니다 . SysVinit 스크립트를 편집하지 않고 명령 옵션을 추가/변경할 수 있습니까? 그렇지 않다면 올바른 접근 방식은 무엇입니까? 이 명령 옵션을 영구적으로 변경하고 싶습니다.
답변1
여전히 SysVInit에 의존하는 시스템에서는 특정 배포판이 어떤 메커니즘을 사용하는지 알아야 합니다. 데몬 스크립트에 어떤 파일이든 저장할 수 있으므로 source
기본 구성의 위치를 결정하는 것은 배포판에 달려 있습니다.
인용하다우편 엽서Slackware 포럼에서:
내 이해는 이것이 일부 소프트웨어 패키지에 채택된 데비안 개념이라는 것입니다.
기본적으로
/etc/default
해당 값을 실제 부팅 스크립트에 포함시키는 것이 아니라 최종 사용자나 관리자가 변경할 수 있는 일부 매개변수를 포함시킵니다. 이렇게 하면 패키지를 업그레이드하고 시작 스크립트를 교체하더라도 변경 사항이 유지됩니다.개념은 본질적으로
.conf
( 등) 아래의 파일과 동일하지만 스크립트 자체에서 떨어진 중앙 위치에 있습니다.rc.d
rc.inet1.conf
rc.bluetooth.conf
이는 대부분의 데비안 기반 배포판이 /etc/default
.
존재하다빨간 모자배포판에 따라 이 구성은 /etc/sysconfig
가장 일반적으로 사용되는 소프트웨어( acpid
, httpd
, ntpd
, crond
) samba
의 디렉터리에서 관리 됩니다.
Arch에서는 systemd 스위치 이전에 /etc/{rc.conf,rc.d/functions,rc.d/functions.d/}
데몬을 사용자 정의하는 데 사용했습니다.
슬랙웨어에서, 서비스에 따라 ( , ...)에 인수를 제공하려는 데몬과 동일한 이름의 파일이 있거나 .conf
데몬 파일 자체를 편집해야 합니다./etc/rc.d/
rc.inet1.conf
rc.wireless.conf
TL, 박사:"Default SysV Init" 매개변수 파일이나 디렉터리가 없습니다.