@cryptotaxi247 / netdata-1 / commits / ca75f68c7

fix uninstaller for MacOS; fixes #2941

Costa Tsaousis (ktsaou) committed Jun 1, 2018 at 00:27 UTC ca75f68c781ffc287b98728b04020592d99740f2
2 files changed +60 -124
installer/functions.sh
+31 -19
@@ -159,6 +159,29 @@ pidof() {
159 fi
160 }
161
162 +# -----------------------------------------------------------------------------
163 +# portable delete recursively interactively
164 +
165 +portable_deletedir_recursively_interactively() {
166 + if [ ! -z "$1" -a -d "$1" ]
167 + then
168 + if [ "\$(uname -s)" = "Darwin" ]
169 + then
170 + echo >&2
171 + read >&2 "Press ENTER to recursively delete directory '$1' > "
172 + echo >&2 "Deleting directory '$1' ..."
173 + run rm -R "$1"
174 + else
175 + echo >&2
176 + echo >&2 "Deleting directory '$1' ..."
177 + run rm -I -R "$1"
178 + fi
179 + else
180 + echo "Directory '$1' does not exist."
181 + fi
182 +}
183 +
184 +
185 # -----------------------------------------------------------------------------
186
187 export SYSTEM_CPUS=1
@@ -800,31 +823,20 @@ download_netdata_conf() {
823 # -----------------------------------------------------------------------------
824 # add netdata user and group
825
803 -NETDATA_ADDED_TO_DOCKER=0
804 -NETDATA_ADDED_TO_NGINX=0
805 -NETDATA_ADDED_TO_VARNISH=0
806 -NETDATA_ADDED_TO_HAPROXY=0
807 -NETDATA_ADDED_TO_ADM=0
808 -NETDATA_ADDED_TO_NSD=0
809 -NETDATA_ADDED_TO_PROXY=0
810 -NETDATA_ADDED_TO_SQUID=0
811 -NETDATA_ADDED_TO_CEPH=0
826 +NETDATA_WANTED_GROUPS="docker nginx varnish haproxy adm nsd proxy squid ceph"
827 +NETDATA_ADDED_TO_GROUPS=""
828 add_netdata_user_and_group() {
813 - local homedir="${1}"
829 + local homedir="${1}" g
830
831 if [ ${UID} -eq 0 ]
832 then
833 portable_add_group netdata || return 1
834 portable_add_user netdata "${homedir}" || return 1
819 - portable_add_user_to_group docker netdata && NETDATA_ADDED_TO_DOCKER=1
820 - portable_add_user_to_group nginx netdata && NETDATA_ADDED_TO_NGINX=1
821 - portable_add_user_to_group varnish netdata && NETDATA_ADDED_TO_VARNISH=1
822 - portable_add_user_to_group haproxy netdata && NETDATA_ADDED_TO_HAPROXY=1
823 - portable_add_user_to_group adm netdata && NETDATA_ADDED_TO_ADM=1
824 - portable_add_user_to_group nsd netdata && NETDATA_ADDED_TO_NSD=1
825 - portable_add_user_to_group proxy netdata && NETDATA_ADDED_TO_PROXY=1
826 - portable_add_user_to_group squid netdata && NETDATA_ADDED_TO_SQUID=1
827 - portable_add_user_to_group ceph netdata && NETDATA_ADDED_TO_CEPH=1
835 +
836 + for x in ${NETDATA_WANTED_GROUPS}
837 + do
838 + portable_add_user_to_group ${x} netdata && NETDATA_ADDED_TO_GROUPS="${NETDATA_ADDED_TO_GROUPS} ${x}"
839 + done
840
841 [ ~netdata = / ] && cat <<USERMOD
842
netdata-installer.sh
+29 -105
@@ -1026,24 +1026,17 @@ if [ "\$1" != "--force" ]
1026 exit 1
1027 fi
1028
1029 +source installer/functions.sh || exit 1
1030 +
1031 echo >&2 "Stopping a possibly running netdata..."
1030 -for p in \$(pidof netdata); do kill \$p; done
1032 +for p in \$(pidof netdata); do run kill \$p; done
1033 sleep 2
1034
1033 -deletedir() {
1034 - if [ ! -z "\$1" -a -d "\$1" ]
1035 - then
1036 - echo
1037 - echo "Deleting directory '\$1' ..."
1038 - rm -I -R "\$1"
1039 - fi
1040 -}
1041 -
1035 if [ ! -z "${NETDATA_PREFIX}" -a -d "${NETDATA_PREFIX}" ]
1036 then
1037 # installation prefix was given
1038
1046 - deletedir "${NETDATA_PREFIX}"
1039 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}"
1040
1041 else
1042 # installation prefix was NOT given
@@ -1051,48 +1044,48 @@ else
1044 if [ -f "${NETDATA_PREFIX}/usr/sbin/netdata" ]
1045 then
1046 echo "Deleting ${NETDATA_PREFIX}/usr/sbin/netdata ..."
1054 - rm -i "${NETDATA_PREFIX}/usr/sbin/netdata"
1047 + run rm -i "${NETDATA_PREFIX}/usr/sbin/netdata"
1048 fi
1049
1057 - deletedir "${NETDATA_PREFIX}/etc/netdata"
1058 - deletedir "${NETDATA_PREFIX}/usr/share/netdata"
1059 - deletedir "${NETDATA_PREFIX}/usr/libexec/netdata"
1060 - deletedir "${NETDATA_PREFIX}/var/lib/netdata"
1061 - deletedir "${NETDATA_PREFIX}/var/cache/netdata"
1062 - deletedir "${NETDATA_PREFIX}/var/log/netdata"
1050 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}/etc/netdata"
1051 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}/usr/share/netdata"
1052 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}/usr/libexec/netdata"
1053 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}/var/lib/netdata"
1054 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}/var/cache/netdata"
1055 + portable_deletedir_recursively_interactively "${NETDATA_PREFIX}/var/log/netdata"
1056 fi
1057
1058 if [ -f /etc/logrotate.d/netdata ]
1059 then
1060 echo "Deleting /etc/logrotate.d/netdata ..."
1068 - rm -i /etc/logrotate.d/netdata
1061 + run rm -i /etc/logrotate.d/netdata
1062 fi
1063
1064 if [ -f /etc/systemd/system/netdata.service ]
1065 then
1066 echo "Deleting /etc/systemd/system/netdata.service ..."
1074 - rm -i /etc/systemd/system/netdata.service
1067 + run rm -i /etc/systemd/system/netdata.service
1068 fi
1069
1070 if [ -f /etc/init.d/netdata ]
1071 then
1072 echo "Deleting /etc/init.d/netdata ..."
1080 - rm -i /etc/init.d/netdata
1073 + run rm -i /etc/init.d/netdata
1074 fi
1075
1076 if [ -f /etc/periodic/daily/netdata-updater ]
1077 then
1078 echo "Deleting /etc/periodic/daily/netdata-updater ..."
1086 - rm -i /etc/periodic/daily/netdata-updater
1079 + run rm -i /etc/periodic/daily/netdata-updater
1080 fi
1081
1082 if [ -f /etc/cron.daily/netdata-updater ]
1083 then
1084 echo "Deleting /etc/cron.daily/netdata-updater ..."
1092 - rm -i /etc/cron.daily/netdata-updater
1085 + run rm -i /etc/cron.daily/netdata-updater
1086 fi
1087
1095 -getent passwd netdata > /dev/null
1088 +portable_check_user_exists netdata
1089 if [ $? -eq 0 ]
1090 then
1091 echo
@@ -1101,7 +1094,7 @@ if [ $? -eq 0 ]
1094 echo " userdel netdata"
1095 fi
1096
1104 -getent group netdata > /dev/null
1097 +portable_check_group_exists netdata > /dev/null
1098 if [ $? -eq 0 ]
1099 then
1100 echo
@@ -1110,86 +1103,17 @@ if [ $? -eq 0 ]
1103 echo " groupdel netdata"
1104 fi
1105
1113 -getent group docker > /dev/null
1114 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_DOCKER}" = "1" ]
1115 - then
1116 - echo
1117 - echo "You may also want to remove the netdata user from the docker group"
1118 - echo "by running:"
1119 - echo " gpasswd -d netdata docker"
1120 -fi
1121 -
1122 -getent group nginx > /dev/null
1123 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_NGINX}" = "1" ]
1124 - then
1125 - echo
1126 - echo "You may also want to remove the netdata user from the nginx group"
1127 - echo "by running:"
1128 - echo " gpasswd -d netdata nginx"
1129 -fi
1130 -
1131 -getent group varnish > /dev/null
1132 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_VARNISH}" = "1" ]
1133 - then
1134 - echo
1135 - echo "You may also want to remove the netdata user from the varnish group"
1136 - echo "by running:"
1137 - echo " gpasswd -d netdata varnish"
1138 -fi
1139 -
1140 -getent group haproxy > /dev/null
1141 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_HAPROXY}" = "1" ]
1142 - then
1143 - echo
1144 - echo "You may also want to remove the netdata user from the haproxy group"
1145 - echo "by running:"
1146 - echo " gpasswd -d netdata haproxy"
1147 -fi
1148 -
1149 -getent group adm > /dev/null
1150 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_ADM}" = "1" ]
1151 - then
1152 - echo
1153 - echo "You may also want to remove the netdata user from the adm group"
1154 - echo "by running:"
1155 - echo " gpasswd -d netdata adm"
1156 -fi
1157 -
1158 -getent group nsd > /dev/null
1159 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_NSD}" = "1" ]
1160 - then
1161 - echo
1162 - echo "You may also want to remove the netdata user from the nsd group"
1163 - echo "by running:"
1164 - echo " gpasswd -d netdata nsd"
1165 -fi
1166 -
1167 -getent group proxy > /dev/null
1168 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_PROXY}" = "1" ]
1169 - then
1170 - echo
1171 - echo "You may also want to remove the netdata user from the proxy group"
1172 - echo "by running:"
1173 - echo " gpasswd -d netdata proxy"
1174 -fi
1175 -
1176 -getent group squid > /dev/null
1177 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_SQUID}" = "1" ]
1178 - then
1179 - echo
1180 - echo "You may also want to remove the netdata user from the squid group"
1181 - echo "by running:"
1182 - echo " gpasswd -d netdata squid"
1183 -fi
1184 -
1185 -getent group ceph > /dev/null
1186 -if [ $? -eq 0 -a "${NETDATA_ADDED_TO_CEPH}" = "1" ]
1187 - then
1188 - echo
1189 - echo "You may also want to remove the netdata user from the squid group"
1190 - echo "by running:"
1191 - echo " gpasswd -d netdata ceph"
1192 -fi
1106 +for g in ${NETDATA_ADDED_TO_GROUPS}
1107 +do
1108 + portable_check_group_exists \$g > /dev/null
1109 + if [ $? -eq 0 ]
1110 + then
1111 + echo
1112 + echo "You may also want to remove the netdata user from the \$g group"
1113 + echo "by running:"
1114 + echo " gpasswd -d netdata \$g"
1115 + fi
1116 +done
1117
1118 UNINSTALL
1119 chmod 750 netdata-uninstaller.sh