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
Copy to Clipboard Toggle word wrap
但是在 kickstart 模板文件中,联网通道类似如下:
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
Copy to Clipboard Toggle word wrap
可使用在您 kickstart 侧写变量或者您系统详情变量中设定的值代入这些变量。如果在两个侧写和系统详情中定义的变量相同,则优先考虑系统变量。
有关 kickstart 模板的详情请参考 Cobbler 项目页,地址如下:

8.6.2. Kickstart 片断

如果您有可用于所有 kickstart 模板和侧写的通用配置,您可以使用 Cobbler 的片断(Snippets)功能重复使用代码。
Kickstart 片断是 kickstart 编码的部分内容,可使用 $SNIPPET() 功能调用,由 Cobbler 解析,并使用片断的内容替换那个功能调用。
例如:如果您有一个用于所有服务器的通用硬盘分区配置,比如:
clearpart --all
part /boot --fstype ext3 --size=150 --asprimary
part / --fstype ext3 --size=40000 --asprimary
part swap --recommended

part pv.00 --size=1 --grow

volgroup vg00 pv.00
logvol /var --name=var vgname=vg00 --fstype ext3 --size=5000
Copy to Clipboard Toggle word wrap
您可以使用那个片断,将其保存到某个文件(比如 my_partition),并将该文件保存到 /var/lib/cobbler/snippets/ 以便 Cobbler 可访问它们。
然后您可以通过使用您 kickstart 模板中的 $SNIPPET() 功能使用该片断。例如:
$SNIPPET('my_partition')
Copy to Clipboard Toggle word wrap
无论您在哪里调用那个功能,Cheetah 解析程序都会使用 my_partition 文件中包含的编码片断替换该功能。
有关 kickstart 片断的详情请参考 Cobbler 项目页面,地址如下:
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat