跳到正文
Guide

维护

升级与回退

正式更新说明以 GitHub Releases 为准。升级前确认目标版本限制、实际数据库路径及可恢复的一致性备份。

已接入升级器

sudo guide-update --check
sudo guide-update
sh

先运行第一条只读检查,确认当前与 latest;需要升级时再执行第二条。--check 不下载或 self-update,不修改服务、数据库或安装文件。当前高于 latest 时不会自动降级。

官方升级器先校验下载、归档白名单和候选版本,再停止服务;停服后备份实际 DB、存在的 WAL/SHM 与旧二进制,保留原 unit 和实例设置。启动失败时尝试整体恢复,详细范围见官方 INSTALL。

旧实例首次接入

已有受支持的 guide.service,包括 v1.0.0,不需要预先存在 updater。在空下载目录下载并校验安装器后,只读检查:

curl -fsSL https://github.com/NSJLUCAS/Guide/releases/latest/download/install-guide.sh -o install-guide.sh &&
curl -fsSL https://github.com/NSJLUCAS/Guide/releases/latest/download/sha256sums.txt -o sha256sums.txt &&
grep -E '^[[:xdigit:]]{64}  install-guide[.]sh$' sha256sums.txt > install-guide.sh.sha256 &&
sha256sum --check install-guide.sh.sha256 &&
sudo sh ./install-guide.sh --check
sh

必须核对显示原实例版本,以及受支持的直接绝对 ExecStart、原 DB、监听地址和已加载 unit/drop-in。路径或 namespace 不明确、DB 不存在、配置未 reload 等情况应先解决,不猜测创建新库。

识别原实例后再单独执行:

sudo sh ./install-guide.sh
sudo guide-update --check
sh

如果显示 not installed、路径错误或未识别原实例,立即停止。其他服务名、手工启动、wrapper 和容器不能自动接管,按人工迁移规则处理。不要删除旧 DB/WAL/SHM 或改名程序来让安装通过。

分类数据库迁移

从 v1.1.0 升级到 v1.2.0 时,首次启动会自动升级数据库并导入原有分类,无需手工修改数据库。原网站、网站排序、检测结果和实例设置保留。

升级后可独立管理分类顺序并保留空分类。已有管理分类时,恢复缺少分类表的旧备份会被拒绝;不要删除分类或网站绕过保护。

管理员需要核对数据库兼容性时:v1.1.0 使用 schema 13,v1.2.0 使用 schema 14。回退到旧结构的版本须恢复升级前快照,不能只替换程序。详细限制见数据备份。

失败与回退

升级器保留数据库和二进制两份备份位置,不自动清理旧备份。正常失败尽力整体回滚;SIGKILL、断电或磁盘故障不能保证自动恢复。遇到 CRITICAL 时按报告路径与官方恢复流程人工处理。

跨数据库结构版本手工回退必须先停止并确认服务退出,保存当前状态,然后恢复升级前完整数据库快照(包括相应 WAL/SHM)和旧二进制。不能只换回旧二进制或仅复制活动数据库主文件。

快照恢复会舍弃备份后的修改,先另存需要保留的数据。不要用运行中的数据库恢复;路径、权限和侧文件须按数据备份与官方规则核对。

升级后验证

检查实际版本、服务状态、原数据库路径、后台登录、原网站/分类/图标配置、导航布局与检测。再验证最终域名 HTTPS。下载历史安装器并不固定历史 Hub,它仍选择运行时 latest;需要历史版本时按安装页手动部署。

在 GitHub 上修改这一页最后更新 2026-10-09