프로젝트 이름이 있어요스냅로거파일, syslog, 콘솔 또는 원격 컴퓨터에 로그를 보내는 데 사용합니다(syslogd가 수행하는 작업이지만 더 많은 기능이 있음).
다른 프로젝트에서 를 사용하려고 할 때마다 snaplogger
로그 하위 디렉터리를 만들어야 합니다. 예를 들어, 내커뮤니케이터프로젝트는 다음을 수행합니다.
PACKAGENAME=communicatord
USERNAME=communicatord
GROUPNAME=communicatord
[...snip...]
LOGDIR=/var/log/${PACKAGENAME}
LOGFILE=${LOGDIR}/${PACKAGENAME}.log
mkdir -p ${LOGDIR}
touch ${LOGFILE}
chown ${USERNAME}:${GROUPNAME} ${LOGFILE}
chmod 640 ${LOGFILE}
내가 하고 싶은 것은 마지막 6줄을 프로젝트가 snaplogger
제공하는 스크립트로 옮기는 것입니다. 그런 다음 communicatord
스크립트가 정의한 함수를 사용합니다. 어쩌면 다음과 같은 것일 수도 있습니다.
prepare-snaplogger ${PACKAGENAME} ${USERNAME} ${GROUPNAME} true
마지막 true
에는 보안 로그 하위 폴더도 필요하다는 의미입니다.
postinst 스크립트는 루트로 실행되므로 모든 것을 생성할 수 있지만 서비스는 자체적으로 실행되므로(즉, 사용자가 있음 communicatord
) 해당 폴더를 생성할 수 없습니다.
내 질문은: 데비안 및/또는 우분투에서 그러한 확장 스크립트를 제공하는 문서화된 방법이 있습니까?
내 생각은 각 프로젝트가 /usr/share/<project-name>/[debconf/?]
. 하지만 폴더를 사용해도 될까요 /var/share/debconf/...
?
결과적으로 스크립트 시작 부분에 나타나는 다음과 같은 해당 파일의 소스를 추가하는 한 줄이 추가됩니다 communicatord.postinst
.
. /usr/share/snaplogger/debconf