Donc, cette erreur se produit lors de l’installation du logiciel Prey Anti-Theft:
Installing init scripts.
dpkg: error processing package prey (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
prey
Vous pouvez utiliser ce lien pour comprendre le message d'erreur.
Donc, ce message d'erreur nous indique qu'il y a une erreur avec le script de post-installation ... qui ne nous aide pas beaucoup.
Quelqu'un at-il déjà rencontré un tel problème et sait-il comment y remédier? (Des questions similaires ont été postées sur le forum à l’adresse https://help.preyproject.com/topics mais sans réponses utiles)
-- Modifier --
Voici le script prey.postinst
:
#!/bin/bash -x
####################################################################
# Prey Debian Postinst Script
# Written by Tomás Pollak <[email protected]> - (c) 2011 Fork Ltd.
# License: GPLv3
####################################################################
set -e
VERSION='1.3.8'
BASE_PATH="/usr/lib/prey"
INSTALL_PATH="${BASE_PATH}/versions/${VERSION}"
PREY_BIN="bin/prey"
PREY_USER="prey"
TEMP_OLD_CONFIG="/tmp/prey-config.old"
get_current_user() {
export PS_FORMAT=user:16,command
ps ax | grep ssh-agent | grep -v grep | cut -d' ' -f1 | head -1
}
case "$1" in
configure)
if [ -d /usr/share/prey ]; then
echo "Previous installation found. Removing..."
if [ -f /usr/share/prey/config.backup ]; then
cp /usr/share/prey/config.backup "$TEMP_OLD_CONFIG"
else
cp /usr/share/prey/config "$TEMP_OLD_CONFIG" || true
fi
if [ -f "$TEMP_OLD_CONFIG" ]; then
chmod 666 "$TEMP_OLD_CONFIG"
fi
# remove from root crontab
(crontab -l 2> /dev/null | grep -v prey || true) | crontab -
# remove from prey crontab, if present
if test "$(id ${PREY_USER} 2> /dev/null)"; then
(crontab -u $PREY_USER -l 2> /dev/null | grep -v prey || true) | crontab -u $PREY_USER -
fi
# wipe out old folder
rm -Rf /usr/share/prey
fi
cd "$INSTALL_PATH"
# as root, set up init script and activate current installation
"$PREY_BIN" config hooks post_install
# check if API_KEY env var was passed
if [ -n "$API_KEY" ]; then
echo "API Key detected! Verifying..."
"$PREY_BIN" config account authorize -a "$API_KEY"
else # no API key, so let's show up the GUI
# before firing gui, allow prey user to access current X screen
if [ -n "$(which xhost)" ]; then
CURRENT_USER=$(get_current_user)
if [ -n "$CURRENT_USER" ]; then
su $CURRENT_USER -c "DISPLAY=:0.0 xhost +si:localuser:${PREY_USER}" || true
fi
fi
# run config gui as prey user, previously checking for old config keys
DISPLAY=:0.0 su $PREY_USER -c "$PREY_BIN config gui --check-file $TEMP_OLD_CONFIG"
fi
rm -f "$TEMP_OLD_CONFIG"
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0
J'ai examiné le script prey.postinst
, qui se trouve dans/var/lib/dpkg/info, et utilisé set -x
pour localiser l'erreur. Il semblait y avoir quelque chose qui n'allait pas avec Line 72:
DISPLAY=:0.0 su $PREY_USER -c "$PREY_BIN config gui --check-file $TEMP_OLD_CONFIG"
Après avoir commenté cette ligne, j'ai pu terminer l'installation (Sudo apt-get install -f).
J'ai également supprimé les fichiers prey-config-XXXXXXXXXXXXXXX.log
qui se trouvaient dans mon dossier/temp/(si disponible).
-- MODIFIER --
Donc, avec l'aide de the_Seppi, j'ai changé la ligne comme suit:
env DISPLAY=:0.0 gksu $PREY_USER "$PREY_BIN config gui --check-file $TEMP_OLD_CONFIG"
L’installation peut ensuite être complétée avec Sudo dpkg --configure -a