1.
1.1 登录受影响主机,切换到管理员账号(sudo 或 root),确保有 ssh 或控制台访问权限。
1.2 查看最近升级记录:Debian/Ubuntu 用 sudo grep "upgrade" /var/log/dpkg.log 或 apt history;CentOS 用 sudo yum history 或 sudo dnf history。
1.3 检查 OpenClaw 与飞书(Feishu/Lark)安装日志:通常在 /var/log/openclaw/、/var/log/ 或安装目录下查看最新错误日志,记录时间戳与错误代码。
2.
2.1 停止相关服务:sudo systemctl stop openclaw.service(服务名以实际为准),并停止飞书相关进程。
2.2 备份配置与数据:sudo tar czf /root/backup_openclaw_$(date +%F).tar.gz /etc/openclaw /var/lib/openclaw /opt/feishu 等。
2.3 导出当前已安装包版本:Debian/Ubuntu sudo apt list --installed | grep -E "openclaw|feishu" > /root/pkg_versions.txt;CentOS 用 rpm -qa | grep -E "openclaw|feishu".
3.
3.1 查看错误日志中是否为缺少依赖库(找类似 “cannot find shared library” 或 unmet dependencies 信息)。
3.2 检查目录权限与 SELinux:ls -la 安装目录;CentOS 下 sudo sestatus 与 sudo ausearch -m avc 以查看被阻止的操作。
3.3 若是服务单元或 systemd 启动失败,运行 sudo systemctl status openclaw.service 和 journalctl -u openclaw.service -b 查看详细日志。
4.
4.1 优先选择无侵入回退:使用包管理器回退到上一个已知可用版本或使用备份的二进制包。
4.2 若无法回退包,考虑恢复完整备份或在隔离环境(测试机 / 容器)中复现并验证修复方案后再操作生产。
4.3 在回退前向团队通报维护窗口并准备回滚计划与验证清单。
5.
5.1 查找可用旧版本:apt-cache policy openclaw feishu;若包在缓存,列出 /var/cache/apt/archives/。
5.2 回退命令(示例):sudo apt-get install openclaw=<版本号> feishu=<版本号>,如需强制从 .deb 文件安装:sudo dpkg -i /path/to/openclaw_old.deb。
5.3 安装后运行 sudo apt-mark hold openclaw feishu 锁定版本,重启服务并验证:sudo systemctl restart openclaw && sudo systemctl status openclaw。
6.
6.1 使用 yum history 查找导致问题的事务 ID:sudo yum history,然后 sudo yum history undo
6.2 如果使用 rpm:先卸载 sudo rpm -e --nodeps openclaw,然后用旧包 sudo rpm -ivh /path/to/openclaw-old.rpm。
6.3 检查 SELinux 上下文与依赖:sudo restorecon -Rv /opt/openclaw(如路径被修改),并重启服务验证。
7.
7.1 若 OpenClaw 或飞书运行在 Docker/K8s 中,优先回滚镜像到上一个稳定镜像标签:docker pull repo/openclaw:
7.2 清理残余卷与配置映射(谨慎):先备份卷数据,再执行 docker volume rm / kubectl delete pvc 等操作。
7.3 在容器中验证依赖:docker exec -it
8.
8.1 问:回退后如何确认服务真正恢复?
8.2 答:检查 systemctl status、查看应用日志(tail -n 200 /var/log/openclaw/...)、用实际客户端或 API 调用功能测试,并观察一段时间监控指标是否正常。
9.
9.1 问:以后如何避免类似升级导致的安装失败?
9.2 答:提前在测试环境做升级演练、使用版本锁定(apt-mark hold / yum versionlock)、定期备份配置并保留旧安装包、采用滚动发布或蓝绿部署以减少影响。
10.
10.1 问:若回退后仍异常,我应执行什么操作?
10.2 答:回退失败时恢复到最后完整备份;若无备份,尽快将故障信息、日志与包清单上报开发/厂商并在隔离环境中逐步重建环境或请求供应商远程协助。