跳转到主要内容

managed

27 篇
  • SOW v0.4.0

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

    VonngReleasereleasemanagedsigningpublishmigration

    SOW v0.4.0

    SOW 0.4.0 改进了 Managed 仓库的校验与恢复。check 只对每个物理软件包计算一次内容哈希;RPM 验签分别判断各组密钥的信任结果;发布目标可通过有记录的重绑定操作修改公共 URL 或缓存时间。 Plain 行为与公共 pool/、dists/ 布局保持不变。本文记录 0.4.0;升级到当前版本请按安装指南操作。 从 0.3 升级到 0.4 停止工作区写入,备份完整工作区并保留硬链接。安装 0.4.0 后,先迁移每个已配置的 Repository,再继续维护: set -euo …

    SOW 0.4.0 改进了 Managed 仓库的校验与恢复。check 只对每个物理软件包计算一次内容哈希;RPM 验签分别判断各组密钥的信任结果;发布目标可通过有记录的重绑定操作修改公共 URL 或缓存时间。 Plain 行为与公共 pool/、dists/ 布局保持不变。本文记录 0.4.0;升级到当前版本请按安装指南操作。 从 0.3 升级到 0.4 停止工作区写入,备份完整工作区并保留硬链接。安装 0.4.0 后,先迁移每个已配置的 Repository,再继续维护: set -euo …

  • SOW v0.3.0

    Vonng 发布于 发布注记 1239 字 3 分钟

    VonngReleasereleaseplainmanagedtransaction

    SOW v0.3.0

    SOW 0.3.0 减少了重复包读取与数据库查询。Plain 生成只遍历一次包内容;Managed 构建缓存已解析的包数据,并批量提交新包池文件。本版还移除了已退役的运行时与发布代码。 Plain:每个软件包只读一次 默认不签名的 sow create 流程对每个 RPM 或 DEB 只做一次哈希与解析,--jobs 控制并行任务数。SOW 根据解析结果生成元数据,写入索引前再次检查软件包集合与文件属性是否变化。 Plain 构建中断后,从软件包目录重新运行即可。0.3 移除了 Plain 的操 …

    SOW 0.3.0 减少了重复包读取与数据库查询。Plain 生成只遍历一次包内容;Managed 构建缓存已解析的包数据,并批量提交新包池文件。本版还移除了已退役的运行时与发布代码。 Plain:每个软件包只读一次 默认不签名的 sow create 流程对每个 RPM 或 DEB 只做一次哈希与解析,--jobs 控制并行任务数。SOW 根据解析结果生成元数据,写入索引前再次检查软件包集合与文件属性是否变化。 Plain 构建中断后,从软件包目录重新运行即可。0.3 移除了 Plain 的操 …

  • 设计原则

    Vonng 发布于 设计归档 843 字 2 分钟

    VonngDesignplainmanagedrepository

    设计原则

    SOW 分别管理包存储、仓库构建和发布。以下原则说明各类状态由谁保存,以及操作如何使用这些状态。 每类记录由一个对象管理 记录 管理范围 包体与包身份 Repository Desired 成员关系与 Built 状态 Repository Generation 与变更集 Repository 目标绑定与修订记录 Repository 与发布目标 发布尝试与检查点 Repository 与目标前缀 远端清单与删除记录 Repository 与目标前缀 每个 Repository 分别保存自己的包 …

    SOW 分别管理包存储、仓库构建和发布。以下原则说明各类状态由谁保存,以及操作如何使用这些状态。 每类记录由一个对象管理 记录 管理范围 包体与包身份 Repository Desired 成员关系与 Built 状态 Repository Generation 与变更集 Repository 目标绑定与修订记录 Repository 与发布目标 发布尝试与检查点 Repository 与目标前缀 远端清单与删除记录 Repository 与目标前缀 每个 Repository 分别保存自己的包 …

  • SOW v0.2.0

    Vonng 发布于 发布注记 623 字 2 分钟

    VonngReleasereleasemanagedsigningpublishgeneration

    SOW v0.2.0

    SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 repodata/,DEB 生成 Packages 与 Packages.gz,混合目录同时生成两种索引。Plain …

    SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 repodata/,DEB 生成 Packages 与 Packages.gz,混合目录同时生成两种索引。Plain …

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

    Vonng 发布于 设计归档 2520 字 6 分钟

    VonngDesignhistoryv0.2plainmanagedarchitecturedecision

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

    2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …

    2026-07-31,v0.1 源码基线封存后,SOW 开始了一次产品重置。 目标是构建一个小型仓库引擎,替代 Pigsty 日常软件包构建工作流。 重置保留了已有的完整性与恢复经验,同时移除了大部分控制面。 最终形成的分工沿用至今:Plain 重建调用者拥有的目录,Managed 管理仓库及其历史。 开发设计最初在 RPM 视图内使用 C2 硬链接,随后在 8 月 8 日发布 v0.2.0 前被替换。 部分归档计划曾把 C2 构建称为“v0.2.0”,但正式标签已经采用单一包池与纯元数据视图。 …

  • sow build

    发布于 命令

    Commandclimanagedgeneration

    sow build 更新本地索引,使其与期望成员和当前配置一致。在 add --skip、rm --skip 或修改策略后运行此命令。开始新构建前,它会恢复未完成的本地仓库操作。 语法 sow build [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [-T|--timeout DUR | -N|--no-wait] [--json] 参数 含义 默认值 -j, --jobs N 并行工作线程数,不得小 …

    sow build 更新本地索引,使其与期望成员和当前配置一致。在 add --skip、rm --skip 或修改策略后运行此命令。开始新构建前,它会恢复未完成的本地仓库操作。 语法 sow build [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [-T|--timeout DUR | -N|--no-wait] [--json] 参数 含义 默认值 -j, --jobs N 并行工作线程数,不得小 …

  • sow status

    发布于 命令

    Commandclimanagedaudit

    sow status 显示仓库是否需要构建、待构建数据量及写锁占用情况。它读取已记录状态,不扫描包文件内容。需要验证文件内容时,使用 sow check。 语法 sow status [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 -d, --dist NAME 只查看指定 …

    sow status 显示仓库是否需要构建、待构建数据量及写锁占用情况。它读取已记录状态,不扫描包文件内容。需要验证文件内容时,使用 sow check。 语法 sow status [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 -d, --dist NAME 只查看指定 …

  • sow where

    发布于 命令

    Commandclimanaged

    sow where 在工作区中查找一个软件包的期望成员位置。默认搜索全部仓库;使用 -r 或 -d 限定范围。 语法 sow where PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 将搜索限制到一个仓库 全部仓库 -d, --dist NAME 将搜索限制到指定 Dist;可重复 全 …

    sow where 在工作区中查找一个软件包的期望成员位置。默认搜索全部仓库;使用 -r 或 -d 限定范围。 语法 sow where PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 将搜索限制到一个仓库 全部仓库 -d, --dist NAME 将搜索限制到指定 Dist;可重复 全 …

  • sow show

    发布于 命令

    Commandclimanagedsigning

    sow show 查看所选仓库中的一个软件包。文本输出包含包信息、存储位置与成员关系。需要完整的软件包记录时,加上 --json。 语法 sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 -d, --dist NAME 将候选项收窄到指定 Dist;可 …

    sow show 查看所选仓库中的一个软件包。文本输出包含包信息、存储位置与成员关系。需要完整的软件包记录时,加上 --json。 语法 sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 -d, --dist NAME 将候选项收窄到指定 Dist;可 …

  • sow ls

    发布于 命令

    Commandclimanaged

    sow ls 列出指定 Dist 的期望成员。每行还显示该包在整个仓库中的期望成员位置与已构建位置。可从输出中获取供 show 或 rm 使用的包引用。 语法 sow ls [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 -d, --dist NAME 选择 Dist;可重复 选择规 …

    sow ls 列出指定 Dist 的期望成员。每行还显示该包在整个仓库中的期望成员位置与已构建位置。可从输出中获取供 show 或 rm 使用的包引用。 语法 sow ls [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 -d, --dist NAME 选择 Dist;可重复 选择规 …

  • sow rm

    发布于 命令

    Commandclimanagedpolicy

    sow rm 从指定 Dist 移除软件包,并重建本地索引。使用 --check 预览删除结果,使用 --skip 延后构建。包文件仍保留在 pool/ 中,由 sow gc 回收不再需要的文件。 语法 sow rm PACKAGE... [-c|--check] [--skip] [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [-T|--timeout DUR | -N|--no-wait] …

    sow rm 从指定 Dist 移除软件包,并重建本地索引。使用 --check 预览删除结果,使用 --skip 延后构建。包文件仍保留在 pool/ 中,由 sow gc 回收不再需要的文件。 语法 sow rm PACKAGE... [-c|--check] [--skip] [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [-T|--timeout DUR | -N|--no-wait] …

  • sow add

    发布于 命令

    Commandclimanagedpolicy

    sow add 将软件包导入指定 Dist,并构建本地索引。它从包头读取格式与架构,再应用各 Dist 的成员策略。需要分批导入后统一构建时,使用 --skip。需要更新远程目标时,在构建后运行 sow publish。 语法 sow add PATH... [-R|--recursive] [--skip] [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [-T|--timeout DUR | …

    sow add 将软件包导入指定 Dist,并构建本地索引。它从包头读取格式与架构,再应用各 Dist 的成员策略。需要分批导入后统一构建时,使用 --skip。需要更新远程目标时,在构建后运行 sow publish。 语法 sow add PATH... [-R|--recursive] [--skip] [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [-T|--timeout DUR | …

  • 演练构建 pigsty-infra 仓库

    发布于 教程

    Tutorialyumrpmmanagedpublish

    pgsty/infra-pkg 是 Pigsty Infra 软件包的上游构建源码。 本教程使用已构建的 x86-64 与 ARM64 RPM、DEB,创建包含滚动频道、稳定发布与月度快照的 infra 仓库。先安装 SOW、jq 与 Docker。安装示例使用 pg-exporter;请包含该包,以及客户端镜像中尚未安装的依赖。 1. 把包集中到 ~/repo 为本工作区使用新的 ~/repo 目录。从 infra-pkg 源码目录复制软件包到两个输入目录: mkdir -p …

    pgsty/infra-pkg 是 Pigsty Infra 软件包的上游构建源码。 本教程使用已构建的 x86-64 与 ARM64 RPM、DEB,创建包含滚动频道、稳定发布与月度快照的 infra 仓库。先安装 SOW、jq 与 Docker。安装示例使用 pg-exporter;请包含该包,以及客户端镜像中尚未安装的依赖。 1. 把包集中到 ~/repo 为本工作区使用新的 ~/repo 目录。从 infra-pkg 源码目录复制软件包到两个输入目录: mkdir -p …

  • 成员策略

    发布于 功能

    Featurepolicymanaged

    用 Dist 策略排除不需要的包,并限制索引中的版本数量。在 sow.yml 中配置 exclude 和 limit: dists: el9: format: rpm limit: 2 exclude: - kind: [debuginfo, debugsource, llvmjit] SOW 先执行 exclude,再执行 limit。add、rm 和 build 都会对所选 Dist 的完整候选 成员集合应用策略。编辑策略后,先运行 sow config check,再运行 sow …

    用 Dist 策略排除不需要的包,并限制索引中的版本数量。在 sow.yml 中配置 exclude 和 limit: dists: el9: format: rpm limit: 2 exclude: - kind: [debuginfo, debugsource, llvmjit] SOW 先执行 exclude,再执行 limit。add、rm 和 build 都会对所选 Dist 的完整候选 成员集合应用策略。编辑策略后,先运行 sow config check,再运行 sow …

  • sow dist

    发布于 命令

    Commandclidistmanaged

    sow dist 管理客户端使用的发行版集合。每个 Dist 只包含 RPM 或 DEB 中的一种格式。同一仓库内的 Dist 共用 pool/,在 dists/ 下各有独立索引。 语法 sow dist ls [-C DIR] [-r NAME] [--json] sow dist new NAME --format rpm|deb [-C DIR] [-r NAME] [-T DUR | -N] [--json] sow dist show NAME [-C DIR] [-r NAME] …

    sow dist 管理客户端使用的发行版集合。每个 Dist 只包含 RPM 或 DEB 中的一种格式。同一仓库内的 Dist 共用 pool/,在 dists/ 下各有独立索引。 语法 sow dist ls [-C DIR] [-r NAME] [--json] sow dist new NAME --format rpm|deb [-C DIR] [-r NAME] [-T DUR | -N] [--json] sow dist show NAME [-C DIR] [-r NAME] …

  • 核心概念

    发布于 上手

    Startplainmanagedrepositorydist

    选择模式 需求 Plain Managed 为软件包目录生成索引 sow create DIR 用 sow add 导入软件包 保存配置与成员关系 目录内容就是状态 sow.yml 与私有 SQLite 数据库 组织软件包 一个平面目录,可同时包含 RPM 与 DEB 具名 Dist,每个 Dist 一种格式 生成架构视图 不支持 支持 过滤软件包、限制版本数 --pigsty 提供 Pigsty 约定 每个 Dist 单独配置 签名 RPM 软件包 支持 支持 签名仓库元数据 在 SOW 外 …

    选择模式 需求 Plain Managed 为软件包目录生成索引 sow create DIR 用 sow add 导入软件包 保存配置与成员关系 目录内容就是状态 sow.yml 与私有 SQLite 数据库 组织软件包 一个平面目录,可同时包含 RPM 与 DEB 具名 Dist,每个 Dist 一种格式 生成架构视图 不支持 支持 过滤软件包、限制版本数 --pigsty 提供 Pigsty 约定 每个 Dist 单独配置 签名 RPM 软件包 支持 支持 签名仓库元数据 在 SOW 外 …

  • 服务与发布仓库

    发布于 教程

    Tutorialpublishfilesystemmanaged

    SOW 生成静态仓库文件。本教程把 Managed 仓库发布到独立目录,再用 Nginx 提供服务。先完成第一个工作区。 源目录是 /srv/sow/local,公开副本将位于 /srv/repo-public/local。 两者都包含完整的 pool/ 与 dists/ 目录树。工作区配置与私有状态保留在服务目录之外。 1. 构建并检查 cd /srv/sow sow build -r local sow check -r local check 成功后继续。 2. 添加 filesystem …

    SOW 生成静态仓库文件。本教程把 Managed 仓库发布到独立目录,再用 Nginx 提供服务。先完成第一个工作区。 源目录是 /srv/sow/local,公开副本将位于 /srv/repo-public/local。 两者都包含完整的 pool/ 与 dists/ 目录树。工作区配置与私有状态保留在服务目录之外。 1. 构建并检查 cd /srv/sow sow build -r local sow check -r local check 成功后继续。 2. 添加 filesystem …

  • sow repo

    发布于 命令

    Commandclirepositorymanaged

    sow repo 用于创建、列出、查看、升级和删除仓库。每个仓库在 pool/ 中保存包文件,在 dists/ 中保存索引。同一仓库的 Dist 共用包文件。 语法 sow repo ls [-C DIR] [--json] sow repo new NAME [-C DIR] [-T DUR | -N] [--json] sow repo show [NAME] [-C DIR] [-r NAME] [--json] sow repo migrate [NAME] [--abort] [-j …

    sow repo 用于创建、列出、查看、升级和删除仓库。每个仓库在 pool/ 中保存包文件,在 dists/ 中保存索引。同一仓库的 Dist 共用包文件。 语法 sow repo ls [-C DIR] [--json] sow repo new NAME [-C DIR] [-T DUR | -N] [--json] sow repo show [NAME] [-C DIR] [-r NAME] [--json] sow repo migrate [NAME] [--abort] [-j …

  • 功能

    发布于 功能

    Featureplainmanagedpolicysigning

    SOW 用两种模式创建仓库索引。可以随时重建的包目录使用 Plain; 需要持续更新、策略、签名和发布的仓库使用 Managed。 功能对照 功能 Plain Managed RPM 与 DEB 索引 一个目录,可包含任一种或两种格式 一个仓库,分别使用不同 Dist 持久化成员与构建快照 — 支持 分架构视图 — 支持,包含架构无关包 包排除 --pigsty 使用固定清理规则 按 Dist 配置 版本数量限制 — 按 Dist 配置 元数据签名 — RPM 和 DEB RPM 包签名 …

    SOW 用两种模式创建仓库索引。可以随时重建的包目录使用 Plain; 需要持续更新、策略、签名和发布的仓库使用 Managed。 功能对照 功能 Plain Managed RPM 与 DEB 索引 一个目录,可包含任一种或两种格式 一个仓库,分别使用不同 Dist 持久化成员与构建快照 — 支持 分架构视图 — 支持,包含架构无关包 包排除 --pigsty 使用固定清理规则 按 Dist 配置 版本数量限制 — 按 Dist 配置 元数据签名 — RPM 和 DEB RPM 包签名 …

  • 第一个工作区

    发布于 上手

    Startmanagedrepositorydistgeneration

    本例创建一个 Managed 仓库,包含两个具名软件包集合,称为 Dist: el9 存放 RPM,bookworm 存放 DEB。使用可写的空目录 /srv/sow,或换成其他路径。 初始化工作区 sow init /srv/sow cd /srv/sow init 创建: /srv/sow/ ├── sow.yml # 配置;schema: sow/v3 └── .sow/ # SOW 管理的私有状态 需要调整配置时,编辑 sow.yml。私有目录 .sow/ 由 SOW 管理。 重复执行 …

    本例创建一个 Managed 仓库,包含两个具名软件包集合,称为 Dist: el9 存放 RPM,bookworm 存放 DEB。使用可写的空目录 /srv/sow,或换成其他路径。 初始化工作区 sow init /srv/sow cd /srv/sow init 创建: /srv/sow/ ├── sow.yml # 配置;schema: sow/v3 └── .sow/ # SOW 管理的私有状态 需要调整配置时,编辑 sow.yml。私有目录 .sow/ 由 SOW 管理。 重复执行 …

  • Managed 工作区

    发布于 功能

    Featuremanagedrepositorydistgeneration

    定期更新的仓库适合使用 Managed 模式。SOW 记录包成员关系、执行 Dist 策略、构建元数据, 并保留操作历史。 工作区、仓库与 Dist Workspace(工作区) └── Repository(仓库) └── Dist(软件包集合) └── Architecture view(架构视图) 术语 用途 工作区 保存 sow.yml、私有 .sow/ 状态和允许的架构族 仓库 拥有独立包池、Dist、SQLite 数据库、构建快照(Generation)和发布状态 Dist 按名称组 …

    定期更新的仓库适合使用 Managed 模式。SOW 记录包成员关系、执行 Dist 策略、构建元数据, 并保留操作历史。 工作区、仓库与 Dist Workspace(工作区) └── Repository(仓库) └── Dist(软件包集合) └── Architecture view(架构视图) 术语 用途 工作区 保存 sow.yml、私有 .sow/ 状态和允许的架构族 仓库 拥有独立包池、Dist、SQLite 数据库、构建快照(Generation)和发布状态 Dist 按名称组 …

  • sow.yml 配置参考

    发布于 参考

    Referenceconfigmanaged

    sow.yml 配置 Managed 工作区,声明仓库、Dist、包策略、签名与发布目标。 Plain 命令 sow create 不读取此文件。 编辑后,检查配置并查看实际生效的设置: sow config check sow config show --all config check 校验 YAML、比较配置与已初始化的仓库状态,并解析签名引用。 config show --all 展开默认值。 文件规则 使用一个 YAML 文档,配置 schema: sow/v3。 未知字段和重复键都是 …

    sow.yml 配置 Managed 工作区,声明仓库、Dist、包策略、签名与发布目标。 Plain 命令 sow create 不读取此文件。 编辑后,检查配置并查看实际生效的设置: sow config check sow config show --all config check 校验 YAML、比较配置与已初始化的仓库状态,并解析签名引用。 config show --all 展开默认值。 文件规则 使用一个 YAML 文档,配置 schema: sow/v3。 未知字段和重复键都是 …

  • 搭建 APT 仓库

    发布于 教程

    Tutorialaptdebmanageddist

    本教程从零创建一个 Managed DEB 仓库。先安装 SOW、Python 3,并准备适合目标客户端的 DEB 文件。使用当前用户可创建、可写入的空目录 /srv/sow,或换成其他可写路径。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new trixie --format deb -r pigsty Dist 名称 trixie 对应客户端配置中的 Suites,可以按需要更 …

    本教程从零创建一个 Managed DEB 仓库。先安装 SOW、Python 3,并准备适合目标客户端的 DEB 文件。使用当前用户可创建、可写入的空目录 /srv/sow,或换成其他可写路径。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new trixie --format deb -r pigsty Dist 名称 trixie 对应客户端配置中的 Suites,可以按需要更 …

  • sow init

    发布于 命令

    Commandclimanagedconfig

    sow init 创建工作区的 sow.yml 与私有状态目录 .sow/。如果配置中已声明仓库和 Dist,它会创建尚未初始化的对象。添加声明后,可再次运行此命令完成初始化。 语法 sow init [DIR] [--json] DIR 默认为当前目录。需要初始化其他目录时,将它的路径作为 DIR 传入。 说明 首次 init 写出最小配置与私有状态目录: sow init . initialized /srv/repo: config_created=true …

    sow init 创建工作区的 sow.yml 与私有状态目录 .sow/。如果配置中已声明仓库和 Dist,它会创建尚未初始化的对象。添加声明后,可再次运行此命令完成初始化。 语法 sow init [DIR] [--json] DIR 默认为当前目录。需要初始化其他目录时,将它的路径作为 DIR 传入。 说明 首次 init 写出最小配置与私有状态目录: sow init . initialized /srv/repo: config_created=true …

  • 上手

    发布于 上手

    Startinstallplainmanaged

    SOW 为 RPM 与 DEB 软件包生成 YUM 与 APT 静态仓库。安装 SOW 后,按需要选择管理方式: Plain 模式: 执行 sow create DIR,为目录中的软件包生成索引。 Managed 模式: 创建工作区,按 Dist 组织软件包、限制版本数、签署元数据并发布更新。 安装 — 安装发布归档、Linux 软件包,或从源码构建。 快速上手 — 创建平面仓库,并用本机客户端访问。 第一个工作区 — 创建 RPM 与 DEB Dist,添加软件包并检查结果。 核心概念 — 理 …

    SOW 为 RPM 与 DEB 软件包生成 YUM 与 APT 静态仓库。安装 SOW 后,按需要选择管理方式: Plain 模式: 执行 sow create DIR,为目录中的软件包生成索引。 Managed 模式: 创建工作区,按 Dist 组织软件包、限制版本数、签署元数据并发布更新。 安装 — 安装发布归档、Linux 软件包,或从源码构建。 快速上手 — 创建平面仓库,并用本机客户端访问。 第一个工作区 — 创建 RPM 与 DEB Dist,添加软件包并检查结果。 核心概念 — 理 …

  • 搭建 YUM 仓库

    发布于 教程

    Tutorialyumrpmmanageddist

    本教程从零创建一个 Managed RPM 仓库。先安装 SOW、Python 3,并准备适合目标客户端的 RPM 文件。使用当前用户可创建、可写入的空目录 /srv/sow,或换成其他可写路径。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new el9 --format rpm -r pigsty el9 是这个 RPM 包集合的名称,可以按需要更改。它不改变软件包的操作系统兼容 …

    本教程从零创建一个 Managed RPM 仓库。先安装 SOW、Python 3,并准备适合目标客户端的 RPM 文件。使用当前用户可创建、可写入的空目录 /srv/sow,或换成其他可写路径。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new el9 --format rpm -r pigsty el9 是这个 RPM 包集合的名称,可以按需要更改。它不改变软件包的操作系统兼容 …

  • 设计归档

    发布于 设计归档 204 字 1 分钟

    Designmanagedpublishtransaction

    设计归档

    设计归档解释 SOW 在仓库布局、状态模型和发布流程上的选择。 文章日期记录决策成文时间,修改日期记录后续修订。 了解当前设计,可以从以下文章开始: 系统模型:软件包、发行版、构建快照与发布目标。 一棵包体树:为什么多个视图共用包池。 发布与恢复:上传顺序、检查点与清理。 设计原则:状态归属与写入协调。 历史系列介绍 v0.1 产品计划、设计决策与测试,以及 v0.2 重构和后续版本,并链接到对应源码快照。 当前命令见 SOW 文档,各版本变化见发布说明。

    设计归档解释 SOW 在仓库布局、状态模型和发布流程上的选择。 文章日期记录决策成文时间,修改日期记录后续修订。 了解当前设计,可以从以下文章开始: 系统模型:软件包、发行版、构建快照与发布目标。 一棵包体树:为什么多个视图共用包池。 发布与恢复:上传顺序、检查点与清理。 设计原则:状态归属与写入协调。 历史系列介绍 v0.1 产品计划、设计决策与测试,以及 v0.2 重构和后续版本,并链接到对应源码快照。 当前命令见 SOW 文档,各版本变化见发布说明。