更新 03
This commit is contained in:
42
03
42
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 "------------------------------------------------"
|
||||
Reference in New Issue
Block a user