Ich habe einen ProjektnamenSchnapploggerdas ich verwende, um Protokolle an Dateien, Syslog, die Konsole oder einen Remotecomputer zu senden (was syslogd macht, aber mit vielen mehr Funktionen).
Wenn ein anderes Projekt das verwenden möchte snaplogger
, wird erwartet, dass es ein Unterverzeichnis log erstellt. Zum Beispiel meinKommunikatorDas Projekt macht Folgendes:
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}
Ich möchte die letzten 6 Zeilen in ein Skript verschieben, das das snaplogger
Projekt bereitstellt. Dann communicatord
würde es einfach eine Funktion verwenden, die das Skript definiert hat. Vielleicht so etwas wie das hier:
prepare-snaplogger ${PACKAGENAME} ${USERNAME} ${GROUPNAME} true
Das true
am Ende bedeutet, dass wir auch einen sicheren Protokollunterordner möchten.
Da das Postinst-Skript mit Root ausgeführt wird, kann es all dies erstellen, während der Dienst als er selbst ausgeführt wird (d. h. ich habe einen communicatord
Benutzer) und daher diese Ordner nicht erstellen könnte.
Meine Frage hier ist: Gibt es eine dokumentierte Möglichkeit, solche Erweiterungsskripte in Debian und/oder Ubuntu bereitzustellen?
Meine Idee ist, dass jedes Projekt so etwas unter bereitstellen sollte . Aber vielleicht können wir den Ordner /usr/share/<project-name>/[debconf/?]
verwenden ?/var/share/debconf/...
Als Ergebnis hätte ich eine zusätzliche Zeile zum Angeben der Quelle dieser Datei, etwa die folgende, die am Anfang des communicatord.postinst
Skripts erscheinen würde:
. /usr/share/snaplogger/debconf