一、前置准备:安装与配置Cobbler基础环境 在自定义Debian Cobbler模板前,需确保Cobbler核心服务及依赖已正确安装并运行。
sudo apt update && sudo apt install cobbler cobbler-web dhcp3-server tftpd-hpa xinetd,安装Cobbler主程序、Web界面、DHCP/TFTP服务工具。sudo systemctl start cobblerd && sudo systemctl enable cobblerd启动Cobbler守护进程,并设置为开机自启。cobbler setting edit命令设置关键参数,例如--nameserver(DNS服务器地址)、--next_server(PXE引导服务器IP,通常与Cobbler服务器IP一致),确保存储库路径(如/var/www/cobbler)可访问。二、自定义Debian Cobbler模板的核心步骤
DHCP模板决定了客户端通过网络获取IP及引导文件的方式。编辑/etc/cobbler/dhcp.template文件,修改以下内容:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # 动态IP分配范围
option routers 192.168.1.1; # 网关地址
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器
filename "/pxelinux.0"; # PXE引导文件路径(Debian默认)
next-server 192.168.1.10; # Cobbler服务器IP(与settings中一致)
}
修改完成后,执行sudo cobbler sync同步配置,使DHCP模板生效。
Kickstart模板是Debian系统自动安装的核心,支持Jinja2变量实现动态配置。默认路径为/var/lib/cobbler/kickstarts/,创建或编辑模板文件(如debian-ks.cfg):
#version=DEBIAN_11
lang en_US.UTF-8
keyboard us
timezone UTC
rootpw --plaintext your_root_password # 或使用加密密码(如`mkpasswd -m sha-512`生成)
bootloader --location=mbr --driveorder=sda
# 磁盘分区(可根据需求调整)
clearpart --all --initlabel
part /boot --fstype=ext4 --size=500
part pv.01 --size=1 --grow
volgroup vg01 --pesize=4096 pv.01
logvol / --fstype=ext4 --name=root --vgname=vg01 --size=1 --grow
logvol swap --fstype=swap --name=swap --vgname=vg01 --size=1024
# 软件包选择(@^minimal表示最小化安装,@core为核心组件)
%packages
@^minimal
@core
vim
git
curl
%end
# 安装后脚本(如添加用户、配置服务)
%post
echo "Custom post-install script: System initialized on $(date)" >> /etc/rc.local
chmod +x /etc/rc.local
%end
关键说明:
{{ variable }}语法引用变量(如{{ root_password }}),可通过Cobbler系统配置动态传入值;part命令)需根据磁盘大小调整,避免空间浪费。TFTP模板定义了客户端获取PXE引导文件的路径。编辑/etc/cobbler/tftpd.template,确保server_args指向正确的根目录:
server_args -s /var/lib/tftpboot
修改后执行sudo cobbler sync,TFTP服务会自动加载新的路径配置。
将Debian ISO镜像导入Cobbler,生成可用的发行版配置:
# 创建挂载目录并挂载ISO
sudo mkdir -p /mnt/debian_iso
sudo mount -o loop /path/to/debian-11.7.0-amd64-netinst.iso /mnt/debian_iso
# 导入ISO到Cobbler(名称自定义,如"debian-11")
sudo cobbler import --path /mnt/debian_iso --name debian-11 --arch amd64
# 卸载ISO
sudo umount /mnt/debian_iso
导入后,Cobbler会自动解压ISO文件到/var/www/cobbler/ks_mirror/debian-11/目录。
通过cobbler system add命令创建系统配置,关联之前定制的Kickstart模板和网络参数:
sudo cobbler system add \
--name debian-client1 \ # 系统名称(自定义)
--profile debian-11 \ # 关联导入的发行版配置
--mac 00:11:22:33:44:55 \ # 客户端MAC地址(需与物理机/虚拟机一致)
--ip-address 192.168.1.101 \ # 静态IP(若用DHCP可省略)
--subnet 255.255.255.0 \ # 子网掩码
--gateway 192.168.1.1 \ # 网关
--hostname debian-client1.example.com \ # 主机名
--kickstart /var/lib/cobbler/kickstarts/debian-ks.cfg # 关联Kickstart模板
可选:若需启用PXE启动,执行sudo cobbler system edit --name debian-client1 --netboot-enabled true。
三、验证与测试自定义模板
sudo cobbler check,确认无错误提示(如“No configuration problems found”)。sudo cobbler sync使更改生效。注意事项
/etc/cobbler/dhcp.template、/var/lib/cobbler/kickstarts/debian-ks.cfg),避免修改出错无法恢复;mkpasswd -m sha-512生成(如rootpw --iscrypted $6$...)。