8.6. Cobbler 模板
在 RHN Satellite 网页界面中有可用来生成使用 kickstart 发布和侧写变量的工具。例如:要生成 kickstart 侧写变量,请参考 第 4.4.9.3.3 节 “Kickstart 详情 ⇒ 变量”。
Kickstart 变量是 Satellite 中更改结构的一部分,可支持 kickstart 文件中的模板。在 kickstart 文件的上下文中,模板是包含用于构建实际 kickstart 文件描述的文件,而不是用来生成具体的 kickstart。
然后可在拥有其自身变量和对应值的不同侧写和系统间共享这些模板。这些变量修改模板,名为模板引擎 的软件将模板和变量值解析为可用的 kickstart 文件。Cobbler 使用名为 Cheetah 的高级模板引擎提供对模板、变量以及片段的支持。
使用模板的优点包括:
- 鲁棒功能可允许管理员在没有重复工作的情况下生成和管理大量侧写或者系统,或者手动为每个具体情况生成 kickstart。
- 虽然模板可以很复杂并包含回路、条件和其他改进的功能和语法,它仍可用来生成不复杂的 kickstart 文件。
8.6.1. 使用模板 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Kickstart 模板可有某些常用项目静态值,比如 PXE 映像文件名、子网地址以及常用路径,比如
/etc/sysconfig/network-scripts/
。但模板和标准 kickstart 文件的不同是对变量的使用。
例如:标准 kickstart 文件有类似如下的联网信息:
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
但是在 kickstart 模板文件中,联网通道类似如下:
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
可使用在您 kickstart 侧写变量或者您系统详情变量中设定的值代入这些变量。如果在两个侧写和系统详情中定义的变量相同,则优先考虑系统变量。
有关 kickstart 模板的详情请参考 Cobbler 项目页,地址如下:
8.6.2. Kickstart 片断 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您有可用于所有 kickstart 模板和侧写的通用配置,您可以使用 Cobbler 的片断(Snippets)功能重复使用代码。
Kickstart 片断是 kickstart 编码的部分内容,可使用
$SNIPPET()
功能调用,由 Cobbler 解析,并使用片断的内容替换那个功能调用。
例如:如果您有一个用于所有服务器的通用硬盘分区配置,比如:
您可以使用那个片断,将其保存到某个文件(比如
my_partition
),并将该文件保存到 /var/lib/cobbler/snippets/
以便 Cobbler 可访问它们。
然后您可以通过使用您 kickstart 模板中的
$SNIPPET()
功能使用该片断。例如:
$SNIPPET('my_partition')
$SNIPPET('my_partition')
无论您在哪里调用那个功能,Cheetah 解析程序都会使用
my_partition
文件中包含的编码片断替换该功能。
有关 kickstart 片断的详情请参考 Cobbler 项目页面,地址如下: