#!/bin/bash # # XXXig 卸载脚本 # 支持 tar.gz 和 DEB 包安装方式 # set -e declare -r RED="\033[0;31m" declare -r GREEN="\033[0;32m" declare -r YELLOW="\033[0;33m" declare -r RESET="\033[0m" # 安装路径配置 INSTALL_DIR_TARBALL="/etc/miner/xxxig" INSTALL_DIR_DEB="/etc/xxxig" LOG_DIR_DEB="/var/log/xxxig" log() { echo -e "${1}${2}${RESET}"; } error() { log "$RED" "错误: $1"; exit 1; } get_os() { grep -qi alpine /etc/os-release && echo "alpine" && return grep -qiE 'debian|ubuntu' /etc/os-release && echo "ubuntu" && return error "不支持的操作系统" } detect_installation() { local install_type="" # 检测 DEB 包安装 if command -v dpkg &>/dev/null && dpkg -l | grep -q "^ii.*xxxig"; then install_type="deb" # 检测 tar.gz 安装 elif [[ -d "$INSTALL_DIR_TARBALL" ]]; then install_type="tarball" # 检测 DEB 配置目录 elif [[ -d "$INSTALL_DIR_DEB" ]]; then install_type="deb" fi echo "$install_type" } uninstall_alpine_tarball() { log "$YELLOW" "卸载 Alpine tar.gz 安装..." rc-service xxxig stop 2>/dev/null || true rc-update del xxxig default 2>/dev/null || true rm -rf "$INSTALL_DIR_TARBALL" /etc/init.d/xxxig log "$GREEN" "Alpine tar.gz 安装已卸载" } uninstall_ubuntu_tarball() { log "$YELLOW" "卸载 Ubuntu/Debian tar.gz 安装..." systemctl stop xxxig 2>/dev/null || true systemctl disable xxxig 2>/dev/null || true rm -rf "$INSTALL_DIR_TARBALL" /etc/systemd/system/xxxig.service systemctl daemon-reload 2>/dev/null || true log "$GREEN" "Ubuntu/Debian tar.gz 安装已卸载" } uninstall_deb_package() { log "$YELLOW" "卸载 DEB 包..." # 停止并禁用服务 systemctl stop xxxig-daemon xxxig-server 2>/dev/null || true systemctl disable xxxig-daemon xxxig-server 2>/dev/null || true # 卸载包 apt-get remove -y xxxig 2>/dev/null || true # 清理配置(可选) if [[ "$PURGE_CONFIG" == "true" ]]; then apt-get purge -y xxxig 2>/dev/null || true rm -rf "$INSTALL_DIR_DEB" "$LOG_DIR_DEB" fi # 清理 APT 源 rm -f /etc/apt/sources.list.d/xxxig.list apt-get update -qq 2>/dev/null || true systemctl daemon-reload 2>/dev/null || true log "$GREEN" "DEB 包已卸载" } show_usage() { cat <