# 下载 SOW

> 从 Pigsty 软件源、固定版本 RPM/DEB 安装包、Linux 与 macOS 归档或源码构建安装 SOW，并核对每个已发布制品的 SHA-256 摘要。

## 下载 SOW

**一个自包含二进制，五条获取路径。** 每条路径安装的都是同一个可执行文件、同一套仓库语义；选择依据是这台主机由谁负责生命周期，而不是功能差异。

[最新 GitHub Release](https://github.com/pgsty/sow/releases/latest)

[安装说明](docs/start/install/)

## 选择与主机相匹配的安装路径

命令、链接与摘要全部来自同一份 Release 记录，不会与它们指向的制品脱节。Pigsty 软件源跟随滚动渠道，其余每条路径都固定在当前 Tag。

## Pigsty 软件源

Linux 主机上最省事的一条路径：SOW 已收录进 Pigsty infra 软件源，`sow` 与主机上其它软件包一起用 APT / YUM 安装和升级。中国大陆可使用 `repo.pigsty.cc` 镜像。

**APT · Debian \/ Ubuntu**

```bash
sudo tee /etc/apt/sources.list.d/pigsty-infra.list > /dev/null <<'EOF'
deb [trusted=yes] https://repo.pigsty.io/apt/infra generic main
EOF

sudo apt update
sudo apt install -y sow
```

**YUM · RHEL \/ Rocky \/ Alma \/ Anolis**

```bash
sudo tee /etc/yum.repos.d/pigsty-infra.repo > /dev/null <<'EOF'
[pigsty-infra]
name=Pigsty Infra for $basearch
baseurl=https://repo.pigsty.io/yum/infra/$basearch
enabled=1
gpgcheck=0
module_hotfixes=1
EOF

sudo dnf makecache
sudo dnf install -y sow
```

**中国大陆镜像**

```bash
# Same paths, different host: repo.pigsty.io -> repo.pigsty.cc

# APT
sudo sed -i 's|repo.pigsty.io|repo.pigsty.cc|' /etc/apt/sources.list.d/pigsty-infra.list
sudo apt update

# YUM
sudo sed -i 's|repo.pigsty.io|repo.pigsty.cc|' /etc/yum.repos.d/pigsty-infra.repo
sudo dnf makecache
```

## RPM \/ DEB

适用于离线交付或需要逐级晋级的流水线。安装包带 `1PGSTY` 发布后缀，把可执行文件 装到 `/usr/bin/sow`，并随包安装 Apache-2.0 许可证。

[RPM \/ DEB](https://github.com/pgsty/sow/releases/tag/v0.4.0)

**RPM · x86\_64 \/ aarch64**

```bash
ARCH=$(uname -m)
curl -fLO "https://github.com/pgsty/sow/releases/download/v0.4.0/sow-0.4.0-1PGSTY.$ARCH.rpm"
sudo rpm -Uvh "sow-0.4.0-1PGSTY.$ARCH.rpm"
```

**DEB · amd64 \/ arm64**

```bash
ARCH=$(dpkg --print-architecture)
curl -fLO "https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0-1PGSTY_$ARCH.deb"
sudo apt install "./sow_0.4.0-1PGSTY_$ARCH.deb"
```

## 二进制归档

面向 Linux 与 macOS 的免安装器二进制，覆盖 `amd64` 与 `arm64`，适合 CI、macOS 工作站，以及由你自己决定安装路径的主机。每个归档包含 `sow` 可执行文件、 `README.md`、`CHANGELOG.md` 与 Apache-2.0 `LICENSE`。不提供 Windows 构建。

**Linux · amd64**

```bash
# Swap linux_amd64 for linux_arm64, darwin_amd64, or darwin_arm64.
curl -fLO https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0_linux_amd64.tar.gz
tar -xzf sow_0.4.0_linux_amd64.tar.gz
sudo install -m 0755 sow /usr/local/bin/sow

sow version
```

**macOS · Apple Silicon**

```bash
curl -fLO https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0_darwin_arm64.tar.gz
tar -xzf sow_0.4.0_darwin_arm64.tar.gz
mkdir -p ~/.local/bin
install -m 0755 sow ~/.local/bin/sow

sow help
```

## 源码构建

自行构建对应 Tag。模块声明 Go 1.27.0，生成元数据不需要 C 工具链；下面就是 Release Pipeline 使用的构建参数，因此源码构建与官方发布报告相同的产品版本。

[源码构建](https://github.com/pgsty/sow/tree/v0.4.0)

**克隆、检出、构建**

```bash
git clone https://github.com/pgsty/sow.git
cd sow
git checkout v0.4.0

CGO_ENABLED=0 go build -trimpath \
  -ldflags="-s -w -X github.com/pgsty/sow/internal/v2cli.Version=0.4.0" \
  -o sow ./cmd/sow
sudo install -m 0755 sow /usr/local/bin/sow
```

## 发布制品

本次 Release 发布的全部制品及其 SHA-256 摘要。安装前请从同一个 Release 下载 `SHA256SUMS`，并只校验与所下载文件对应的那一行。

[发布制品](https://github.com/pgsty/sow/releases/tag/v0.4.0)

**校验单个制品**

```bash
ASSET=sow_0.4.0_linux_amd64.tar.gz
curl -fLO https://github.com/pgsty/sow/releases/download/v0.4.0/SHA256SUMS

# Linux
grep "  $ASSET$" SHA256SUMS | sha256sum -c -
# macOS
grep "  $ASSET$" SHA256SUMS | shasum -a 256 -c -
```

| 文件 | 校验和 |
| --- | --- |
| [sow\-0\.4\.0\-1PGSTY\.aarch64\.rpm](https://github.com/pgsty/sow/releases/download/v0.4.0/sow-0.4.0-1PGSTY.aarch64.rpm) | SHA-256 · `4f164abd39bb8ee9512422657853aa6cada82a5d9245824c279e6a1b8e261f45` |
| [sow\-0\.4\.0\-1PGSTY\.x86\_64\.rpm](https://github.com/pgsty/sow/releases/download/v0.4.0/sow-0.4.0-1PGSTY.x86_64.rpm) | SHA-256 · `c8cf10461ba0cc56e0c270e7d0a8c073153575c4fef620f5dd5d48abc9b508ce` |
| [sow\_0\.4\.0\-1PGSTY\_amd64\.deb](https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0-1PGSTY_amd64.deb) | SHA-256 · `447cc9c85dccb6d87573360c2a3e9b25b1fcf9c2ce87fcf9d8ae16ed52e1702b` |
| [sow\_0\.4\.0\-1PGSTY\_arm64\.deb](https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0-1PGSTY_arm64.deb) | SHA-256 · `b9a81ab5dd87a3756d2930856e5849acde7f3035eeb703c2b379c436b701202d` |
| [sow\_0\.4\.0\_darwin\_amd64\.tar\.gz](https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0_darwin_amd64.tar.gz) | SHA-256 · `760672c04327fa6dea8c0042baf09dba1444132aecc9f2af7c2d3ece6df20c04` |
| [sow\_0\.4\.0\_darwin\_arm64\.tar\.gz](https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0_darwin_arm64.tar.gz) | SHA-256 · `e5a4a883b386a947b16931c7b56eaca41fb9bad3a232d7a900547846b3f94b79` |
| [sow\_0\.4\.0\_linux\_amd64\.tar\.gz](https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0_linux_amd64.tar.gz) | SHA-256 · `ca1f18fa082c9566d0e884858879b6af983ffd9147c1aef9b45ad3603b63cd61` |
| [sow\_0\.4\.0\_linux\_arm64\.tar\.gz](https://github.com/pgsty/sow/releases/download/v0.4.0/sow_0.4.0_linux_arm64.tar.gz) | SHA-256 · `2aa3bd177b15581529f707150ef68b131e8eee834dcde0d5f74b11bd612f5b9b` |

## 装好之后去哪里

- [**快速上手**](docs/start/quickstart/) — 五步把装有 RPM 与 DEB 文件的目录变成可直接使用的平面仓库。

- [**第一个工作区**](docs/start/workspace/) — 从 Plain 目录进入 Managed 工作区，管理成员关系、筛选策略与 Generation。

- [**CLI 命令参考**](docs/command/) — 每条命令的语法、选择规则、输出、状态迁移与退出行为。

- [**对外提供仓库**](docs/tutorial/serving/) — 用你已经在运维的 HTTP 服务器，对外提供生成好的公共交付树。

- [**兼容性**](docs/reference/compatibility/) — 覆盖了哪些发行版、包管理客户端与对象存储目标。

- [**发布说明**](blog/release/) — 每个 Tag 改了什么，中英双语，附带制品与升级说明。

## 装好了？现在构建第一个仓库。

[上手](docs/start/)

[pgsty/sow](https://github.com/pgsty/sow)