Files
server-manager/install/agent-uninstall.sh
Agent fd3cc6825c fix: dual-mode installer — works with or without sudo
Installer now detects at runtime if it can get root access:
- Root/NOPASSWD sudo: installs to system directories with systemd
- No root: installs to ~/.local/bin with @reboot cron job

Self-elevation uses 'script -qc sudo bash' for requiretty, or falls
back to user mode without hanging on password prompts.

Uninstaller checks both system and user paths.
2026-06-11 19:12:57 -04:00

36 lines
1.5 KiB
Bash

#!/bin/bash
# ServerManager Agent Uninstaller
# Try system paths first, fall back to user paths
if [ -f /usr/local/bin/servermanager-agent ]; then
echo "[1/3] Stopping and disabling service..."
systemctl stop servermanager-agent 2>/dev/null || true
systemctl disable servermanager-agent 2>/dev/null || true
systemctl daemon-reload 2>/dev/null || true
echo "[2/3] Removing system files..."
rm -f /usr/local/bin/servermanager-agent 2>/dev/null || true
rm -rf /etc/servermanager 2>/dev/null || true
rm -f /etc/systemd/system/servermanager-agent.service 2>/dev/null || true
echo "[3/3] Reloading systemd..."
systemctl daemon-reload 2>/dev/null || true
elif [ -f "$HOME/.local/bin/servermanager-agent" ]; then
echo "[1/2] Removing cron job..."
crontab -l 2>/dev/null | grep -v 'servermanager-agent' | crontab - 2>/dev/null || true
echo "[2/2] Removing user files..."
rm -f "$HOME/.local/bin/servermanager-agent" 2>/dev/null || true
rm -rf "$HOME/.config/servermanager" 2>/dev/null || true
else
echo "Agent is not installed."
# Still try to clean up any leftover system files
rm -f /usr/local/bin/servermanager-agent 2>/dev/null || true
rm -rf /etc/servermanager 2>/dev/null || true
rm -f /etc/systemd/system/servermanager-agent.service 2>/dev/null || true
systemctl daemon-reload 2>/dev/null || true
crontab -l 2>/dev/null | grep -v 'servermanager-agent' | crontab - 2>/dev/null || true
fi
echo "ServerManager Agent uninstalled successfully."