备份关键配置与数据
升级前务必备份Cobbler的核心配置文件和数据,避免升级失败导致数据丢失。主要备份内容包括:
/etc/cobbler/cobbler.conf(使用sudo cp /etc/cobbler/cobbler.conf /etc/cobbler/cobbler.conf.bak命令);/var/www/cobbler/repo_mirror/目录下的镜像文件)。检查系统与Cobbler版本兼容性
cat /etc/redhat-release),确保目标Cobbler版本支持该系统;更新系统基础软件包
升级前先将系统及现有Cobbler相关软件包更新至最新稳定版,避免依赖冲突:
sudo yum update -y
sudo yum update cobbler cobbler-web cobbler-api -y
若旧版本是通过yum安装的,可先卸载以避免残留文件冲突:
sudo yum remove -y cobbler cobbler-web cobbler-api
卸载后需保留配置文件(如/etc/cobbler/cobbler.conf),避免重新配置。
方式一:通过YUM直接升级(推荐,适用于官方仓库有新版本的情况)
若CentOS官方仓库或EPEL仓库已提供目标版本的Cobbler,可直接使用yum升级:
sudo yum install -y cobbler cobbler-web cobbler-api
此方式会自动处理依赖关系,升级后保留原有配置。
方式二:手动下载源码编译安装(适用于官方仓库无新版本的情况)
https://github.com/cobbler/cobbler/releases),下载所需版本的源码包(如cobbler-3.0.0.tar.gz);sudo tar -zxvf cobbler-3.0.0.tar.gz -C /usr/src/
cd /usr/src/cobbler-3.0.0
sudo ./configure --with-web=/usr/share/cobbler/web
sudo make
sudo make install
cobbler --version
升级后需同步配置,使新版本生效:
sudo cobbler sync
此命令会更新Cobbler的仓库元数据、Kickstart模板等配置。
根据系统初始化方式(SysVinit/systemd),重启Cobbler及依赖服务:
sudo systemctl restart cobblerd
sudo systemctl restart httpd # Cobbler Web界面依赖
sudo systemctl restart xinetd # TFTP服务依赖
sudo service cobblerd restart
sudo service httpd restart
sudo service xinetd restart
检查Cobbler服务状态
确保所有服务正常运行:
sudo systemctl status cobblerd
sudo systemctl status httpd
sudo systemctl status xinetd
若服务未启动,需排查日志(journalctl -xe或/var/log/cobbler/cobbler.log)解决问题。
验证版本升级结果
运行以下命令确认Cobbler已升级至目标版本:
cobbler --version
输出应显示新版本号(如Cobbler 3.0.0)。
测试客户端部署
选择一个已注册的Cobbler客户端,执行cobbler system update命令更新系统,验证新版本是否能正常部署操作系统:
sudo cobbler system update --name=test-client --ip-address=192.168.1.100 --force
观察客户端是否能自动下载新镜像并完成升级。