快速上手
Plain 模式为一个软件包目录生成仓库,不需要工作区或配置文件。准备 SOW、用于预览的 Python 3,以及至少一个 RPM 或 DEB 文件。
准备目录
创建可写目录。将下例输入路径换成实际文件,只执行已有格式对应的复制命令:
把包放在目录顶层;sow create 不扫描子目录。
生成元数据
目录中有一个 RPM 和一个 DEB 时,输出包含:
原始软件包旁会新增索引:
sow-quickstart/
- example.rpm
- example.deb
- repodata/RPM 索引与元数据
- PackagesDEB 平面索引
- Packages.gz
SOW 只为实际存在的格式生成索引。Plain 模式不生成 APT Release、InRelease 或 Release.gpg 文件,也不改变软件包名称与路径。
启动本地服务器
在另一个终端执行以下命令,并保持运行:
如果本机没有 APT 或 DNF 客户端,按已添加的格式检查 HTTP 入口:
此服务器只能从本机访问。要供其他客户端访问或长期运行,请按对外服务配置。
配置本机客户端
如果预览服务器运行在 Linux 上,为本机包管理器创建源配置文件。下面使用未签名元数据,并关闭客户端签名检查。需要签名元数据时,使用 Managed 工作区与签名教程。
把以下内容保存为 /etc/yum.repos.d/sow-quickstart.repo:
刷新索引并安装其中一个软件包:
把以下内容保存为 /etc/apt/sources.list.d/sow-quickstart.list:
末尾的 ./ 选择平面仓库。刷新索引并安装其中一个软件包:
把 PACKAGE_NAME 换成包内元数据中的名称,而不是文件名。macOS 用户可以完成上述 HTTP 检查;软件包安装需在兼容的 Linux 客户端上执行。
更新仓库
添加或删除软件包文件后,重新生成索引:
包文件与参数不变时,生成的元数据也不变,重复运行会报告 noop=true。
对于只包含 RPM 的平面目录,也可以运行 sow prune "$HOME/sow-quickstart" --dry-run 预览旧版 RPM,再执行 sow prune "$HOME/sow-quickstart" 删除旧版文件并刷新 repodata/。
替换其他 YUM 元数据生成工具时,按迁移现有 YUM 仓库保留客户端缓存所需的时间戳。
预览完成后,用 Ctrl+C 停止服务器,并从客户端删除本例的源配置文件。软件包目录可以保留,以后继续使用。
下一步
需要具名 Dist、架构视图、版本限制、元数据签名与发布目标时,使用 Managed 工作区。全部 Plain 参数见 sow create 与 sow prune。