系统镜像制作自动化需求文档(最终版)
目录名称:OS&App/Proxy
- clean-login-data.sh
- pure-app-custom.sh
版本:2.0
适用系统:Ubuntu 26.04 LTS 及同系列 Linux 发行版(x86-64)
目标:智能体根据当前系统配置,动态生成并执行系统镜像制作脚本,支持dd+gzip和fsarchiver两种工具(用户可选)
约束:不写死任何磁盘路径,所有设备名、挂载点均由脚本运行时动态获取
一、总体目标 #
为 Ubuntu 系统制作一份可移植的系统镜像,用于批量部署到其他 x86-64 电脑。智能体需完成以下工作:
- 自动探测当前系统的磁盘、分区、引导模式、文件系统等。
- 交互选择目标存储设备、备份工具(
dd或fsarchiver)。 - 动态生成适配当前系统的备份脚本(不含任何硬编码路径)。
- 执行备份,并将镜像文件、系统信息、恢复指南保存到用户指定的外部存储。
- 输出完整恢复手册,便于在目标机器上还原系统。
二、核心原则 #
| 原则 | 说明 |
|---|---|
| 动态探测 | 所有设备名(/dev/sdX)、分区号、挂载点均由脚本运行时解析,绝不写死。 |
| 双工具可选 | 用户可在 dd+gzip(传统块级复制)和 fsarchiver(文件级备份,支持异机恢复)之间选择。 |
| 交互确认 | 关键操作(目标盘选择、覆盖确认、空间警告)需用户明确确认。 |
| 日志完整 | 所有操作记录到日志文件,便于排查。 |
| 幂等性 | 脚本可重复执行,不会破坏已有备份(每次生成新时间戳目录)。 |
三、推荐工具对比 #
| 特性 | dd + gzip | fsarchiver |
|---|---|---|
| 原理 | 块级复制(逐扇区) | 文件系统级备份(只备份文件数据) |
| 分区大小要求 | 目标分区 ≥ 源分区 | 目标分区 ≥ 源数据量(可灵活调整) |
| 压缩支持 | 通过管道调用 gzip/pigz | 内置压缩(gzip/lzo/lzma) |
| 多核加速 | 需额外安装 pigz | 原生支持多线程 |
| 校验和 | 无内建校验(可手动生成) | 每个文件带校验和 |
| 恢复灵活性 | 只能整分区恢复 | 可恢复单个文件(但不推荐) |
| 依赖 | dd、gzip(系统自带) | 需单独安装 fsarchiver |
推荐策略:
- 若目标电脑硬件规格完全相同(硬盘大小一致),使用
dd方式简单可靠。 - 若目标电脑硬盘大小不一或需灵活调整分区,推荐
fsarchiver。
智能体应提供选项菜单,让用户根据场景选择。
四、智能体工作流程 #
阶段一:系统探测(自动执行) #
智能体需执行以下探测任务,并将结果作为生成脚本的参数。
4.1 磁盘与分区探测 #
# 获取所有磁盘及分区信息(树状显示)
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE,MODEL
# 获取详细分区表(含分区类型标识)
sudo fdisk -l
# 获取分区 UUID、文件系统标签
sudo blkid