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