Files
BootRepairTool/uninstall.sh
2026-02-14 14:39:44 +08:00

95 lines
3.0 KiB
Bash
Executable File

#!/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