95 lines
3.0 KiB
Bash
Executable File
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
|