这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

SOW 博客

发布注记与项目动态

SOW 的发布注记、设计札记与项目动态 —— Pigsty 出品的自包含 APT / YUM 软件仓库管理器。

发布注记

SOW 各版本的发布说明,按时间从新到旧排列。

每个 SOW 版本在这里都有一页:改了什么、对已有仓库意味着什么、以及去哪里读更多。

SOW v0.2.0:单包体仓库

SOW v0.2.0 确立单包体布局、显式发布目标、保留、GC 与 RPM 兼容导出。

文档发布日期: 2026-08-08 · 版本: sow 0.2.0 · Release: GitHub Draft

SOW 是 Pigsty 出品的自包含软件仓库管理器。一个静态 Go 二进制 即可在 Linux 与 macOS 上创建维护 APT(DEB)与 YUM(RPM)仓库,无需调用 createrepo_cdpkg-scanpackagesreprepro

v0.2.0 布局

Managed 仓库现在只有一个规范包体属主。每个包体只在 pool/ 下出现一次;dists/ 只含 APT/RPM 元数据视图。rpm-md 通过计算出的相对 href 访问根包池,APT 使用相对 archive 根的 Filename

这取代了视图级硬链接 C2 原型。该原型从未成为公共产品 Release。公共版本历史是 v0.1.0 之后直接到 v0.2.0;sow.cli/v1sow/v3 之类名称是 Wire/Schema 标识,不是产品版本。

默认 dnf reposync 会拒绝规范布局的父级相对 href。v0.2.0 保留单包体仓库作为权威来源, 并提供显式兼容路径:

sow export rpm-leaf el9 x86_64 /srv/export/el9-x86_64

发布与生命周期

Managed 工作区可以定义 filesystem 与 S3 兼容 r2 目标,再用 sow publish TARGET 发布已验证 Generation。尝试可恢复;提交前可显式 abandon,提交后恢复只能前滚。

sow retain 创建或移除显式保留代根。本地 sow gc 只回收所有安全根都不可达的包体。 目标 GC 按 Provider 区分:filesystem 只有经过宽限期与缺失检查才条件式删除;R2 有意只生成 报告,绝不删除对象。

验证边界

客户端矩阵覆盖 AlmaLinux 8/9/10 DNF、CentOS 7 YUM 与 Debian 12/13 APT。 Integration workflow 还用真实 APT/DNF 客户端与固定版本 MinIO 验证 S3 兼容发布。 Provider 集成测试不等于某个公共 R2 账户或 CDN 已配置完成;托管部署仍需单独检查。

当前 v0.2.0 Draft 包含 Linux/macOS 的 amd64/arm64 archive、1PGSTY Linux RPM/DEB 包 与 SHA256SUMS;只有操作者手工公开草稿后才成为公共下载面。SOW 不构建仓库包体、 不发布容器镜像、不协调多写者、不充当 CDN, 也不生成 modulemd、SQLite repodata、zchunk 或源码包索引。

快速上手开始,查看设计演进, 或直接使用命令行参考