下面从概念 → 典型结构 → 示例脚本 → 注意事项逐步说明,怎样写 CentOS 下 Cobbler 自动化脚本(通常是 Shell 脚本)。
Cobbler 脚本一般用于:
yum install -y cobbler cobbler-web dhcp tftp-server httpd
systemctl enable --now cobblerd httpd tftp dhcpd
cobbler check
cobbler sync
确保:
/etc/cobbler/settings 配置正确#!/bin/bash
set -e
# 1. 变量定义
ISO_PATH="/root/CentOS-7-x86_64-DVD.iso"
DISTRO_NAME="centos7-x86_64"
PROFILE_NAME="centos7-base"
KS_PATH="/var/lib/cobbler/kickstarts/centos7.ks"
# 2. 导入镜像
cobbler import \
--path=$ISO_PATH \
--name=$DISTRO_NAME \
--arch=x86_64
# 3. 创建 profile
cobbler profile add \
--name=$PROFILE_NAME \
--distro=$DISTRO_NAME \
--kickstart=$KS_PATH
# 4. 添加主机
cobbler system add \
--name=node01 \
--profile=$PROFILE_NAME \
--mac=00:11:22:33:44:55 \
--ip-address=192.168.1.10
# 5. 同步
cobbler sync
#!/bin/bash
set -e
ISO="/iso/CentOS-7-x86_64-DVD.iso"
DISTRO="centos7"
PROFILE="centos7-auto"
KS="/var/lib/cobbler/kickstarts/centos7.ks"
# 导入系统
cobbler import --path=$ISO --name=$DISTRO --arch=x86_64
# 添加 profile
cobbler profile add \
--name=$PROFILE \
--distro=$DISTRO \
--kickstart=$KS
# 批量添加主机
for i in {1..5}; do
cobbler system add \
--name=node$i \
--profile=$PROFILE \
--mac=52:54:00:00:00:0$i \
--ip-address=192.168.100.$((10+i))
done
cobbler sync
lang en_US.UTF-8
keyboard us
timezone Asia/Shanghai
rootpw --plaintext centos
reboot
clearpart --all --initlabel
part / --fstype=xfs --size=1 --grow
part swap --size=2048
%packages
@base
@core
%end
cobbler distro list
cobbler profile list
cobbler system list
cobbler sync
cobbler reposync
✅ 脚本中加 set -e 防止错误继续执行
✅ MAC 地址必须唯一
✅ 改完配置一定要 cobbler sync
✅ CentOS 8+/Stream 不推荐 Cobbler(已停滞)
如果你需要:
可以告诉我你的使用场景,我可以直接帮你写完整可用脚本。