银河麒麟怎么排查系统升级后某个系统服务无法开机自启

轻瑶吖_6022

轻瑶吖_6022

2026-10-03

504人浏览

原创

银河麒麟升级后服务未开机自启,需依次验证:1. systemctl is-enabled确认启用状态;2. systemctl show --property=fragmentpath比对单元文件路径及完整性;3. journalctl -u 服务名 --since "1h ago"查启动失败日志;4. systemctl list-dependencies --reverse检查multi-user.target依赖链;5. 确认network-online.target、local-fs.target等关键依赖是否active。

银河麒麟怎么排查系统升级后某个系统服务无法开机自启

银河麒麟系统升级后某个服务不再随开机自动启动,说明systemd单元文件、依赖关系或配置状态在升级过程中被修改、覆盖或损坏,必须逐层验证其注册状态、运行条件与执行环境。

确认服务是否仍被标记为启用

打开终端,执行:
sudo systemctl is-enabled 服务名.service

若返回 disabled 或 masked,说明升级过程已自动取消其开机自启;若返回 static,表示该服务本身不支持 enable/disable(如 socket 或 target 类型),需检查其触发机制而非启用状态。

立即补救:若确需开机启动,运行 sudo systemctl enable 服务名.service。注意:【此操作不会启动服务,仅建立 multi-user.target.wants 下的软链接】。

检查服务单元文件是否被覆盖或损坏

方法一:比对原始包附带的单元文件与当前系统中实际加载的版本
执行 systemctl show --property=FragmentPath 服务名.service 获取路径,例如 /usr/lib/systemd/system/ssh.service;
再运行 rpm -ql openssh-server | grep '\.service$'(RPM系)或 dpkg -L openssh-server | grep '\.service$'(DEB系),确认该路径是否属于软件包原生文件。

若 FragmentPath 指向 /etc/systemd/system/ 下的同名文件,则说明已被管理员手动覆盖——此时需人工判断该覆盖版本是否兼容新系统版本,尤其注意[Unit]段中 After=、Wants= 是否引用了已废弃的 target(如 graphical.target 在 UKUI 环境下可能被替换为 default.target)。

方法二:校验文件完整性
RHEL/CentOS 系:sudo rpm -V 包名;Debian/Ubuntu 系:sudo dpkg --verify 包名。若输出含“missing”或“5”(MD5 不符),表明单元文件被意外修改或删除,应重装对应软件包恢复原始 .service 文件。

CodeSnippets
CodeSnippets

CodeSnippets是一款把代码片段库和 AI 编程聊天结合起来的开发者工具。

下载

验证服务启动失败的真实原因

第一步:查看服务最近一次启动尝试的日志
sudo journalctl -u 服务名.service --since "1 hour ago" -n 100 --no-pager

重点筛查三类错误:
• “Failed to start …: Unit xxx.service not found” → 单元文件丢失或路径错误;
• “Dependency failed. Another job is queued” → 依赖项(如 network-online.target)未就绪或超时;
• “Permission denied” 或 “No such file or directory” → ExecStart 路径指向不存在的二进制,或脚本无执行权限。

第二步:模拟 systemd 启动流程
执行 sudo systemctl daemon-reload → sudo systemctl start 服务名.service,观察是否报错;
若手动启动成功但开机不启,说明问题出在启动时机或依赖链——此时运行 sudo systemctl list-dependencies --reverse --all 服务名.service,检查其是否被 multi-user.target 正确拉起。

第三步:强制触发并捕获完整初始化上下文
sudo systemd-run --scope --same-dir --shell 'journalctl -u 服务名.service -n 50 --no-pager',可绕过 unit 约束直接复现启动行为,暴露隐藏的环境变量缺失或挂载点未就绪问题。

检查关键依赖服务是否正常启用

多数后台服务依赖基础系统单元,升级后常因依赖变更失效。按顺序执行以下命令:

  1. sudo systemctl is-active network-online.target → 必须返回 active,否则网络相关服务(如 ssh、ntp)无法启动;
  2. sudo systemctl is-active local-fs.target → 必须返回 active,否则 /etc/fstab 中定义的挂载点未就绪,导致服务因配置文件路径不可达而静默退出;
  3. sudo systemctl is-active timers.target → 若服务依赖 timer 触发(如 logrotate.timer),需确认其 enabled 且 next run 时间正常。

任一依赖项非 active,均会导致目标服务跳过启动。此时不要直接 enable 目标服务,而应先修复上游依赖——例如 network-online.target 失效时,需检查 systemd-networkd 或 NetworkManager 是否被禁用,或 /etc/systemd/network/ 下配置是否与新内核网卡命名规则冲突。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

20

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

0

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

0

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

20

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

20

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

220

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

140

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

120

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

60

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习