离线安装

在没有互联网访问的环境中,使用离线安装包安装 Pigsty

Pigsty 默认从互联网上游 安装 所需软件包,但有些环境与互联网隔离。 为了解决这个问题,Pigsty 支持使用 离线软件包 进行离线安装。

离线软件包打包了所有需要的 RPM/DEB 软件包及其依赖;它本质上是在正常 安装 后采取的本地 APT / YUM 仓库的快照压缩包。

使用离线软件包的步骤:

  1. 下载 pigsty 离线软件包,将其放到 /tmp/pkg.tgz
  2. 下载 pigsty 源码包,解压(假设解压到 ~/pigsty
  3. cd ~/pigsty; ./bootstrap,它将解压软件包并使用本地仓库
  4. vi ~/pigsty.yml,覆盖 node_repo_modules 设为 local 以使用本地仓库
  5. 照常运行 ./install.yml。它将从本地仓库安装所有内容。

离线软件包

您可以从 GitHub 发布页面 找到这些软件包,例如:

d6e9d6fa73620460ceb373a0c2f41ebe  pigsty-v4.0.0.tgz
987529769d85a3a01776caefefa93ecb  pigsty-pkg-v4.0.0.d12.aarch64.tgz
2d8272493784ae35abeac84568950623  pigsty-pkg-v4.0.0.d12.x86_64.tgz
090cc2531dcc25db3302f35cb3076dfa  pigsty-pkg-v4.0.0.d13.x86_64.tgz
ddc54a9c4a585da323c60736b8560f55  pigsty-pkg-v4.0.0.el10.aarch64.tgz
d376e75c490e8f326ea0f0fbb4a8fd9b  pigsty-pkg-v4.0.0.el10.x86_64.tgz
8c2deeba1e1d09ef3d46d77a99494e71  pigsty-pkg-v4.0.0.el8.aarch64.tgz
9795e059bd884b9d1b2208011abe43cd  pigsty-pkg-v4.0.0.el8.x86_64.tgz
08b860155d6764ae817ed25f2fcf9e5b  pigsty-pkg-v4.0.0.el9.aarch64.tgz
1ac430768e488a449d350ce245975baa  pigsty-pkg-v4.0.0.el9.x86_64.tgz
e033aaf23690755848db255904ab3bcd  pigsty-pkg-v4.0.0.u22.aarch64.tgz
cc022ea89181d89d271a9aaabca04165  pigsty-pkg-v4.0.0.u22.x86_64.tgz
0e978598796db3ce96caebd76c76e960  pigsty-pkg-v4.0.0.u24.aarch64.tgz
48223898ace8812cc4ea79cf3178476a  pigsty-pkg-v4.0.0.u24.x86_64.tgz

我们通常为以下 Linux 发行版 发布离线软件包,使用最新的操作系统次要版本。

EL 发行版代号架构系统代码软件包
RockyLinux 9.6EL9x86_64el9.x86_64pigsty-pkg-v4.0.0.el9.x86_64.tgz
Ubuntu 24.04.2U24x86_64u24.x86_64pigsty-pkg-v4.0.0.u24.x86_64.tgz
Debian 12.11D12x86_64d12.x86_64pigsty-pkg-v4.0.0.d12.x86_64.tgz
RockyLinux 9.6EL9aarch64el9.aarch64pigsty-pkg-v4.0.0.el9.aarch64.tgz
Ubuntu 24.04.2U24aarch64u24.aarch64pigsty-pkg-v4.0.0.u24.aarch64.tgz
Debian 12.11D12aarch64d12.aarch64pigsty-pkg-v4.0.0.d12.aarch64.tgz

使用离线软件包

将离线软件包放置于 /tmp/pkg.tgz 路径下,进入 ~/pigsty 目录执行 ./bootstrap,即可解包使用离线安装包。 Pigsty 会将其解压至 /www/pigsty,然后配置系统仓库列表启用此仓库,并从中安装 ansible

自从 Pigsty v3.6 版本起,大部份配置模板都默认不再构建本地软件仓库,而是直接从互联网上游安装软件包。 少部分配置模板如 richfull 依然保留了旧版本的行为 —— 先构建本地仓库再使用。

如果您想要在自己的配置中使用已经解包配置好的离线软件包,请修改以下配置:

  • repo_enabled:将此参数打开,设置为 true,则会构建本地软件源(在大部份配置中被显式关闭)
  • node_repo_modules:将此参数设置为 local,则环境中所有节点都从本地软件仓库安装
    • 在大部份模板中,此参数现在被显式配置为:node,infra,pgsql,即直接从这些上游软件仓库安装。
    • 将其设置为 local,则会使用本地软件仓库安装所有软件包,速度最快,没有其他仓库的变数干扰。
    • 如果你想同时使用本地软件仓库和上游软件仓库,可以将其设置为 local,node,infra,pgsql

制作离线软件包

如果您选择的操作系统不在默认列表中,您可以使用内置的 cache.yml 剧本制作自己的离线软件包:

  1. 找到一台运行完全相同操作系统版本,且可以访问互联网的节点
  2. 运行标准 在线安装(建议使用 rich 配置模板:configure -c rich
  3. cd ~/pigsty; ./cache.yml:制作并获取离线软件包到 ~/pigsty/dist/${version}/
  4. 将离线软件包复制到没有互联网访问的环境中(ftp、scp、usb 等),通过 bootstrap 解包使用

优缺点

如果您使用的是上述列表中给出的操作系统(精确匹配的小版本),那么建议使用离线软件包。 Pigsty 为这些系统提供了开箱即用的预制离线软件包,在 GitHub 上提供免费下载。

如果你使用的操作系统版本不在上述列表中,你可以考虑自制离线安装包,我们也提供针对更多操作系统大小版本的离线安装包 预制服务(¥200)


混合方法

有一种混合方法可以使用离线软件包作为基础,并在线补足不匹配的增量软件包,这种办法可以融合离线安装与在线安装的优点。

例如,假设您使用的是 RockyLinux 9.5,但官方离线软件包是为 RockyLinux 9.6 制作的。 您可以使用 el9 离线软件包(虽然是针对 9.6 制作的),然后在执行正式安装前,执行 make repo-build 重新下载 9.5 对应的缺失软件包, Pigsty 将从上游仓库重新下载所需的增量。


Bootstrap

bootstrap 脚本将自动检测 /tmp/pkg.tgz 并默认将其解压到 /www/pigsty。 它还将设置操作系统软件包管理器的仓库文件,并安装 ansible 和其他工具。

./bootstrap       # 确保 ansible 正确安装(如果有离线包,优先使用离线安装并解包使用)

最后修改 2025-12-28: batch update (73c7f8e)