postinst 스크립트를 debconf로 확장하는 공식적인 방법은 무엇입니까?

postinst 스크립트를 debconf로 확장하는 공식적인 방법은 무엇입니까?

프로젝트 이름이 있어요스냅로거파일, 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

관련 정보