Ubuntu 环境下更新 Cobbler 镜像的实用步骤
一、先明确要更新的内容
- 更新安装介质:替换用于 PXE 安装的 Ubuntu ISO 内容(即更新 Distro/安装树),让新装系统获取最新安装器与包。
- 更新软件源镜像:刷新 APT 仓库镜像(供已装系统或安装过程中 apt 使用),保持软件包为最新。Cobbler 可管理镜像与仓库,但本身不是系统更新工具,更新系统应在安装后通过包管理完成。
二、更新安装介质 Distro(ISO 导入方式)
- 准备新版 Ubuntu Server ISO,挂载或放置在可访问路径,例如 /tmp/ubuntu-22.04.4.iso。
- 导入为新发行版(避免与旧名冲突,可用版本号或时间戳后缀):
- 示例:sudo cobbler import --path=/tmp/ --name=ubuntu-22.04.4
- 如需保留旧版本,可先复制现有 Profile 指向新 Distro,再调整默认启动项:
- 查看:cobbler distro list、cobbler profile list
- 复制:cobbler profile copy --name=ubuntu-22.04 --newname=ubuntu-22.04.4
- 绑定:cobbler profile edit --name=ubuntu-22.04.4 --distro=ubuntu-22.04.4
- 设为默认(可选):cobbler system add --name=default --profile=ubuntu-22.04.4 --netboot-enabled=true
- 使变更生效:sudo cobbler sync
- 验证:检查新菜单项与安装源是否正常,必要时重启相关服务(cobblerd、tftp、dhcp)。
三、更新安装介质 Distro(挂载 ISO 方式,便于精控)
- 挂载 ISO 并导入:
- sudo mount -o loop /tmp/ubuntu-22.04.4.iso /mnt
- sudo cobbler import --path=/mnt --name=ubuntu-22.04.4
- 同步并验证:sudo cobbler sync;检查生成的 /var/www/cobbler/ks_mirror/… 安装树与 /var/lib/tftpboot 引导文件是否就绪。
四、更新 APT 软件源镜像(离线或内网场景)
- 使用 debmirror(Cobbler 可集成)定期同步官方或镜像站到本地目录,例如 /mirror/ubuntu/:
- 示例(以 focal 为例,按需替换版本与架构):
- nohup /usr/bin/debmirror --progress --nocleanup --ignore-release-gpg
-e rsync --host=mirrors.tuna.tsinghua.edu.cn --root=/ubuntu
–dist=focal,focal-updates,focal-security
–section=main,restricted,universe,multiverse
/mirror/ubuntu/focal-amd64 --nosource -a amd64 \
/mirror/ubuntu/focal-amd64.log 2>&1 &
- 在 Cobbler 中将该本地目录添加为 Repository,并在对应 Profile 里启用,安装时即可使用本地高速源;已装机器也可将 /etc/apt/sources.list 指向该本地源进行升级。
五、变更后验证与常见问题
- 变更后务必执行:sudo cobbler sync,必要时重启 cobblerd、tftp、dhcp 服务,确保 PXE 菜单与引导文件为最新。
- 若使用 debmirror 出现签名或协议问题,可检查是否需调整 GPG 校验、协议(rsync/https)与本地目录权限;定期清理日志与过期包以控制磁盘占用。