Wie kann ich ein ordnungsgemäßes Debian-Postinst- und Postrm-Skript erstellen?

Wie kann ich ein ordnungsgemäßes Debian-Postinst- und Postrm-Skript erstellen?

Ich habe versucht, diese Skripte zu erstellen. Die Installation verlief reibungslos. Sobald jedoch die Anwendungsversion erhöht wird und ich beispielsweise versuche, auf apx v2.0 zu aktualisieren, funktioniert nichts ordnungsgemäß.

Dies ist mein Postinst-Skript

#!/bin/sh

set -e 
chmod 755 /usr/bin/apx
chmod 755 /usr/lib/apx/apx.py
chmod -R 755 /usr/lib/apx/data/binaries

exit 0

das ist mein Postrm-Skript

#!/bin/sh

set -e

U_HOME=$(getent passwd $SUDO_USER | cut -d: -f6)
LOG="/var/log/apx"
UHOME="$U_HOME/.apx"

if [ -d $LOG ]; then
     rm -rf $LOG
fi

if [ -d $UHOME ]; then
     rm -rf $UHOME
fi

rm -rf /usr/lib/apx

exit 0

Antwort1

Sie sollten sie löschen.

Sie postinstlegen lediglich Dateiberechtigungen fest. Diese sollten im gepackten Inhalt und nicht in einem Skript nach der Installation festgelegt werden.

Sie postrmlöschen Protokolldateien und Dateien im Home-Verzeichnis des deinstallierenden Benutzers (vorausgesetzt, es wird mit deinstalliert sudo); beides sind definitive No-Gos, Home-Verzeichnisse sind für Maintainer-Skripte tabu und Protokolle sollten beim Entfernen (und Bereinigen) zurückgelassen werden. Ihr Skript löscht auch, /usr/lib/apxwas ein weiteres No-Go ist: dpkgsoll das handhaben.

ICHstarkempfehlen wir Ihnen, dieDebian-Leitfaden für neue Betreuer.

verwandte Informationen