我正在使用 Kickstart 来自动化 CentOS 7 安装,并且我想创建一个通用的启动文件这样我就可以%include
了。经过一些测试后,似乎text
无法包含某些命令(例如 ),但我找不到任何列出它们的官方文档。
我在 a 中找到了一个 Kickstart 文件邮件列表线程其中说:
# These five entries must be contained in this file to be initially parsed. install cmdline lang en_US.UTF-8 keyboard us nfs --server server.my.com --dir /var/ftp/pub/kickstartes5/Redhat/
我读Anaconda 解析 Kickstart 文件,运行脚本%pre
,然后重新解析该文件。我也在pykickstart 文档在%pre
:
您可以添加命令,以便在解析 ks.cfg 并处理 lang、键盘和 url 选项后立即在系统上运行。
看起来像 Anaconda 使用Dracut 进行一些 Kickstart 解析同样,但我不确定这对 Kickstart 文件作者有什么影响......有一些代码说的是:
dracutCmds = {
'cdrom': Cdrom,
'harddrive': HardDrive,
'nfs': NFS,
'url': URL,
'updates': Updates,
'mediacheck': MediaCheck,
'driverdisk': DriverDisk,
'network': Network,
'cmdline': DisplayMode,
'graphical': DisplayMode,
'text': DisplayMode,
'bootloader': Bootloader,
}
答案1
一些 kickstart 命令代表必须处理的设置任务前主安装程序可以启动,因此它们仅在dracut
.我所知道的有:
- 设置显示模式:
text
,graphical
,cmdline
- 加载驱动盘:
driverdisk
- 加载安装程序更新:
updates
- 检查安装介质:
mediacheck
因此,这些可能无法在 中工作%include
,除非%include
目标在内部可见dracut
(例如,如果您将其注入到 initrd 中,或者将其放在与 kickstart 相同的设备上..)
如果您需要使用其中之一但它不能出现在主启动中,您可以尝试使用相应的启动选项反而:
- 设置显示模式:
inst.text
,inst.graphical
,inst.cmdline
- 加载驱动盘:
inst.dd=<url>
- 加载安装程序更新:
inst.updates=<url>
- 检查安装介质:
rd.live.check