Каков официальный способ расширения скриптов 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 запускается с правами root, он может создать все это, в то время как служба будет работать сама по себе (т. е. у меня есть communicatordпользователь), поэтому она не сможет создать эти папки.

У меня такой вопрос: существует ли документированный способ предоставления таких сценариев расширения в Debian и/или Ubuntu?

Моя идея заключается в том, что каждый проект должен предоставлять такие файлы в /usr/share/<project-name>/[debconf/?]. Но, может быть, мы можем использовать /var/share/debconf/...папку?


В результате у меня появилась бы одна дополнительная строка для источника этого файла, например следующая, которая появилась бы в начале скрипта communicatord.postinst:

. /usr/share/snaplogger/debconf

Связанный контент