tengo un nombre de proyectoregistrador instantáneoque uso para enviar registros a archivos, syslog, la consola o una computadora remota (lo que hace syslogd pero con muchas más funciones).
Siempre que otro proyecto quiera utilizar snaplogger
, se espera que cree un subdirectorio de registro. Por ejemplo, micomunicadorEl proyecto hace eso:
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}
Lo que me gustaría hacer es mover las últimas 6 líneas a un script que snaplogger
proporciona el proyecto. Entonces communicatord
simplemente usaría una función definida por el script. Quizás algo como esto:
prepare-snaplogger ${PACKAGENAME} ${USERNAME} ${GROUPNAME} true
Al true
final significa que también queremos una subcarpeta de registro segura.
Dado que el script postinst se ejecuta con root, puede crear todo eso mientras que el servicio se ejecutará solo (es decir, tengo un communicatord
usuario), por lo que no podrá crear esas carpetas.
Mi pregunta aquí es: ¿existe alguna forma documentada de proporcionar dichos scripts de extensión en Debian y/o Ubuntu?
Mi idea es que cada proyecto debería proporcionarlo en /usr/share/<project-name>/[debconf/?]
. ¿Pero tal vez podamos usar la /var/share/debconf/...
carpeta?
Como resultado, tendría una línea adicional para generar ese archivo como la siguiente que aparecería cerca del inicio del communicatord.postinst
script:
. /usr/share/snaplogger/debconf