标签: signing
-
SOW v0.4.0
SOW 0.4.0 是一次面向 Managed 仓库的完整性与恢复版本:它明确了深度校验的 I/O 契约, 禁止跨无关密钥拼装 RPM 信任,提供可审计的发布目标可变配置修正路径,并补齐 v0.3 迁移与 发布中断恢复的剩余缺口。 Plain 仓库行为与公共 pool/ + dists/ 布局均未改变。 从 0.3 升级 必须逐个显式迁移 v0.3 Repository 先停止全部 Workspace 写入并完成备份,再安装 0.4.0;在执行普通读写命令之前,对每个 Repository 运行 …
SOW 0.4.0 是一次面向 Managed 仓库的完整性与恢复版本:它明确了深度校验的 I/O 契约, 禁止跨无关密钥拼装 RPM 信任,提供可审计的发布目标可变配置修正路径,并补齐 v0.3 迁移与 发布中断恢复的剩余缺口。 Plain 仓库行为与公共 pool/ + dists/ 布局均未改变。 从 0.3 升级 必须逐个显式迁移 v0.3 Repository 先停止全部 Workspace 写入并完成备份,再安装 0.4.0;在执行普通读写命令之前,对每个 Repository 运行 …
-
SOW v0.2.0
SOW 0.2.0 是 Pigsty 出品的自包含 RPM/DEB 仓库管理器,Release 资产以单个 Go 可执行文件覆盖 Linux 与 macOS 构建目标。 两种工作模式 Plain 模式 给目录顶层已有的 RPM 与 DEB 文件就地生成索引: sow create /srv/repo 它写入 repodata/、Packages 与 Packages.gz。Plain 模式没有 Workspace、状态数据库、 Generation,也不生成或签署 DEB Release。 …
SOW 0.2.0 是 Pigsty 出品的自包含 RPM/DEB 仓库管理器,Release 资产以单个 Go 可执行文件覆盖 Linux 与 macOS 构建目标。 两种工作模式 Plain 模式 给目录顶层已有的 RPM 与 DEB 文件就地生成索引: sow create /srv/repo 它写入 repodata/、Packages 与 Packages.gz。Plain 模式没有 Workspace、状态数据库、 Generation,也不生成或签署 DEB Release。 …
-
sow check
sow check 是 Managed Repository 的深度只读门禁。它哈希包体、校验状态、重建期望视图并验证 已声明签名;不会修复、构建、恢复 Operation,也不会获取写锁。 语法 sow check [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -j, --jobs N 并行校验 Worker 数,不得小于 1 逻辑 CPU 数 -C, …
sow check 是 Managed Repository 的深度只读门禁。它哈希包体、校验状态、重建期望视图并验证 已声明签名;不会修复、构建、恢复 Operation,也不会获取写锁。 语法 sow check [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -j, --jobs N 并行校验 Worker 数,不得小于 1 逻辑 CPU 数 -C, …
-
sow show
sow show 在所选 Repository 中解析一个包引用,并打印完整 Package Object。该命令只读, 不获取写锁。 语法 sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择 Repository 选择规则 -d, --dist NAME 将候选项收 …
sow show 在所选 Repository 中解析一个包引用,并打印完整 Package Object。该命令只读, 不获取写锁。 语法 sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择 Repository 选择规则 -d, --dist NAME 将候选项收 …
-
签名模型
客户端会对一个仓库提两个不同的问题,SOW 用两套彼此独立的机制分别回答。把它们混为一谈,是"我明明签了名,dnf 还是报错"这类问题最常见的来源 —— 所以本页先把两者拆开。 两条独立的信任链 元数据签名 RPM 包体签名 回答的问题 “这份索引真是你出的、没被改过吗?” “这个 .rpm 文件真是你出的吗?” 配置项 signing.rpm.metadata、signing.deb.metadata signing.rpm.packages 产出 …
客户端会对一个仓库提两个不同的问题,SOW 用两套彼此独立的机制分别回答。把它们混为一谈,是"我明明签了名,dnf 还是报错"这类问题最常见的来源 —— 所以本页先把两者拆开。 两条独立的信任链 元数据签名 RPM 包体签名 回答的问题 “这份索引真是你出的、没被改过吗?” “这个 .rpm 文件真是你出的吗?” 配置项 signing.rpm.metadata、signing.deb.metadata signing.rpm.packages 产出 …
-
功能
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 策略 否 是 元数据签名 …
-
仓库签名
SOW 提供两条互相独立的签名路径: 路径 产物 客户端开关 RPM 元数据 repodata/repomd.xml.asc repo_gpgcheck=1 APT 元数据 InRelease 与 Release.gpg Signed-By RPM 包体 RPM 内嵌签名 gpgcheck=1 APT 通过签名的 Release 信任包哈希;SOW 不重签 DEB 包体。先配置元数据签名;只有当你负责 这些 RPM 字节的签名策略时,再启用包体签名。 1. 创建专用密钥 下面生成一把无口令的示例 …
SOW 提供两条互相独立的签名路径: 路径 产物 客户端开关 RPM 元数据 repodata/repomd.xml.asc repo_gpgcheck=1 APT 元数据 InRelease 与 Release.gpg Signed-By RPM 包体 RPM 内嵌签名 gpgcheck=1 APT 通过签名的 Release 信任包哈希;SOW 不重签 DEB 包体。先配置元数据签名;只有当你负责 这些 RPM 字节的签名策略时,再启用包体签名。 1. 创建专用密钥 下面生成一把无口令的示例 …
-
教程
这里的教程都从全新工作区开始。请按顺序执行命令,并按你的环境替换大写占位符与包路径。 如果还没装 SOW,先看安装与快速上手。 下面的教程介绍 Managed 仓库路径。 搭建 YUM 仓库 托管 RPM 仓库:分架构视图、noarch 中性投影、debuginfo 过滤、版本数量上限,以及可用的 dnf 客户端配置。 搭建 APT 仓库 托管 DEB 仓库:Debian 风格包池、by-hash 索引与 deb822 客户端配置。 仓库签名 生成专用 GPG 签名钥,为仓库元数据与 RPM 包 …
这里的教程都从全新工作区开始。请按顺序执行命令,并按你的环境替换大写占位符与包路径。 如果还没装 SOW,先看安装与快速上手。 下面的教程介绍 Managed 仓库路径。 搭建 YUM 仓库 托管 RPM 仓库:分架构视图、noarch 中性投影、debuginfo 过滤、版本数量上限,以及可用的 dnf 客户端配置。 搭建 APT 仓库 托管 DEB 仓库:Debian 风格包池、by-hash 索引与 deb822 客户端配置。 仓库签名 生成专用 GPG 签名钥,为仓库元数据与 RPM 包 …