跳转到主要内容

plain

11 篇
  • SOW v0.5.0

    Vonng 发布于 发布注记 2411 字 5 分钟

    VonngReleasereleaseplainyumsigningmigration

    SOW v0.5.0

    SOW 0.5.0 主要解决已有平面 YUM 仓库接入 SOW 时的兼容问题。核心新增功能是 sow create --metadata-timestamp SECONDS:替换原有元数据生成器时,发布者可以保留合法的 发布时间,兼容已有 EL7 YUM 客户端的缓存。 安装方式见下载页面,已有工作区的升级步骤见 安装与升级。 已有 YUM 仓库的发布时间 EL7 YUM 会比较新 repomd.xml 中最大的元数据时间戳与本地缓存。如果新索引的时间更早, YUM 可能拒收它并继续使用旧索引。 …

    SOW 0.5.0 主要解决已有平面 YUM 仓库接入 SOW 时的兼容问题。核心新增功能是 sow create --metadata-timestamp SECONDS:替换原有元数据生成器时,发布者可以保留合法的 发布时间,兼容已有 EL7 YUM 客户端的缓存。 安装方式见下载页面,已有工作区的升级步骤见 安装与升级。 已有 YUM 仓库的发布时间 EL7 YUM 会比较新 repomd.xml 中最大的元数据时间戳与本地缓存。如果新索引的时间更早, YUM 可能拒收它并继续使用旧索引。 …

  • SOW v0.3.0

    Vonng 发布于 发布注记 1682 字 4 分钟

    VonngReleasereleaseplainmanagedtransaction

    SOW v0.3.0

    SOW 0.3.0 围绕性能、持久性与产品边界完成了一次集中改进:Plain 仓库生成只需一遍包体处理; Managed 仓库消除了逐对象成员查询,复用经过认证的软件包事实,并用有界组提交提升载荷。正式 交付的二进制与发布流水线也统一收敛到 SOW 实际支持的仓库工作流。 Plain:一遍完成包体处理 默认无签名 sow create 路径通过 --jobs 控制并行度,每个 RPM 或 DEB 只做一次哈希与解析, 随后直接利用保留的检查结果渲染元数据。发布前只做最后一次软件包集合与文件 …

    SOW 0.3.0 围绕性能、持久性与产品边界完成了一次集中改进:Plain 仓库生成只需一遍包体处理; Managed 仓库消除了逐对象成员查询,复用经过认证的软件包事实,并用有界组提交提升载荷。正式 交付的二进制与发布流水线也统一收敛到 SOW 实际支持的仓库工作流。 Plain:一遍完成包体处理 默认无签名 sow create 路径通过 --jobs 控制并行度,每个 RPM 或 DEB 只做一次哈希与解析, 随后直接利用保留的检查结果渲染元数据。发布前只做最后一次软件包集合与文件 …

  • 设计原则

    Vonng 发布于 设计归档 1208 字 3 分钟

    VonngDesignplainmanagedrepository

    设计原则

    SOW 首先不是一个“元数据生成器”,而是一个所有权与状态迁移系统,只是它的输出恰好是 APT 与 RPM 仓库。下面这些原则让整套系统保持可推理。 每个持久事实只有一个主人 每类持久事实都只有一个作用域与权威: 事实 所有者 包体与软件包身份 Repository Desired 成员关系与 Built 状态 Repository Generation 与 Changeset Repository 发布目标绑定与 Revision Repository + Target …

    SOW 首先不是一个“元数据生成器”,而是一个所有权与状态迁移系统,只是它的输出恰好是 APT 与 RPM 仓库。下面这些原则让整套系统保持可推理。 每个持久事实只有一个主人 每类持久事实都只有一个作用域与权威: 事实 所有者 包体与软件包身份 Repository Desired 成员关系与 Built 状态 Repository Generation 与 Changeset Repository 发布目标绑定与 Revision Repository + Target …

  • v0.2 重置:用 Plain 与 Managed 取代万能控制面

    Vonng 发布于 设计归档 3233 字 7 分钟

    VonngDesignhistoryv0.2plainmanagedarchitecturedecision

    v0.2 重置:用 Plain 与 Managed 取代万能控制面

    开发设计线不等于发布版本 归档中的“v0.2”设计线最初使用 C2 View-local RPM Hardlink。这是一条真实实现过的开发线, 但在最终 v0.2.0 Tag 之前已经被单包体设计替换。正式发布的 v0.2.0 已经使用唯一正典 Pool 与纯元数据 View。 归档中仍有数份 v0.2/v0.3 文件声称“v0.2.0”使用 C2 Hardlink;它们写于 Tag 产生之前, 当时的“v0.2.0”指计划中的 Build。实际交付边界由最终 0.2.0 …

    开发设计线不等于发布版本 归档中的“v0.2”设计线最初使用 C2 View-local RPM Hardlink。这是一条真实实现过的开发线, 但在最终 v0.2.0 Tag 之前已经被单包体设计替换。正式发布的 v0.2.0 已经使用唯一正典 Pool 与纯元数据 View。 归档中仍有数份 v0.2/v0.3 文件声称“v0.2.0”使用 C2 Hardlink;它们写于 Tag 产生之前, 当时的“v0.2.0”指计划中的 Build。实际交付边界由最终 0.2.0 …

  • 核心概念

    发布于 上手

    Startplainmanagedrepositorydist

    Plain 还是 Managed 两条运行路径相互独立。 Plain Managed 入口 sow create DIR init、repo、dist、add、rm、build 状态 软件包目录 sow.yml 加私有 SQLite/操作日志 公共布局 平面 RPM/DEB 索引 Repository pool/ + dists/ 格式 RPM 与 DEB 可共存于一个目录 每个 Dist 一种格式 架构视图 无 有 策略与审计 无 有 元数据签名与发布目标 无 有 目录内容已经等于目标仓库时使 …

    Plain 还是 Managed 两条运行路径相互独立。 Plain Managed 入口 sow create DIR init、repo、dist、add、rm、build 状态 软件包目录 sow.yml 加私有 SQLite/操作日志 公共布局 平面 RPM/DEB 索引 Repository pool/ + dists/ 格式 RPM 与 DEB 可共存于一个目录 每个 Dist 一种格式 架构视图 无 有 策略与审计 无 有 元数据签名与发布目标 无 有 目录内容已经等于目标仓库时使 …

  • 功能

    发布于 功能

    Featureplainmanagedpolicysigning

    SOW 提供两条相互隔离的运行路径。Plain 模式无状态地重建一个目录;Managed 模式在工作区中 持续记录软件包成员关系与不可变仓库 Generation。两者都不会暗中接管对方的状态。 能力矩阵 能力 Plain Managed RPM 与 DEB 元数据 是 是 RPM + DEB 混合操作 同一目录 同一 Repository、不同 Dist 持久成员关系与 Generation 否 是 分架构视图与中性包投影 否 是 exclude 与版本 limit 策略 否 是 元数据签名 …

    SOW 提供两条相互隔离的运行路径。Plain 模式无状态地重建一个目录;Managed 模式在工作区中 持续记录软件包成员关系与不可变仓库 Generation。两者都不会暗中接管对方的状态。 能力矩阵 能力 Plain Managed RPM 与 DEB 元数据 是 是 RPM + DEB 混合操作 同一目录 同一 Repository、不同 Dist 持久成员关系与 Generation 否 是 分架构视图与中性包投影 否 是 exclude 与版本 limit 策略 否 是 元数据签名 …

  • 快速上手

    发布于 上手

    Startplainrpmdebcli

    Plain 模式在一个目录内生成平面仓库。它不读取 sow.yml,不创建工作区,也不维护数据库。 准备目录 把 RPM 和/或 DEB 文件放在目录顶层。sow create 不递归扫描,也不移动或改名包文件。 mkdir -p /srv/repo cp /path/to/packages/*.rpm /path/to/packages/*.deb /srv/repo/ 如果某种格式不存在,请只复制你实际拥有的软件包。 生成元数据 sow create /srv/repo 混合格式输出形态如下 …

    Plain 模式在一个目录内生成平面仓库。它不读取 sow.yml,不创建工作区,也不维护数据库。 准备目录 把 RPM 和/或 DEB 文件放在目录顶层。sow create 不递归扫描,也不移动或改名包文件。 mkdir -p /srv/repo cp /path/to/packages/*.rpm /path/to/packages/*.deb /srv/repo/ 如果某种格式不存在,请只复制你实际拥有的软件包。 生成元数据 sow create /srv/repo 混合格式输出形态如下 …

  • Plain 平面仓库

    发布于 功能

    Featureplainrpmdeb

    sow create 接手一个已经放着 .rpm / .deb 的目录,在包旁边生成平面仓库索引。Plain 模式没有工作区、配置文件、数据库、期望状态,也没有操作 journal。包目录就是权威事实来源,所有索引都是当前目录内容的可丢弃投影。 这个边界是刻意的:Managed 仓库保存状态并恢复事务;Plain 仓库失败了就便宜地重建。一次运行失败或被中断后,重新执行同一条命令,覆盖派生元数据即可。 契约 Plain 模式由四条规则定义: 包是权威事实。 默认 create 不修改包字节,只替 …

    sow create 接手一个已经放着 .rpm / .deb 的目录,在包旁边生成平面仓库索引。Plain 模式没有工作区、配置文件、数据库、期望状态,也没有操作 journal。包目录就是权威事实来源,所有索引都是当前目录内容的可丢弃投影。 这个边界是刻意的:Managed 仓库保存状态并恢复事务;Plain 仓库失败了就便宜地重建。一次运行失败或被中断后,重新执行同一条命令,覆盖派生元数据即可。 契约 Plain 模式由四条规则定义: 包是权威事实。 默认 create 不修改包字节,只替 …

  • 迁移已有 YUM 仓库

    发布于 教程

    Tutorialyumplainmigrationsigning

    本指南适用于 RPM 与 repodata/ 放在同一层目录的平面仓库,例如此前用 createrepo_c 维护的仓库。它使用 Plain sow create,不创建 Managed 工作区。发布时间参数是 SOW 0.5.0 新增功能,请使用该版本或更新版本。 1. 明确迁移范围 在候选副本上操作,并完整保留旧软件包与元数据备份。可能重签的 RPM 不要用硬链接复制。 先确认真正使用的二进制: SOW=/path/to/sow "$SOW" version "$SOW" create …

    本指南适用于 RPM 与 repodata/ 放在同一层目录的平面仓库,例如此前用 createrepo_c 维护的仓库。它使用 Plain sow create,不创建 Managed 工作区。发布时间参数是 SOW 0.5.0 新增功能,请使用该版本或更新版本。 1. 明确迁移范围 在候选副本上操作,并完整保留旧软件包与元数据备份。可能重签的 RPM 不要用硬链接复制。 先确认真正使用的二进制: SOW=/path/to/sow "$SOW" version "$SOW" create …

  • 上手

    发布于 上手

    Startinstallplainmanaged

    SOW 生成 RPM/YUM 与 DEB/APT 静态仓库,本身不是 HTTP 守护进程。先选择一条相互隔离的 运行路径: Plain: sow create 在普通目录中为现有软件包重建索引。 Managed: 工作区持续记录成员关系、Dist、架构视图、策略、签名、Generation、 审计历史与发布目标。 安装 — 选择 Release 归档、RPM/DEB 安装包或源码构建,并校验二进制。 快速上手 — 从一个软件包目录创建平面仓库,并通过 HTTP 提供服务。 第一个工作区 — 初始 …

    SOW 生成 RPM/YUM 与 DEB/APT 静态仓库,本身不是 HTTP 守护进程。先选择一条相互隔离的 运行路径: Plain: sow create 在普通目录中为现有软件包重建索引。 Managed: 工作区持续记录成员关系、Dist、架构视图、策略、签名、Generation、 审计历史与发布目标。 安装 — 选择 Release 归档、RPM/DEB 安装包或源码构建,并校验二进制。 快速上手 — 从一个软件包目录创建平面仓库,并通过 HTTP 提供服务。 第一个工作区 — 初始 …

  • sow create

    发布于 命令

    Commandcliplainrpmdeb

    sow create 把一个已经放着 .rpm / .deb 的目录变成平面仓库(flat repository):在包旁边写出索引 文件。它就是 Plain 平面模式的全部——没有 sow.yml、没有 SQLite、不做工作区发现。本页讲清单遍扫描 契约、RPM 发布时间、--pigsty 完成门禁,以及 --sign-with 的 RPM 包签名。 版本要求 --metadata-timestamp 要求 SOW 0.5.0 或更新版本。 切换已有维护脚本前,请检查实际二进制的 …

    sow create 把一个已经放着 .rpm / .deb 的目录变成平面仓库(flat repository):在包旁边写出索引 文件。它就是 Plain 平面模式的全部——没有 sow.yml、没有 SQLite、不做工作区发现。本页讲清单遍扫描 契约、RPM 发布时间、--pigsty 完成门禁,以及 --sign-with 的 RPM 包签名。 版本要求 --metadata-timestamp 要求 SOW 0.5.0 或更新版本。 切换已有维护脚本前,请检查实际二进制的 …