add install shell
This commit is contained in:
93
uninstall.sh
Executable file
93
uninstall.sh
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ==============================================================================
|
||||
# Linux GRUB 引导修复工具 (BootRepairTool) 卸载脚本
|
||||
# ------------------------------------------------------------------------------
|
||||
# 使用方法:
|
||||
# 终端中运行: sudo bash uninstall.sh
|
||||
# ==============================================================================
|
||||
|
||||
# --- 配置变量 ---
|
||||
APP_NAME="Linux GRUB 引导修复工具"
|
||||
EXEC_FILE="LinuxGrubRepair"
|
||||
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
|
||||
Reference in New Issue
Block a user