<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>signing on SOW</title>
    <link>https://sow.pgsty.com/zh/tags/signing/</link>
    <description>Recent content in signing on SOW</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    
    
    
      <lastBuildDate>Fri, 28 Aug 2026 18:32:04 +0800</lastBuildDate>
    
    
      <atom:link href="https://sow.pgsty.com/zh/tags/signing/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>SOW v0.4.0</title>
        <link>https://sow.pgsty.com/zh/blog/release/sow-v0.4.0/</link>
        <pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/blog/release/sow-v0.4.0/</guid>
        <description>&lt;p&gt;SOW 0.4.0 是一次面向 Managed 仓库的完整性与恢复版本：它明确了深度校验的 I/O 契约，&#xA;禁止跨无关密钥拼装 RPM 信任，提供可审计的发布目标可变配置修正路径，并补齐 v0.3 迁移与&#xA;发布中断恢复的剩余缺口。&lt;/p&gt;</description>
      </item>
    <item>
        <title>SOW v0.2.0</title>
        <link>https://sow.pgsty.com/zh/blog/release/sow-docs-launch/</link>
        <pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/blog/release/sow-docs-launch/</guid>
        <description>&lt;p&gt;SOW 0.2.0 是 &lt;a href=&#34;https://pigsty.cc&#34;&gt;Pigsty&lt;/a&gt; 出品的自包含 RPM/DEB 仓库管理器，Release&#xA;资产以单个 Go 可执行文件覆盖 Linux 与 macOS 构建目标。&lt;/p&gt;&#xA;&lt;h2 id=&#34;两种工作模式&#34;&gt;两种工作模式&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Plain 模式&lt;/strong&gt; 给目录顶层已有的 RPM 与 DEB 文件就地生成索引：&lt;/p&gt;</description>
      </item>
    <item>
        <title>教程</title>
        <link>https://sow.pgsty.com/zh/docs/tutorial/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/tutorial/</guid>
        <description>&lt;p&gt;这里的教程都从全新工作区开始。请按顺序执行命令，并按你的环境替换大写占位符与包路径。&lt;/p&gt;&#xA;&lt;p&gt;如果还没装 SOW，先看&lt;a href=&#34;https://sow.pgsty.com/zh/docs/start/install/&#34;&gt;安装&lt;/a&gt;与&lt;a href=&#34;https://sow.pgsty.com/zh/docs/start/quickstart/&#34;&gt;快速上手&lt;/a&gt;。&#xA;下面的教程介绍 Managed 仓库路径。&lt;/p&gt;&#xA;&lt;div class=&#34;td-content-cards td-content-cards--auto&#34; id=&#34;td-cards-260b68e7-0&#34;&gt;&#xA;&#xA;&lt;article id=&#34;td-card-260b68e7-cards-0-0&#34; class=&#34;td-content-card&#34;&gt;&#xA;&lt;div class=&#34;td-content-card__body&#34;&gt;&#xA;&lt;div class=&#34;td-content-card__head&#34;&gt;&lt;a class=&#34;td-content-card__title&#34; href=&#34;https://sow.pgsty.com/zh/docs/tutorial/yum-repo/&#34;&gt;搭建 YUM 仓库&lt;/a&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;td-content-card__description&#34;&gt;&lt;p&gt;托管 RPM 仓库：分架构视图、noarch 中性投影、debuginfo 过滤、版本数量上限，以及可用的&#xA;dnf 客户端配置。&lt;/p&gt;</description>
      </item>
    <item>
        <title>仓库签名</title>
        <link>https://sow.pgsty.com/zh/docs/tutorial/signing/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/tutorial/signing/</guid>
        <description>&lt;p&gt;SOW 提供两条互相独立的签名路径：&lt;/p&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;路径&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;产物&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;客户端开关&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;RPM 元数据&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;repodata/repomd.xml.asc&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;repo_gpgcheck=1&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;APT 元数据&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;InRelease&lt;/code&gt; 与 &lt;code&gt;Release.gpg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;Signed-By&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;RPM 包体&lt;/td&gt;&#xA;      &lt;td&gt;RPM 内嵌签名&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;gpgcheck=1&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;APT 通过签名的 &lt;code&gt;Release&lt;/code&gt; 信任包哈希；SOW 不重签 DEB 包体。先配置元数据签名；只有当你负责&#xA;这些 RPM 字节的签名策略时，再启用包体签名。&lt;/p&gt;</description>
      </item>
    <item>
        <title>功能</title>
        <link>https://sow.pgsty.com/zh/docs/feature/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/feature/</guid>
        <description>&lt;p&gt;SOW 提供两条相互隔离的运行路径。Plain 模式无状态地重建一个目录；Managed 模式在工作区中&#xA;持续记录软件包成员关系与不可变仓库 Generation。两者都不会暗中接管对方的状态。&lt;/p&gt;</description>
      </item>
    <item>
        <title>签名模型</title>
        <link>https://sow.pgsty.com/zh/docs/feature/signing/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/feature/signing/</guid>
        <description>&lt;p&gt;客户端会对一个仓库提两个不同的问题,SOW 用两套彼此独立的机制分别回答。把它们混为一谈,是&amp;quot;我明明签了名,&lt;code&gt;dnf&lt;/code&gt; 还是报错&amp;quot;这类问题最常见的来源 —— 所以本页先把两者拆开。&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow show</title>
        <link>https://sow.pgsty.com/zh/docs/command/show/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/command/show/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow show&lt;/code&gt; 在所选 Repository 中解析一个包引用，并打印完整 Package Object。该命令只读，&#xA;不获取写锁。&lt;/p&gt;&#xA;&lt;h2 id=&#34;语法&#34;&gt;语法&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-094286a6-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-094286a6-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;含义&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;默认值&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;工作区发现起点&lt;/td&gt;&#xA;      &lt;td&gt;当前目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-r, --repo NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;选择 Repository&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://sow.pgsty.com/zh/docs/command/#repository-%E9%80%89%E6%8B%A9&#34;&gt;选择规则&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-d, --dist NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;将候选项收窄到指定 Dist；可重复&lt;/td&gt;&#xA;      &lt;td&gt;整个 Repository&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;将结果包装进 &lt;code&gt;sow.cli/v1&lt;/code&gt; Envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;包引用&#34;&gt;包引用&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;PACKAGE&lt;/code&gt; 可使用 &lt;code&gt;sha256:&amp;lt;hex&amp;gt;&lt;/code&gt; 内容身份、规范的 &lt;code&gt;rpm:&amp;lt;NEVRA&amp;gt;&lt;/code&gt; 或&#xA;&lt;code&gt;deb:&amp;lt;name&amp;gt;=&amp;lt;version&amp;gt;:&amp;lt;arch&amp;gt;&lt;/code&gt; 坐标、完整包文件名或裸二进制包名。精确文法见&#xA;&lt;a href=&#34;https://sow.pgsty.com/zh/docs/reference/package-ref/&#34;&gt;包引用&lt;/a&gt;。&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow check</title>
        <link>https://sow.pgsty.com/zh/docs/command/check/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/command/check/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow check&lt;/code&gt; 是 Managed Repository 的深度只读门禁。它哈希包体、校验状态、重建期望视图并验证&#xA;已声明签名；不会修复、构建、恢复 Operation，也不会获取写锁。&lt;/p&gt;&#xA;&lt;h2 id=&#34;语法&#34;&gt;语法&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-a120e646-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-a120e646-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow check [-j|--jobs N] [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;参数&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;含义&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;默认值&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-j, --jobs N&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;并行校验 Worker 数，不得小于 &lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;逻辑 CPU 数&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;工作区发现起点&lt;/td&gt;&#xA;      &lt;td&gt;当前目录&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-r, --repo NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;选择 Repository&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://sow.pgsty.com/zh/docs/command/&#34;&gt;选择规则&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-d, --dist NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;校验指定 Dist；可重复&lt;/td&gt;&#xA;      &lt;td&gt;全部 Dist&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;输出 &lt;code&gt;sow.cli/v1&lt;/code&gt; Envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;校验层&#34;&gt;校验层&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;稳态下，checker 按顺序报告九层校验：&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
