目录

KylinBootDoctor

面向 openKylin 客户端的启动性能采集、规则分析、安全优化、功能验证与回滚工具。

本项目是“openKylin 操作系统启动性能分析与优化”赛题的最低可交付实现。它不修改内核、不关闭图形桌面、不依赖专有硬件,也不需要安装 Python 第三方库。

已实现功能

  • 使用 systemd-analyze 采集启动总时间、慢服务和关键链。
  • 记录显示管理器进入 active 状态的时间。
  • 通过 XDG Autostart 记录登录后桌面面板就绪时间。
  • 自动生成 JSON、Markdown、CSV 和 systemd SVG 启动图。
  • 将 NetworkManager 在线等待上限安全限制为 5 秒。
  • 检查图形登录、D-Bus、NetworkManager、桌面面板和常用应用。
  • 自动备份系统配置并支持一键回滚。
  • 根据真实数据自动生成技术报告。

最短运行流程

chmod +x kboot.sh scripts/*.sh
./kboot.sh install-marker
sudo reboot

重新登录桌面并等待 15 秒:

cd ~/Desktop/KylinBootDoctor   # 按你的实际目录修改
./kboot.sh collect baseline
sudo ./kboot.sh optimize
sudo reboot

再次登录并等待 15 秒:

cd ~/Desktop/KylinBootDoctor
./kboot.sh collect optimized
./kboot.sh verify
./kboot.sh compare
./kboot.sh test

命令说明

./kboot.sh install-marker       安装桌面可用时间记录器
./kboot.sh collect baseline     采集优化前数据
sudo ./kboot.sh optimize        应用保守优化
./kboot.sh collect optimized    采集优化后数据
./kboot.sh verify               生成基本功能检查表
./kboot.sh compare              生成对比结果和技术报告
sudo ./kboot.sh rollback        恢复优化前配置
./kboot.sh test                 运行测试

安全说明

optimize 不会关闭 NetworkManager。它只为 NetworkManager-wait-online.service 创建一个 systemd drop-in,把最长在线等待时间限制为 5 秒。原配置保存在 /var/lib/kylin-boot-doctor/backups/。如果出现问题,运行:

sudo ./kboot.sh rollback
sudo reboot

项目结构

KylinBootDoctor/
├── kboot.sh
├── scripts/       采集、分析、优化、回滚脚本
├── tests/         Python 单元测试
├── .gitignore
├── LICENSE
└── README.md

开源许可

MIT License,详见 LICENSE

关于
237.4 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号