搭建 YUM 仓库
建一个托管 RPM 仓库:分架构视图、噪声过滤,以及可用的 dnf 客户端配置。
这里的每篇教程都是一次完整的旅程:从零开始,按顺序执行每条命令,最后得到一个真实 dnf 或
apt 客户端可以消费的仓库。命令可以直接复制执行,输出块全部来自真实运行记录。
如果还没装 SOW,先看安装与快速上手 ——那两篇能在五分钟内做出一个可用的平面仓库。下面的教程从那里接手,搭出生产形态。
| 你的处境 | 从这里开始 |
|---|---|
| 你要为 EL8 / EL9 / EL10 分发 RPM | 搭建 YUM 仓库 |
| 你要为 Debian 或 Ubuntu 分发 DEB | 搭建 APT 仓库 |
| 仓库已经有了,但客户端抱怨没签名 | 仓库签名 |
| 树已经建好,但外面访问不到 | 对外服务 |
你手上有 createrepo_c 定时任务或 reprepro 数据库 | 迁移 |
YUM 与 APT 两篇共用同一个工作区,按顺序读最顺:APT 篇会往 YUM 篇建好的仓库里再加一个 Dist。 单独看任何一篇也可以,每篇都写明了自己的前置条件。
Shell 代码块里的命令不带 $ 提示符,方便整块复制。输出单独成块放在命令下方,只有一行时用注释
标注。需要你自行替换的值一律写成 大写。
每篇教程结尾都有验证步骤。验证不过就别往下走——下一步默认上一步已经产出了对应状态。
sow check 是说真话的那道闸:退出码 0 表示整棵树完整、可以直接拷贝,退出码 5 表示不行。
建一个托管 RPM 仓库:分架构视图、噪声过滤,以及可用的 dnf 客户端配置。
建一个托管 DEB 仓库:Debian 风格包池、by-hash 索引,以及 deb822 与传统两套客户端配置。
生成专用 GPG 签名钥,为仓库元数据与 RPM 包签名,并配置客户端拒绝一切未签名内容。
用 Nginx 通过 HTTP 发布仓库、本地临时预览,以及在不丢去重的前提下拷到隔离主机。
就地接管已有仓库,或把 reprepro 归档搬进工作区,附真实的逐项差异对照。