迁完服务起不来?
迁移到麒麟后服务起不来:包缺失、路径变化、依赖库差异、启动单元没配。给出启动失败的排查顺序与现场保留方法。
简短答案
服务起不来先看单元状态 + 失败原因,再按”依赖库 → 路径 → 配置”顺序定位。迁移场景下九成是依赖库或路径变了。
| 现象 | 原因 | 处理 |
|---|---|---|
active (failed) |
启动脚本 / 单元报错 | 看单元日志 |
could not open shared object |
依赖库缺失 | 补库或对齐版本 |
no such file |
路径变了 | 改配置路径 |
| 依赖服务没起 | 启动顺序 / 依赖没配 | 补 After= / Requires= |
怎么排查
# 1. 看单元状态
systemctl status <svc> -l
# 2. 看失败原因
journalctl -u <svc> -n 100 --no-pager
# 3. 看缺哪个库
ldd <运行二进制> | grep 'not found'
# 4. 看单元依赖
systemctl show <svc> | grep -E 'Requires|After'
- 系统侧基线以 麒麟 V11 服务器版 x86_64、arm64 条目为准。
- 服务完全修不好时保留现场,用启动介质(可参考 Rufus 制作恢复 U 盘)进恢复模式排查,不要盲改。
- 应用适配行为以 麒麟 V11 服务器版 x86_64 条目页的发行说明为准。
操作小结
- 单元日志是第一手。
ldd查缺库。- 修不好先保留现场再排查。