<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>plain on SOW</title>
    <link>https://sow.pgsty.com/zh/tags/plain/</link>
    <description>Recent content in plain 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/plain/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>SOW v0.3.0</title>
        <link>https://sow.pgsty.com/zh/blog/release/sow-v0.3.0/</link>
        <pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/blog/release/sow-v0.3.0/</guid>
        <description>&lt;p&gt;SOW 0.3.0 围绕性能、持久性与产品边界完成了一次集中改进：Plain 仓库生成只需一遍包体处理；&#xA;Managed 仓库消除了逐对象成员查询，复用经过认证的软件包事实，并用有界组提交提升载荷。正式&#xA;交付的二进制与发布流水线也统一收敛到 SOW 实际支持的仓库工作流。&lt;/p&gt;</description>
      </item>
    <item>
        <title>设计原则</title>
        <link>https://sow.pgsty.com/zh/blog/design/principles/</link>
        <pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/blog/design/principles/</guid>
        <description>&lt;p&gt;SOW 首先不是一个“元数据生成器”，而是一个所有权与状态迁移系统，只是它的输出恰好是&#xA;APT 与 RPM 仓库。下面这些原则让整套系统保持可推理。&lt;/p&gt;&#xA;&lt;h2 id=&#34;每个持久事实只有一个主人&#34;&gt;每个持久事实只有一个主人&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;每类持久事实都只有一个作用域与权威：&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow create</title>
        <link>https://sow.pgsty.com/zh/docs/command/create/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/command/create/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow create&lt;/code&gt; 把一个已经放着 &lt;code&gt;.rpm&lt;/code&gt; / &lt;code&gt;.deb&lt;/code&gt; 的目录变成平面仓库（flat repository）：在包旁边写出索引&#xA;文件。它就是 Plain 平面模式的全部——没有 &lt;code&gt;sow.yml&lt;/code&gt;、没有 SQLite、不做工作区发现。本页讲清单遍扫描&#xA;契约、&lt;code&gt;--pigsty&lt;/code&gt; 完成门禁，以及 &lt;code&gt;--sign-with&lt;/code&gt; 的 RPM 包签名。&lt;/p&gt;</description>
      </item>
    <item>
        <title>上手</title>
        <link>https://sow.pgsty.com/zh/docs/start/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/start/</guid>
        <description>&lt;p&gt;SOW 生成 RPM/YUM 与 DEB/APT 静态仓库，本身不是 HTTP 守护进程。先选择一条相互隔离的&#xA;运行路径：&lt;/p&gt;&#xA;&lt;ul class=&#34;cards&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Plain：&lt;/strong&gt; &lt;code&gt;sow create&lt;/code&gt; 在普通目录中为现有软件包重建索引。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Managed：&lt;/strong&gt; 工作区持续记录成员关系、Dist、架构视图、策略、签名、Generation、&#xA;审计历史与发布目标。&lt;/p&gt;</description>
      </item>
    <item>
        <title>Plain 平面仓库</title>
        <link>https://sow.pgsty.com/zh/docs/feature/plain/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/feature/plain/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow create&lt;/code&gt; 接手一个已经放着 &lt;code&gt;.rpm&lt;/code&gt; / &lt;code&gt;.deb&lt;/code&gt; 的目录，在包旁边生成平面仓库索引。Plain 模式没有工作区、配置文件、数据库、期望状态，也没有操作 journal。包目录就是权威事实来源，所有索引都是当前目录内容的可丢弃投影。&lt;/p&gt;</description>
      </item>
    <item>
        <title>快速上手</title>
        <link>https://sow.pgsty.com/zh/docs/start/quickstart/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/start/quickstart/</guid>
        <description>&lt;p&gt;Plain 模式在一个目录内生成平面仓库。它不读取 &lt;code&gt;sow.yml&lt;/code&gt;，不创建工作区，也不维护数据库。&lt;/p&gt;&#xA;&lt;div class=&#34;td-steps td-max-width-on-larger-screens&#34;&gt;&#xA;&lt;h2 id=&#34;1-准备目录&#34;&gt;准备目录&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;把 RPM 和/或 DEB 文件放在目录顶层。&lt;code&gt;sow create&lt;/code&gt; 不递归扫描，也不移动或改名包文件。&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/start/concepts/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/zh/docs/start/concepts/</guid>
        <description>&lt;h2 id=&#34;plain-还是-managed&#34;&gt;Plain 还是 Managed&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;两条运行路径相互独立。&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;Plain&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Managed&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;入口&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;sow create DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;init&lt;/code&gt;、&lt;code&gt;repo&lt;/code&gt;、&lt;code&gt;dist&lt;/code&gt;、&lt;code&gt;add&lt;/code&gt;、&lt;code&gt;rm&lt;/code&gt;、&lt;code&gt;build&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;状态&lt;/td&gt;&#xA;      &lt;td&gt;软件包目录&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;sow.yml&lt;/code&gt; 加私有 SQLite/操作日志&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;公共布局&lt;/td&gt;&#xA;      &lt;td&gt;平面 RPM/DEB 索引&lt;/td&gt;&#xA;      &lt;td&gt;Repository &lt;code&gt;pool/ + dists/&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;格式&lt;/td&gt;&#xA;      &lt;td&gt;RPM 与 DEB 可共存于一个目录&lt;/td&gt;&#xA;      &lt;td&gt;每个 Dist 一种格式&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&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;/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;/td&gt;&#xA;      &lt;td&gt;无&lt;/td&gt;&#xA;      &lt;td&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;目录内容已经等于目标仓库时使用 Plain。需要由 SOW 管理成员、策略、Generation、签名、&#xA;审计或发布时使用 Managed。&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
