zapret/uninstall_debian_easy.sh
2019-05-03 19:39:19 +03:00

71 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# automated script for easy installing zapret on debian or ubuntu based system
# system must use apt as package manager and systemd
[ $(id -u) -ne "0" ] && {
echo root is required
exec sudo $0
}
SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT)
LSB_INSTALL=/usr/lib/lsb/install_initd
LSB_REMOVE=/usr/lib/lsb/remove_initd
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret
INIT_SCRIPT=/etc/init.d/zapret
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_
echo \* checking system ...
APTGET=$(which apt-get)
SYSTEMCTL=$(which systemctl)
[ ! -x "$APTGET" ] || [ ! -x "$SYSTEMCTL" ] && {
echo not debian-like system
exit 5
}
echo \* stopping service and unregistering init script with LSB ...
"$SYSTEMCTL" disable zapret
"$SYSTEMCTL" stop zapret
[ -f "$INIT_SCRIPT" ] && "$LSB_REMOVE" $INIT_SCRIPT
echo \* removing init script ...
script_mode=Y
[ -f "$INIT_SCRIPT" ] &&
{
cmp -s $INIT_SCRIPT $INIT_SCRIPT_SRC ||
{
echo $INIT_SCRIPT already exists and differs from $INIT_SCRIPT_SRC
echo Y = remove it
echo L = leave it
read script_mode
}
if [ "$script_mode" = "Y" ] || [ "$script_mode" = "y" ]; then
rm -vf $INIT_SCRIPT
fi
}
echo \* removing crontab entry ...
CRONTMP=/tmp/cron.tmp
crontab -l >$CRONTMP
if grep -q "$GET_IPLIST_PREFIX" $CRONTMP; then
echo removing following entries from crontab :
grep "$GET_IPLIST_PREFIX" $CRONTMP
grep -v "$GET_IPLIST_PREFIX" $CRONTMP >$CRONTMP.2
crontab $CRONTMP.2
rm -f $CRONTMP.2
fi
rm -f $CRONTMP
echo \* systemd cleanup ...
"$SYSTEMCTL" daemon-reload
exit 0