將 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

相關內容