v1.2.11: снос убирает kit-limit и находит свои службы по шаблонам

This commit is contained in:
2026-10-12 22:55:04 +03:00
parent 64796e0f53
commit 0daaf65b5c
7 changed files with 31 additions and 11 deletions
+12 -4
View File
@@ -929,13 +929,20 @@ kit_local_uninstall() {
*) kl_die "kit local uninstall [--dry-run] [--reset-ssh]"; return 1 ;;
esac
local -a svc=(x-ui kit-sub kit-update.timer kit-update.service)
# Службы: и явный список, и всё, что найдётся по нашим шаблонам (чтобы новые юниты kit не оставались).
local -a svc=(x-ui.service kit-sub.service kit-update.timer kit-update.service kit-limit.timer kit-limit.service)
local u
for u in $(systemctl list-unit-files --no-legend 2>/dev/null | awk '{print $1}' \
| grep -E '^(x-ui|kit-|kit\.)' | grep -E '\.(service|timer)$'); do
[[ " ${svc[*]} " == *" $u "* ]] || svc+=("$u")
done
# Список собран по коду установщика (scripts/3x-ui.sh) и нашего слоя: убираем всё, что они создают.
local -a paths=(
/usr/local/x-ui /etc/x-ui /usr/bin/x-ui /usr/bin/x-ui.new /etc/systemd/system/x-ui.service
/usr/local/bin/kit /usr/local/lib/kit /usr/local/lib/kit-sub /etc/kit /etc/kit-sub
/etc/systemd/system/kit-sub.service /etc/systemd/system/kit-update.service
/etc/systemd/system/kit-update.timer
/etc/systemd/system/kit-update.timer /etc/systemd/system/kit-limit.service
/etc/systemd/system/kit-limit.timer
/etc/cron.d/kit-nginx-reload /etc/cron.d/kit-xui-menu /etc/cron.d/kit-sub-cert
/etc/nginx/kit-stream.conf /etc/nginx/conf.d/kit.conf /var/www/kit
/root/3x-ui.txt /root/cert /root/.acme.sh /etc/letsencrypt /var/log/kit-install-check.log
@@ -1043,8 +1050,9 @@ kit_local_uninstall() {
if [[ -f /root/3x-ui.txt && -x /usr/local/x-ui/x-ui ]]; then
kl_warn "установщик всё ещё считает панель установленной"; left=1
fi
for s in "${svc[@]}"; do
systemctl list-unit-files 2>/dev/null | grep -q "^$s" && { kl_warn "осталась служба: $s"; left=1; }
for s in $(systemctl list-unit-files --no-legend 2>/dev/null | awk '{print $1}' \
| grep -E '^(x-ui|kit-|kit\.)' | grep -E '\.(service|timer)$'); do
kl_warn "осталась наша служба: $s"; left=1
done
found=$(ls -d /etc/kit* /usr/local/lib/kit* /usr/local/bin/kit /etc/cron.d/kit-* /var/www/kit \
/root/3x-ui.txt /root/cert /etc/x-ui /usr/local/x-ui 2>/dev/null | head -20)