#!/bin/bash # # XXXigCC 卸载脚本 # 支持 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/xxxigcc" INSTALL_DIR_DEB="/etc/xxxigcc" LOG_DIR_DEB="/var/log/xxxigcc" 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.*xxxigcc"; 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 xxxigcc stop 2>/dev/null || true rc-update del xxxigcc default 2>/dev/null || true rm -rf "$INSTALL_DIR_TARBALL" /etc/init.d/xxxigcc log "$GREEN" "Alpine tar.gz 安装已卸载" } uninstall_ubuntu_tarball() { log "$YELLOW" "卸载 Ubuntu/Debian tar.gz 安装..." systemctl stop xxxigcc 2>/dev/null || true systemctl disable xxxigcc 2>/dev/null || true rm -rf "$INSTALL_DIR_TARBALL" /etc/systemd/system/xxxigcc.service systemctl daemon-reload 2>/dev/null || true log "$GREEN" "Ubuntu/Debian tar.gz 安装已卸载" } uninstall_deb_package() { log "$YELLOW" "卸载 DEB 包..." # 停止并禁用服务 systemctl stop xxxigcc-daemon xxxigcc-server 2>/dev/null || true systemctl disable xxxigcc-daemon xxxigcc-server 2>/dev/null || true # 卸载包 apt-get remove -y xxxigcc 2>/dev/null || true # 清理配置(可选) if [[ "$PURGE_CONFIG" == "true" ]]; then apt-get purge -y xxxigcc 2>/dev/null || true rm -rf "$INSTALL_DIR_DEB" "$LOG_DIR_DEB" fi # 清理 APT 源 rm -f /etc/apt/sources.list.d/xxxigcc.list apt-get update -qq 2>/dev/null || true systemctl daemon-reload 2>/dev/null || true log "$GREEN" "DEB 包已卸载" } show_usage() { cat <