Eu tenho um nome de projetosnaploggerque eu uso para enviar logs para arquivos, syslog, console ou um computador remoto (o que o syslogd faz, mas com muito mais recursos).
Sempre que outro projeto quiser usar o snaplogger
, espera-se criar um subdiretório de log. Por exemplo, meucomunicadorprojeto faz isso:
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}
O que eu gostaria de fazer é mover as últimas 6 linhas para um script que o snaplogger
projeto fornece. Então communicatord
usaria apenas uma função que o script definiu. Talvez algo assim:
prepare-snaplogger ${PACKAGENAME} ${USERNAME} ${GROUPNAME} true
O true
final significa que também queremos uma subpasta de log segura.
Como o script postinst é executado com root, ele pode criar tudo isso, enquanto o serviço será executado como ele mesmo (ou seja, eu tenho um communicatord
usuário), portanto, não seria capaz de criar essas pastas.
Minha pergunta aqui é: existe uma maneira documentada de fornecer tais scripts de extensão no Debian e/ou Ubuntu?
Minha ideia é que cada projeto forneça isso em /usr/share/<project-name>/[debconf/?]
. Mas talvez possamos usar a /var/share/debconf/...
pasta?
Como resultado, eu teria uma linha adicional para originar esse arquivo como a seguinte, que apareceria próximo ao início do communicatord.postinst
script:
. /usr/share/snaplogger/debconf