Kickstart 无人值守安装
Kickstart 的思路是把安装向导里所有需要人工回答的问题预先写进一份应答文件,装机时让安装程序自动读取并执行。应答文件里声明语言与时区、分区方案、网络参数、账户口令与要安装的软件集,安装过程无需人工干预,几十台机器可以按完全一致的基线铺开。麒麟、统信与 openEuler 使用的安装程序都支持这套机制,批量交付场景里它是把「人工装机」变成「标准化生产」的关键手段。
基本信息
| 配置文件 | 应答文件,可用装机后生成的示例文件作模板 |
|---|---|
| 触发方式 | 在引导参数里指定应答文件地址 |
| 地址形式 | 支持网络地址或本地介质路径 |
| 语法检查 | 使用校验工具先检查文件语法 |
| 软件集 | 用软件包段落声明要安装的软件组 |
| 适用平台 | Kylin V10 / UOS 服务器版 / openEuler 的安装程序 |
典型使用场景
- 批量交付:几十台服务器按同一份应答文件铺装,环境完全一致
- 标准化基线:分区、账户、软件集统一,减少配置漂移
- 离线机房:应答文件放在本地介质上,不依赖外网
- 快速重建:机器损坏后按同一模板重装,缩短恢复时间
- 版本迭代:应答文件纳入版本管理,变更可追溯
- 验收配合:装机即完成基础配置,减少后续手工调整
最小应答文件片段
最小应答文件片段
lang zh_CN.UTF-8 # 语言与时区
# 时区以 UTC 作为硬件时钟基准
timezone Asia/Shanghai --utc
rootpw --iscrypted $6$... # 口令用哈希写入,避免明文
# 分区方案:引导分区独立,其余按业务规划
ignoredisk --only-use=sda
# 网络参数
network --bootproto=dhcp --activate
%packages
@^minimal-environment
%end引导参数与校验
引导参数与校验
# 引导时传入应答文件地址(示意,按实际介质与路径调整)
# inst.ks=http://10.0.0.10/ks/kylin-ks.cfg
# 从本地介质读取:inst.ks=hd:sdb1:/ks.cfg
openssl passwd -6 'your-password' # 生成哈希,填入应答文件
ksvalidator ks.cfg # 装机前先做语法检查
# 首次验证务必在测试机上跑通再批量使用关键指令读法
| 指令 | 作用 | 注意点 |
|---|---|---|
| 语言与时区 | 设置系统区域与时间基准 | 集群环境建议统一 |
| 分区类指令 | 声明引导与数据分区 | 容量写错会导致安装失败 |
| 清盘类指令 | 初始化磁盘标签 | 批量执行前必须先在测试机验证 |
| 网络参数 | 声明地址获取方式 | 与规划保持一致 |
| 账户口令 | 设置管理账号 | 使用哈希形式,避免明文 |
| 软件集 | 声明要安装的软件组 | 最小化安装体积小、暴露面小 |
管理账号口令不要用明文形式写入应答文件:明文会留在安装日志与文件本身,等于把最高权限口令散落在磁盘上。应先用口令哈希工具生成哈希,再填入文件并做好文件本身的访问控制与分发管理。
应答文件里的清盘类指令威力很大,写错盘符会连数据盘一起清掉。规范做法是先在一台测试机上完整验证,确认分区布局、引导方式与软件集都符合预期,再用于批量交付;文件纳入版本管理,变更留痕。