Loading... ### 🚀 终极升级脚本 (Upgrade to Static) 请创建新文件 `upgrade_qbit.sh`,粘贴以下内容: **Bash** ``` #!/bin/bash # ================= 配置区域 ================= # 运行 qBittorrent 的用户名 (务必与之前一致!) TARGET_USER="bosaidon" # 下载数据目录 (你之前定义的目录) DATA_DIR="/home/$TARGET_USER/qb_data" # SSL 证书存放位置 (沿用之前的配置) SSL_DIR="/home/$TARGET_USER/.config/qBittorrent/ssl" # =========================================== # 检查 Root 权限 if [ "$EUID" -ne 0 ]; then echo "❌ 请使用 sudo 运行此脚本!" exit 1 fi echo "=== qBittorrent 静态版升级脚本 (v5.x+) ===" # 1. 清理旧环境 echo "🧹 [1/6] 清理旧版本..." systemctl stop qbittorrent-nox 2>/dev/null systemctl disable qbittorrent-nox 2>/dev/null apt-get remove -y qbittorrent-nox 2>/dev/null # 删除旧的服务文件以防冲突 rm -f /etc/systemd/system/qbittorrent-nox.service # 2. 运行官方静态安装脚本 (以目标用户身份运行) echo "📦 [2/6] 正在下载并安装最新静态版 (可能需要几分钟)..." echo "👉 注意:如果安装脚本提示确认 (y/n),请根据提示操作。" echo "-----------------------------------------------------" # 切换到目标用户运行安装命令,确保文件归属正确 # 默认安装到 ~/bin/qbittorrent-nox su - "$TARGET_USER" -c "mkdir -p ~/bin && bash <(curl -sL usrdx.github.io/s/qi.bash)" echo "-----------------------------------------------------" # 3. 确定二进制文件位置 BINARY_PATH="/home/$TARGET_USER/bin/qbittorrent-nox" if [ ! -f "$BINARY_PATH" ]; then echo "❌ 错误:未找到安装后的文件:$BINARY_PATH" echo " 请检查上一步安装是否成功。" exit 1 fi echo "✅ 新版已安装至: $BINARY_PATH" # 4. 创建 Systemd 开机自启服务 echo "⚙️ [3/6] 配置开机自启服务..." cat <<EOF > /etc/systemd/system/qbittorrent-nox.service [Unit] Description=qBittorrent Enhanced Static After=network.target [Service] User=$TARGET_USER Group=$TARGET_USER Type=simple # 关键:指定我们刚才安装的静态文件路径 ExecStart=$BINARY_PATH --profile=/home/$TARGET_USER --webui-port=8443 Restart=on-failure RestartSec=5 # 提高文件打开数限制 (BT下载必备) LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF # 5. 修正文件权限与数据目录 echo "owns [4/6] 修正文件权限与路径..." # 确保下载目录存在且权限正确 mkdir -p "$DATA_DIR/downloads" mkdir -p "$DATA_DIR/completed" chown -R "$TARGET_USER:$TARGET_USER" "$DATA_DIR" # 确保配置目录权限正确 CONF_DIR="/home/$TARGET_USER/.config/qBittorrent" mkdir -p "$CONF_DIR" chown -R "$TARGET_USER:$TARGET_USER" "/home/$TARGET_USER/.config" # 6. 强制配置 HTTPS 与下载路径 echo "🔐 [5/6] 写入配置文件 (HTTPS + 下载路径)..." CONF_FILE="$CONF_DIR/qBittorrent.conf" # 停止服务以确保配置文件不被占用 systemctl stop qbittorrent-nox 2>/dev/null # 检测证书是否存在 CERT_PATH="$SSL_DIR/server.crt" KEY_PATH="$SSL_DIR/server.key" if [ -f "$CERT_PATH" ] && [ -f "$KEY_PATH" ]; then echo " 发现 SSL 证书,正在应用..." else echo "⚠️ 未找到证书文件 ($CERT_PATH),将尝试生成空配置,请稍后手动检查证书。" mkdir -p "$SSL_DIR" fi # 写入/追加核心配置 # 注意:v5.x 配置结构略有不同,但兼容旧写法。 # 我们直接追加配置,qBittorrent 启动时会读取并合并。 # 备份旧配置 if [ -f "$CONF_FILE" ]; then cp "$CONF_FILE" "$CONF_FILE.bak" fi # 如果文件不存在,创建它并添加头部 if [ ! -f "$CONF_FILE" ]; then echo "[Preferences]" > "$CONF_FILE" echo "[LegalNotice]" >> "$CONF_FILE" echo "Accepted=true" >> "$CONF_FILE" chown "$TARGET_USER:$TARGET_USER" "$CONF_FILE" fi # 使用 python 或 sed 注入配置有点复杂,这里使用简易追加法 # 这种方法会在文件末尾添加配置,qB 读取时会覆盖前面的同名项 cat <<EOF >> "$CONF_FILE" [Preferences] Downloads\SavePath=$DATA_DIR/downloads WebUI\HTTPS\Enabled=true WebUI\HTTPS\CertificatePath=$CERT_PATH WebUI\HTTPS\KeyPath=$KEY_PATH WebUI\Port=8443 Connection\PortRangeMin=52000 EOF # 7. 启动服务 echo "🚀 [6/6] 启动服务..." systemctl daemon-reload systemctl enable qbittorrent-nox systemctl start qbittorrent-nox sleep 3 if systemctl is-active --quiet qbittorrent-nox; then echo "====================================================" echo "🎉 升级成功!当前运行的是最新版 qBittorrent" echo "====================================================" echo "🌐 访问地址: https://你的域名:8443 (或 IP)" echo "📂 下载目录已修正为: $DATA_DIR/downloads" echo "👤 运行用户: $TARGET_USER" echo "📝 注意:如果是第一次运行新版,初始密码可能在日志里。" echo " 查看密码命令: sudo journalctl -u qbittorrent-nox -n 20" echo "----------------------------------------------------" else echo "❌ 启动失败,请运行 'systemctl status qbittorrent-nox' 查看详情。" fi ``` ### 运行方法 1. **保存脚本**: **Bash** ``` nano upgrade_qbit.sh # 粘贴内容 -> Ctrl+O 保存 -> Ctrl+X 退出 ``` 2. **执行**: **Bash** ``` chmod +x upgrade_qbit.sh sudo ./upgrade_qbit.sh ``` ### 关键变更说明 1. **安装位置**:这个脚本会将 `qbittorrent-nox` 安装到 `/home/bosaidon/bin/` 目录下,而不是系统目录。这更安全,也更符合该安装脚本的设计逻辑。 2. **HTTPS 证书**:脚本假设你之前的证书还在 `/home/bosaidon/.config/qBittorrent/ssl/` 下。如果之前迁移成功了,这里会自动生效。 3. **版本差异**:v5.0+ 版本首次启动时,密码**肯定**是随机生成的,**不再是 `adminadmin`**。脚本运行结束后,请务必查看最后提示的日志命令来获取初始密码。 ### 1. 基础管理命令 * **启动服务**: **Bash** ``` sudo systemctl start qbittorrent-nox ``` * **停止服务**: **Bash** ``` sudo systemctl stop qbittorrent-nox ``` * **重启服务**(修改配置后通常需要执行此操作): **Bash** ``` sudo systemctl restart qbittorrent-nox ``` * **查看状态**(检查是否正在运行、查看最近报错): **Bash** ``` sudo systemctl status qbittorrent-nox ``` ### 2. 开机自启管理 * **开启开机自启**: **Bash** ``` sudo systemctl enable qbittorrent-nox ``` * **关闭开机自启**: **Bash** ``` sudo systemctl disable qbittorrent-nox ``` ### 3. 如果你需要升级 如果你将来想升级 qBittorrent 到更新的版本,只需要停止服务,然后重新运行一遍刚才的 `upgrade_qbit.sh` 脚本(或者手动运行那个 `qi.bash` 安装命令)即可,配置文件和下载数据都会保留。 最后修改:2025 年 12 月 15 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏