77 lines
1.7 KiB
Bash
77 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
function disable_systemd {
|
|
systemctl is-active centrifugo &>/dev/null
|
|
if [[ $? -eq 0 ]]; then
|
|
systemctl stop centrifugo || :
|
|
fi
|
|
systemctl is-enabled centrifugo &>/dev/null
|
|
if [[ $? -ne 0 ]]; then
|
|
systemctl disable centrifugo &>/dev/null
|
|
fi
|
|
rm -f /lib/systemd/system/centrifugo.service
|
|
systemctl daemon-reload
|
|
}
|
|
|
|
function disable_upstart {
|
|
initctl stop centrifugo || :
|
|
rm -f /etc/init/centrifugo.conf
|
|
initctl reload-configuration
|
|
}
|
|
|
|
function disable_update_rcd {
|
|
service centrifugo stop || :
|
|
update-rc.d -f centrifugo remove
|
|
rm -f /etc/init.d/centrifugo
|
|
}
|
|
|
|
function disable_chkconfig {
|
|
service centrifugo stop || :
|
|
chkconfig --del centrifugo
|
|
rm -f /etc/init.d/centrifugo
|
|
}
|
|
|
|
if [[ -f /etc/redhat-release ]]; then
|
|
# RHEL-variant logic
|
|
if [[ "$1" = "0" ]]; then
|
|
# Centrifugo is no longer installed, remove from init system
|
|
which systemctl &>/dev/null
|
|
if [[ $? -eq 0 ]]; then
|
|
disable_systemd
|
|
else
|
|
# Assuming sysv
|
|
disable_chkconfig
|
|
fi
|
|
rm -f /etc/default/centrifugo
|
|
fi
|
|
elif [[ -f /etc/debian_version ]]; then
|
|
# Debian/Ubuntu logic
|
|
if [[ "$1" != "upgrade" ]]; then
|
|
# Remove/purge
|
|
which systemctl &>/dev/null
|
|
if [[ $? -eq 0 ]]; then
|
|
disable_systemd
|
|
else
|
|
/sbin/init --version >/dev/null 2>/dev/null
|
|
if [[ $? -eq 0 && `/sbin/init --version` =~ upstart ]]; then
|
|
# Assuming upstart
|
|
disable_upstart
|
|
else
|
|
# Assuming sysv
|
|
disable_update_rcd
|
|
fi
|
|
fi
|
|
rm -f /etc/default/centrifugo
|
|
fi
|
|
elif [[ -f /etc/os-release ]]; then
|
|
source /etc/os-release
|
|
if [[ $ID = "amzn" ]]; then
|
|
# Amazon Linux logic
|
|
if [[ "$1" = "0" ]]; then
|
|
# Centrifugo is no longer installed, remove from init system
|
|
disable_chkconfig
|
|
rm -f /etc/default/centrifugo
|
|
fi
|
|
fi
|
|
fi
|