计算与网络
Yaoshi
整盘安装与独立系统接管
Yaoshi 将一块明确授权的整盘安装为可独立启动的 Debian 主机。安装器在 RAM 中运行,先固定目标设备,再写入预制系统并完成离线配置。安装结果与新系统的 SSH 身份分别核验;系统交付后,更新、凭据和日常管理由操作者接管。
在多盘机器上重新安装系统 操作者核对目标磁盘与公钥,只授权本次整盘安装。另一块盘保留为独立数据见证;安装后从新系统检查根卷身份与管理权限。
从一次授权得到一台独立主机
Yaoshi 采用网络启动进入内存安装器。控制端提供启动文件、预制根文件系统和当前设备视图;终端界面负责选择机器、整盘与接管公钥。进入安装器或发现磁盘,本身都不会授权改写设备。
最终交付的是可从本地磁盘启动的 Debian 系统,包含选定软件包与原生初始化策略。安装器、控制端和界面不构成后续管理依赖;系统更新、凭据维护和日常运行由操作者接管。
把产品制作与目标安装分开
安装材料由两部分组成:在内存中运行的安装器,以及压缩的系统根文件镜像(Rootfs,采用 ext4 文件系统)。软件包从固定且经过认证的 Debian 输入解析;额外软件包只改变根文件镜像,可继续使用兼容的同一套安装器。
目标安装只使用已准备完整的材料,不在写盘过程中访问软件仓库,也不执行目标根目录里的程序。紧凑的根文件镜像按实际展开长度写入,新系统首次启动再由原生机制扩展文件系统。
| 产品 | 包含什么 | 在何时使用 |
|---|---|---|
| 内存安装器 | 安装代理、官方内核与匹配驱动、原生安装工具 | 发现目标并执行本次安装。 |
| 根文件镜像(Rootfs) | 系统包、启动材料与原生初始化策略 | 流式写入目标系统分区。 |
| 本次授权 | 本次启动标识、整盘身份与接管公钥 | 限定这次可改写的对象与接管身份。 |
让安装材料、整盘授权与接管凭据对应
准备安装时,操作者需要已完成的安装器与 Rootfs、当前机器的启动身份、明确的目标整盘,以及规范化的 Ed25519 公钥。公钥决定新系统接纳哪把密钥;私钥留在操作者一侧,供之后独立连接 SSH,不随安装材料下发。
目标不是一个可能变化的设备路径。确认界面中的身份、扇区与容量后,代理仍要以保留的实际设备对象核对当前磁盘。重新插拔、同名替换或占用关系变化,都不能沿用此前对另一块盘的判断。
检查完整材料
在授权写盘前确认安装器与根文件镜像已经准备完成,并保留它们对应的内容身份。
确认本次目标
将当前机器、整盘、公钥和破坏范围作为同一次决定审阅,再提交明确授权。
保留接管依据
记录这次安装的预期根卷 UUID 与原启动身份,后续按该安装身份检查新系统。
在首次写盘前固定目标
界面展示完整磁盘身份、容量、扇区大小与对齐条件、公钥及数据损失范围,操作者输入指定确认文本后才提交。安装代理继续核对内核中保留的实际磁盘对象、占用与分区关系;同名设备或相近容量不能继承原授权。
安装建立 GPT 分区表、一个 EFI 启动分区(512 MiB、FAT32),以及使用剩余对齐空间的 ext4 系统分区。根系统边解压边写入,完整压缩摘要到流结束时才能确认,因此后期校验失败时旧系统可能已经被破坏。分区替换与单独的布局清理都不代表安全擦除。
预检
核对本次启动、目标盘、公钥、容量、工具与固件条件。
写入
建立分区,接收并核验压缩内容,记录实际写入字节。
配置
写入本次身份与启动文件,建立明确的本地启动选择。
收尾
完成同步、卸载与原生任务清理,才报告离线完成。
安装完成与接管成功分别确认
控制端接纳授权、安装代理开始安装、离线安装完成以及 SSH 接管,是不同观察。离线成功要求相关写入与清理结束,但还不能证明固件已启动新系统、取得新租约或允许登录。
显式接管检查连接操作者确认的当前地址,使用已授权密钥核对管理员权限(UID 0)、预期根文件系统的唯一标识(UUID),以及区别于安装器的新启动标识。已有匹配身份时,即使最终报告丢失也可以检查;检查结果仍保留离线结果原本的已知或未知状态。
| 结果 | 含义 | 不能据此推断 |
|---|---|---|
| 授权已接纳 | 本次安装机会已分配 | 安装代理已经开始写盘。 |
| 离线安装成功 | 系统写入、配置与收尾完成 | 新系统已经启动或可登录。 |
| SSH 接管已验证 | 当前进入预期新系统并取得系统管理员权限 | 丢失的安装报告已补回。 |
安装报告中断后,先找回原来的事实
提交后没有收到确定答复时,先读取当前代理保留的授权,比较磁盘与公钥是否属于原决定。此时不能通过再次点击安装来“确认”上一次是否发生;每次安装器启动的一次机会,已经可能被原请求使用。
如果原安装已分配预期根卷 UUID,便可在操作者确认的当前地址执行独立接管检查。该检查只读取管理员身份、根卷 UUID 和启动标识,不修改目标系统,也不把离线阶段的失败或未知改写为成功。
可以确认:当前系统与原安装身份一致
管理员权限、预期根卷 UUID 与新的启动标识同时匹配,才能支持本次独立 SSH 接管的结论。
不能推断:界面关闭即写盘已取消
已经接纳的安装由代理继续持有。终端或控制连接消失不撤销磁盘任务,也不证明磁盘保持原状。
继续核对:只有离线成功报告
还需观察实际固件启动和独立 SSH 接管,才能知道新系统是否可以交给操作者管理。
未知结果需要现场证据
安装器每次启动只能接纳一次安装授权,预检拒绝或后续失败也不会自动获得第二次机会。终端退出、报告丢失与控制端停止不取消已经接受的磁盘任务;传输失败后必须停止后续写入并等待实际任务清理。
设计中的验证场景覆盖非目标盘字节保留、不同扇区大小与对齐条件、写入中断、固件启动和控制端停止后的 SSH 接管。它们规定需要取得哪些证据,具体机器是否满足条件仍取决于对应执行记录与实际硬件。