总体思路与适用场景
- Cobbler 的定位是自动化安装与镜像分发,并非持续性的系统补丁/升级引擎。对 Ubuntu 的“更新管理”通常有三种落地方式:
- 在已装系统上用 APT 做日常更新与版本升级;
- 通过 Cobbler 重装/重建 的方式批量获得“更新后的系统镜像”(重建即更新);
- 在 Cobbler 管理的镜像源 层面做更新(导入新版 ISO 或刷新仓库元数据),再配合重装/重建分发。上述做法中,方式1是 Ubuntu 官方推荐;方式2/3是利用 Cobbler 的批量与一致性优势来落地更新。
方式一 在已装 Ubuntu 上执行 APT 更新与版本升级
- 日常补丁更新
- 执行:
sudo apt update && sudo apt upgrade -y
- 查看可升级包:
apt list --upgradable
- 发行版内重大更新(仍在同一主版本)
- 执行:
sudo apt dist-upgrade -y
- 跨版本升级(如 20.04 → 22.04)
- 安装升级工具:
sudo apt install update-manager-core
- 配置升级策略:
sudo nano /etc/update-manager/release-upgrades,将 Prompt 设为 lts 或 normal
- 检查并升级:
sudo do-release-upgrade -c(检查);sudo do-release-upgrade(执行)
- 完成后重启:
sudo reboot
- 说明:这是 Ubuntu 的标准更新路径,适用于绝大多数场景;Cobbler 不直接承担此过程。
方式二 通过 Cobbler 重装或重建实现批量更新
- 适用:需要让一批机器快速获得“最新镜像/补丁基线”的场景(例如安全合规、版本统一)。
- 基本流程
- 准备新版镜像
- 下载 Ubuntu Server 新版本 ISO(如 22.04/24.04),放置于可访问路径(如 /tmp/ubuntu-22.04.iso)。
- 导入为新的 Distro/Profile
- 导入:
sudo cobbler import --path /tmp/ --name ubuntu-22.04
- 查看:
cobbler distro list、cobbler profile list
- 关联或创建 Kickstart
- 使用现有 Kickstart:
sudo cobbler profile add --name ubuntu-22.04 --kickstart /var/lib/cobbler/kickstarts/default.seed
- 如需定制,先编辑 Kickstart 再关联。
- 为需要更新的主机创建/更新 System 条目
- 新建:
sudo cobbler system add --name host01 --profile ubuntu-22.04 --mac 00:11:22:33:44:55
- 或更新:
sudo cobbler system edit --name host01 --profile ubuntu-22.04
- 使配置生效
- 客户端 PXE 启动进入安装
- 在目标主机设置 PXE 启动,Cobbler 将按新 Profile 自动重装系统,从而“更新到新镜像/基线”。
- 说明:Cobbler 通过“重建系统”来落地更新,适合批量、一致性的交付;但它不是实时补丁管理工具。
方式三 在 Cobbler 镜像源层面做更新
- 导入新版 ISO
- 获取新版 Ubuntu ISO,执行:
sudo cobbler import --path /tmp/ --name ubuntu-24.04,随后 cobbler sync。导入后,新的 Profile/System 即可基于新镜像进行安装或重装。
- 刷新仓库元数据(适用于使用 APT 仓库的场景)
- 若通过 Cobbler 管理 APT 镜像/仓库,可使用
cobbler repo 管理源并刷新元数据,例如:
- 添加/更新源:
sudo cobbler repo --name=ubuntu-22.04 --baseurl=http://archive.ubuntu.com/ubuntu/ --mirror=rsync://archive.ubuntu.com/ubuntu/ --breed=apt
- 刷新:
sudo cobbler reposync
- 在客户端将 APT 源指向 Cobbler 提供的镜像,再执行
apt update/upgrade 获取更新。
- 说明:镜像源层面的更新配合方式一(APT)或方式二(重装)使用,可缩短客户端获取更新的时间窗口。
实践建议与注意事项
- 变更前务必做好备份与变更窗口规划;跨版本升级前在测试环境验证关键业务。
- 批量重装/重建会影响业务连续性,建议按分组/批次滚动执行,并准备回滚方案(如保留旧镜像与 Profile)。
- 若仅需补丁,优先在已装系统上执行 APT 更新;若需统一基线或跨版本,采用 Cobbler 重装/重建 更可控。
- 保持 Cobbler 服务器 与 导入镜像 的版本一致性与可追溯性(命名规范、变更记录、镜像校验)。