From 56c5f6a99f69f5da72b8de966edf986f30005111 Mon Sep 17 00:00:00 2001 From: 3344 Date: Sun, 25 Jan 2026 11:02:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=2003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03 | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/03 b/03 index 499a420..2018bae 100644 --- a/03 +++ b/03 @@ -1,54 +1,61 @@ #!/bin/bash # ================= 配置区域 ================= -# 回归官方默认安装路径 -DATA_DIR="/var/lib/rustdesk-server" +# 严格改回你之前成功的 /data 路径 +DATA_DIR="/data" # =========================================== -# --- 功能: 检测安装并询问 --- +# --- 功能: 检测安装并询问是否卸载重装 --- echo "正在检查系统状态..." if systemctl list-unit-files | grep -q "rustdesk-hbbs.service"; then echo "------------------------------------------------" echo "⚠️ 检测到系统已安装 RustDesk Server!" echo "------------------------------------------------" - read -p "是否卸载当前版本并重新安装?(输入 y 确认,输入 n 退出): " choice + # 这里是你要求的交互逻辑 + read -p "检测到已安装,是否卸载当前版本并重新安装?(输入 y 确认重装,输入 n 退出): " choice case "$choice" in y|Y ) echo ">>> 正在停止服务并卸载..." systemctl stop rustdesk-hbbs rustdesk-hbbr systemctl disable rustdesk-hbbs rustdesk-hbbr - # 使用 purge 彻底清除旧配置,确保干净重装 + # 彻底清除旧程序 dpkg -P rustdesk-server-hbbs rustdesk-server-hbbr apt-get purge -y rustdesk-server-hbbs rustdesk-server-hbbr - # 询问是否删除数据(Key) - read -p "是否连同旧的 Key 和数据文件一起删除?(y/n) [推荐 n 保留]: " del_data + + # 询问是否清空旧数据(防止旧 Key 干扰) + echo "------------------------------------------------" + read -p "是否清空旧的 /data 数据目录(删除旧Key)?(y/n) [建议 y]: " del_data if [[ "$del_data" == "y" || "$del_data" == "Y" ]]; then rm -rf "$DATA_DIR" - echo ">>> 旧数据已清除。" + echo ">>> 旧数据 /data 已清除。" else - echo ">>> 旧数据已保留。" + echo ">>> 旧数据 /data 已保留。" fi - echo ">>> 卸载完成,准备开始重新安装..." + echo ">>> 卸载完成,即将开始重新安装..." + echo "------------------------------------------------" + sleep 2 ;; * ) - echo ">>> 已取消操作,脚本退出。" + echo ">>> 你选择了不卸载,脚本退出。" exit 0 ;; esac fi -# --- 开始安装流程 --- +# --- 下面是原来的安装脚本 (路径保持 /data 不动) --- # 1. 基础环境修复 echo "正在修复基础环境..." apt-get update apt-get install -y curl wget lsof psmisc -# 2. 准备目录 (使用官方标准路径) +# 2. 准备目录 (使用 /data) if [ ! -d "$DATA_DIR" ]; then - echo "正在创建标准数据目录: $DATA_DIR" + echo "正在创建数据目录: $DATA_DIR" mkdir -p "$DATA_DIR" +else + echo "目录已存在: $DATA_DIR" fi # 3. 下载安装包 @@ -70,7 +77,7 @@ dpkg -i hbbs.deb hbbr.deb apt-get install -f -y rm -f hbbs.deb hbbr.deb -# 5. 配置 Systemd 服务 (写入 /var/lib/rustdesk-server 路径) +# 5. 配置 Systemd 服务 (强制锁定在 /data) HOST_IP=$(curl -s4 ifconfig.me) echo "正在写入服务配置..." @@ -81,7 +88,7 @@ After=network.target [Service] Type=simple -# -r 指定 IP, -k _ 强制生成 Key +# -k _ 强制生成 Key ExecStart=/usr/bin/hbbs -r ${HOST_IP}:21117 -k _ WorkingDirectory=${DATA_DIR} Restart=always @@ -112,7 +119,7 @@ systemctl daemon-reload systemctl enable --now rustdesk-hbbs rustdesk-hbbr echo "------------------------------------------------" -echo "RustDesk 安装完成 (标准路径版)!" +echo "RustDesk 安装完成!" echo "数据存储路径: $DATA_DIR" echo "正在等待 Key 生成..." sleep 3 @@ -123,5 +130,6 @@ if [ -f "$PUB_KEY" ]; then echo -e "\033[32m$(cat "$PUB_KEY")\033[0m" else echo "警告:Key 文件尚未生成,请手动检查: cat $PUB_KEY" + echo "如果还是没生成,可能是服务启动慢,请稍等几秒再看。" fi echo "------------------------------------------------" \ No newline at end of file