跳转到主要内容

标签: dist

  • 系统模型

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

    VonngDesignrepositorydistpoolgeneration

    系统模型

    SOW 刻意把模型分层:配置表达意图,数据库记录有主状态,公共树是确定性投影。 任何一层都不能悄悄替代另一层。 对象层级 Workspace ├── Repository │ ├── Package Object │ ├── Dist │ │ └── Membership -> Package Object │ ├── Desired 状态 │ ├── Built Generation │ └── Retained Generation 引用 └── Publication Target └── …

    SOW 刻意把模型分层:配置表达意图,数据库记录有主状态,公共树是确定性投影。 任何一层都不能悄悄替代另一层。 对象层级 Workspace ├── Repository │ ├── Package Object │ ├── Dist │ │ └── Membership -> Package Object │ ├── Desired 状态 │ ├── Built Generation │ └── Retained Generation 引用 └── Publication Target └── …

  • sow export

    发布于 命令

    Commandclirpmdist

    SOW 提供一个导出子命令:sow export rpm-leaf。它创建外部、独立的 RPM 仓库, repodata 使用本地 pool/... href。 语法 sow export rpm-leaf DIST ARCH DIR [--hardlink] [-C|--workdir DIR] [-r|--repo NAME] [--json] 参数 要求 DIST 已配置的规范 RPM Dist 名称 ARCH x86_64 或 aarch64 DIR 不存在或为空,且不与 …

    SOW 提供一个导出子命令:sow export rpm-leaf。它创建外部、独立的 RPM 仓库, repodata 使用本地 pool/... href。 语法 sow export rpm-leaf DIST ARCH DIR [--hardlink] [-C|--workdir DIR] [-r|--repo NAME] [--json] 参数 要求 DIST 已配置的规范 RPM Dist 名称 ARCH x86_64 或 aarch64 DIR 不存在或为空,且不与 …

  • sow dist

    发布于 命令

    Commandclidistmanaged

    Dist 是一个仓库内、单一格式(rpm 或 deb)的具名包集合。客户端指向的就是它。一个仓库可以同时拥有 RPM Dist 与 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 …

    Dist 是一个仓库内、单一格式(rpm 或 deb)的具名包集合。客户端指向的就是它。一个仓库可以同时拥有 RPM Dist 与 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 …

  • 核心概念

    发布于 上手

    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 一种格式 架构视图 无 有 策略与审计 无 有 元数据签名与发布目标 无 有 目录内容已经等于目标仓库时使 …

  • 仓库布局

    发布于 参考

    Referencerepositorypooldist

    SOW 的 Managed 布局只有一种:软件包体在 pool/ 下只存一份,dists/ 只保存客户端视图元数据。对外服务、复制或发布时,单位始终是完整仓库目录。 Plain 模式 sow create 在现有软件包旁写入索引,不修改无关文件: /srv/offline/ ├── blackbox_exporter-0.28.0-1.x86_64.rpm ├── libpq5_18.3-1.pgdg12+1_amd64.deb ├── repodata/ │ ├── …

    SOW 的 Managed 布局只有一种:软件包体在 pool/ 下只存一份,dists/ 只保存客户端视图元数据。对外服务、复制或发布时,单位始终是完整仓库目录。 Plain 模式 sow create 在现有软件包旁写入索引,不修改无关文件: /srv/offline/ ├── blackbox_exporter-0.28.0-1.x86_64.rpm ├── libpq5_18.3-1.pgdg12+1_amd64.deb ├── repodata/ │ ├── …

  • 包池与元数据视图

    发布于 功能

    Featurepooldistrpmdeb

    不变式 在一个 Repository 内,每个 live Package Object 在 pool/ 下只有一条正典 payload 路径。 Dist 与架构 view 拥有元数据,不拥有包体 alias: <repo>/pool/... 正典包体 <repo>/dists/<rpm-dist>/<arch>/repodata/... 纯 RPM 元数据 <repo>/dists/<deb-dist>/main/binary-*/... 纯 APT 元数据 相同 digest 出现在另一个 …

    不变式 在一个 Repository 内,每个 live Package Object 在 pool/ 下只有一条正典 payload 路径。 Dist 与架构 view 拥有元数据,不拥有包体 alias: <repo>/pool/... 正典包体 <repo>/dists/<rpm-dist>/<arch>/repodata/... 纯 RPM 元数据 <repo>/dists/<deb-dist>/main/binary-*/... 纯 APT 元数据 相同 digest 出现在另一个 …

  • 第一个工作区

    发布于 上手

    Startmanagedrepositorydistgeneration

    Managed 模式会持久保存配置、成员关系、Generation 与审计状态。下面从空目录开始。 初始化工作区 sow init /srv/sow cd /srv/sow init 创建: /srv/sow/ ├── sow.yml # 配置;schema: sow/v3 └── .sow/ # SQLite 状态、锁、staging、恢复与操作日志 不要编辑或对外服务 .sow/。init 是幂等操作:重复执行会校验并收敛已声明的 Repository 与 Dist,不会重置有效工作区。 默 …

    Managed 模式会持久保存配置、成员关系、Generation 与审计状态。下面从空目录开始。 初始化工作区 sow init /srv/sow cd /srv/sow init 创建: /srv/sow/ ├── sow.yml # 配置;schema: sow/v3 └── .sow/ # SQLite 状态、锁、staging、恢复与操作日志 不要编辑或对外服务 .sow/。init 是幂等操作:重复执行会校验并收敛已声明的 Repository 与 Dist,不会重置有效工作区。 默 …

  • Managed 工作区

    发布于 功能

    Featuremanagedrepositorydistgeneration

    当同一个仓库要维护好几个月 —— 包成批到达、由策略决定谁留下、事后还得说清楚什么时候变了什么 —— 你需要的是 Managed 模式。本页讲三层模型、它产出的布局,以及命令怎么判断你说的是哪个仓库、哪个 Dist。 三个层级 Workspace 工作区 发现与配置边界 └── Repository 仓库 所有权边界:pool、dists、SQLite、锁、Generation └── Dist 发行版 单一格式的具名成员集合 └── Architecture View 架构视图 渲染投影 —— …

    当同一个仓库要维护好几个月 —— 包成批到达、由策略决定谁留下、事后还得说清楚什么时候变了什么 —— 你需要的是 Managed 模式。本页讲三层模型、它产出的布局,以及命令怎么判断你说的是哪个仓库、哪个 Dist。 三个层级 Workspace 工作区 发现与配置边界 └── Repository 仓库 所有权边界:pool、dists、SQLite、锁、Generation └── Dist 发行版 单一格式的具名成员集合 └── Architecture View 架构视图 渲染投影 —— …

  • 搭建 APT 仓库

    发布于 教程

    Tutorialaptdebmanageddist

    本教程从零创建一个 Managed DEB 仓库。你需要一个可写目录,以及一个或多个 DEB 文件。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new trixie --format deb -r pigsty Dist 名称会成为 APT Suite。它由你定义;SOW 不会根据 trixie 推断发行版语义。 2. 配置成员策略 如果需要过滤或限制版本,编辑生成的 …

    本教程从零创建一个 Managed DEB 仓库。你需要一个可写目录,以及一个或多个 DEB 文件。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new trixie --format deb -r pigsty Dist 名称会成为 APT Suite。它由你定义;SOW 不会根据 trixie 推断发行版语义。 2. 配置成员策略 如果需要过滤或限制版本,编辑生成的 …

  • 搭建 YUM 仓库

    发布于 教程

    Tutorialyumrpmmanageddist

    本教程从零创建一个 Managed RPM 仓库。你需要一个可写目录,以及一个或多个 RPM 文件。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new el9 --format rpm -r pigsty Dist 名称由你定义。SOW 不会根据 el9 推断操作系统版本。 2. 配置成员策略 编辑生成的 sow.yml。下面的配置按包名与架构各保留一个版本,并排除调试包: …

    本教程从零创建一个 Managed RPM 仓库。你需要一个可写目录,以及一个或多个 RPM 文件。 1. 创建工作区 mkdir -p /srv/sow cd /srv/sow sow init . sow repo new pigsty sow dist new el9 --format rpm -r pigsty Dist 名称由你定义。SOW 不会根据 el9 推断操作系统版本。 2. 配置成员策略 编辑生成的 sow.yml。下面的配置按包名与架构各保留一个版本,并排除调试包: …