跳转到主要内容

功能

选择仓库模式,了解包策略、签名、发布与审计功能。

SOW 用两种模式创建仓库索引。可以随时重建的包目录使用 Plain; 需要持续更新、策略、签名和发布的仓库使用 Managed。

功能对照

功能 Plain Managed
RPM 与 DEB 索引 一个目录,可包含任一种或两种格式 一个仓库,分别使用不同 Dist
持久化成员与构建快照 — 支持
分架构视图 — 支持,包含架构无关包
包排除 --pigsty 使用固定清理规则 按 Dist 配置
版本数量限制 sow prune 清理旧版 RPM 按 Dist 配置
元数据签名 — RPM 和 DEB
RPM 包签名 --sign-with never、fill、always
中断恢复 重新运行 create 或 prune 操作记录和发布尝试
操作日志与 JSONL 导出 — 支持
发布目标 — Filesystem 与 R2

SOW 自行解析包并生成索引,无需 createrepo_c、dpkg-scanpackages 或 reprepro。 RPM 包签名使用主机上的 rpm 和 GPG 环境;元数据密钥引用解析为 GPG 密钥标识时,也需要 gpg。

生成格式

格式 Plain Managed 增加的内容
RPM primary、filelists、other XML 和 repomd.xml 架构视图,可选 repomd.xml.asc
DEB Packages、Packages.gz Release、by-hash 索引,可选 InRelease、Release.gpg

RPM XML 使用 gzip 压缩。SOW 不生成 SQLite rpm-md、zchunk、modulemd 或源码包索引。 生成结果由你配置的 HTTP 服务或对象存储对外提供。 客户端细节见平台与集成。

按任务阅读

任务 文档
在现有包旁生成索引 Plain 仓库
管理持续的包更新 Managed 工作区
在不同 Dist 视图间共用包字节 包池与视图
排除软件包或保留最新版本 成员策略
为包与索引签名 签名
中断后继续执行 事务与恢复
查看状态、验证输出与读取历史 可观测与审计

Plain 平面仓库

生成平面 RPM、DEB 索引,继续中断构建,并使用签名或 Pigsty 完成标记。

Managed 工作区

工作区结构、包成员关系、配置、查找规则与初始化。

包池与元数据视图

在 RPM 与 APT 视图间共用包文件,导出独立 RPM 仓库,并交付完整仓库。

成员策略

配置包排除与版本数量限制,读取策略结果,恢复已移除成员。

签名模型

配置元数据与 RPM 包签名、引用密钥,并轮换签名身份。

事务与恢复

恢复中断的 Managed 操作,了解本地构建顺序与锁行为。

可观测与审计

查看状态、验证仓库内容、比较构建快照,并读取操作历史。

表格阅读