debconf のように postinst スクリプトを拡張する公式の方法は何ですか?

debconf のように postinst スクリプトを拡張する公式の方法は何ですか?

プロジェクト名がありますスナップロガーファイル、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スクリプトの先頭近くに、次のようにそのファイルをソースするための追加行が 1 つ追加されます。

. /usr/share/snaplogger/debconf

関連情報