#!/bin/bash # ============================================================================== # Linux GRUB 引导修复工具 (BootRepairTool) 卸载脚本 # ------------------------------------------------------------------------------ # 使用方法: # 终端中运行: sudo bash uninstall.sh # ============================================================================== # --- 配置变量 --- APP_NAME="Linux GRUB 引导修复工具" EXEC_FILE="LinuxGrubRepair" EXEC_BIN_FILE="LinuxGrubRepair.bin" ICON_FILE="boot-repair.png" INSTALL_DIR="/opt/boot-repair-tool" DESKTOP_FILE_NAME="boot-repair.desktop" DESKTOP_INSTALL_DIR="/usr/share/applications" POLICY_FILE="/usr/share/polkit-1/actions/com.bootrepair.tool.policy" # --- 颜色定义 --- GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[0;33m' BLUE='\033[0;34m' NC='\033[0m' # 检查是否以 root 权限运行 check_root() { if [[ $EUID -ne 0 ]]; then echo -e "${RED}错误:此脚本需要 root 权限运行。请使用 'sudo bash $0'。${NC}" exit 1 fi } # --- 主卸载流程 --- echo -e "${YELLOW}=================================================${NC}" echo -e "${YELLOW} 开始卸载 ${APP_NAME}${NC}" echo -e "${YELLOW}=================================================${NC}" check_root echo -e "${BLUE}正在卸载...${NC}" # 1. 删除安装目录 if [ -d "${INSTALL_DIR}" ]; then echo -e "删除安装目录: ${INSTALL_DIR}" rm -rf "${INSTALL_DIR}" fi # 2. 删除软链接 if [ -L "/bin/boot-repair" ]; then echo -e "删除软链接: /bin/boot-repair" rm -f "/bin/boot-repair" fi # 3. 删除桌面入口文件 if [ -f "${DESKTOP_INSTALL_DIR}/${DESKTOP_FILE_NAME}" ]; then echo -e "删除桌面入口文件: ${DESKTOP_INSTALL_DIR}/${DESKTOP_FILE_NAME}" rm -f "${DESKTOP_INSTALL_DIR}/${DESKTOP_FILE_NAME}" fi # 4. 删除 PolicyKit 规则文件 if [ -f "${POLICY_FILE}" ]; then echo -e "删除 PolicyKit 规则: ${POLICY_FILE}" rm -f "${POLICY_FILE}" fi # 5. 删除用户桌面快捷方式 CURRENT_USER=$(logname 2>/dev/null || echo "${SUDO_USER}") if [ -n "$CURRENT_USER" ]; then USER_DESKTOP_DIR="" if [ -d "/home/${CURRENT_USER}/桌面" ]; then USER_DESKTOP_DIR="/home/${CURRENT_USER}/桌面" elif [ -d "/home/${CURRENT_USER}/Desktop" ]; then USER_DESKTOP_DIR="/home/${CURRENT_USER}/Desktop" fi if [ -n "${USER_DESKTOP_DIR}" ] && [ -f "${USER_DESKTOP_DIR}/${DESKTOP_FILE_NAME}" ]; then echo -e "删除用户桌面快捷方式: ${USER_DESKTOP_DIR}/${DESKTOP_FILE_NAME}" rm -f "${USER_DESKTOP_DIR}/${DESKTOP_FILE_NAME}" fi fi # 6. 更新桌面数据库 echo -e "更新桌面数据库..." if command -v update-desktop-database &> /dev/null; then update-desktop-database "${DESKTOP_INSTALL_DIR}" 2>/dev/null || true fi echo -e "${YELLOW}=================================================${NC}" echo -e "${GREEN} 卸载完成!${NC}" echo -e "${YELLOW}=================================================${NC}" exit 0