У меня есть название проектаснэплоггеркоторый я использую для отправки журналов в файлы, 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 запускается с правами root, он может создать все это, в то время как служба будет работать сама по себе (т. е. у меня есть communicatord
пользователь), поэтому она не сможет создать эти папки.
У меня такой вопрос: существует ли документированный способ предоставления таких сценариев расширения в Debian и/или Ubuntu?
Моя идея заключается в том, что каждый проект должен предоставлять такие файлы в /usr/share/<project-name>/[debconf/?]
. Но, может быть, мы можем использовать /var/share/debconf/...
папку?
В результате у меня появилась бы одна дополнительная строка для источника этого файла, например следующая, которая появилась бы в начале скрипта communicatord.postinst
:
. /usr/share/snaplogger/debconf