教程
这里的教程涵盖新建 Managed 工作区与迁移已有 Plain 仓库。请按顺序执行命令,并按你的环境 替换大写占位符与包路径。
替换平面仓库的元数据生成工具,同时保留发布时间、签名,以及与已有元数据缓存客户端的兼容性。
托管 RPM 仓库:分架构视图、noarch 中性投影、debuginfo 过滤、版本数量上限,以及可用的 dnf 客户端配置。
托管 DEB 仓库:Debian 风格包池、by-hash 索引与 deb822 客户端配置。
生成专用 GPG 签名钥,为仓库元数据与 RPM 包签名,并配置客户端拒绝一切未签名内容。
用 Nginx 服务 Repository,并把已校验 Generation 发布到配置好的 filesystem target, 同时避免暴露工作区私有状态。
把 infra-pkg 已产出的双架构 RPM 与 DEB 组织成真实仓库,并演练本地安装、滚动更新、 Stable 晋升与月度快照。
先看哪篇
| 你的处境 | 从这里开始 |
|---|---|
| 已使用 createrepo_c 维护平面 RPM 目录 | 迁移现有 YUM 仓库 |
| 你要向 dnf 客户端分发 RPM | 搭建 YUM 仓库 |
| 你要为 Debian 或 Ubuntu 分发 DEB | 搭建 APT 仓库 |
| 需要已签名元数据或已签名 RPM 包体 | 仓库签名 |
| 树已经建好,但外部无法访问 | 对外服务 |
| 想把现有双架构包池变成可维护的 Infra 仓库 | 演练构建 pigsty-infra 仓库 |
YUM 与 APT 两篇是彼此独立的全新 Workspace 路径。实际使用中,如果它们适合共用同一所有权 边界,一个 Workspace 的同一 Repository 可以同时容纳 RPM 与 DEB Dist。
本板块约定
Shell 代码块里的命令不带 $ 提示符,方便整块复制。输出单独成块放在命令下方,只有一行时用注释
标注。需要你自行替换的值一律写成 大写。
每篇教程都有验证步骤。Managed 模式通过 sow check 返回 0,确认所选 Repository 完整且
与记录的 Generation 一致。Plain 模式按迁移指南验证元数据、签名和真实客户端行为;
sow check 不用于检查平面目录。
搭建 YUM 仓库
创建托管 RPM 仓库,配置成员策略,对外服务并接入 dnf。
迁移已有 YUM 仓库
将已有平面 RPM 仓库切换至 SOW,保留客户端缓存兼容性、软件包信任与发布时钟。
搭建 APT 仓库
创建带 by-hash 索引的托管 DEB 仓库,并配置 APT 客户端。
仓库签名
签署 RPM 与 APT 元数据,可选签署 RPM 包体,并启用客户端验签。
服务与发布仓库
用 Nginx 服务公共 Repository,并把已校验 Generation 发布到 filesystem target。
演练构建 pigsty-infra 仓库
把既有的双架构 RPM 与 DEB 包池组织成 infra 仓库,完成本地安装验收、滚动更新、Stable 晋升与月度快照。