文档 v3.7.0 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
离线安装
Pigsty 默认从互联网上游 安装 所需软件包,但有些环境与互联网隔离。 为了解决这个问题,Pigsty 支持使用 离线软件包 进行离线安装。
步骤 1
下载 pigsty 离线软件包,将其放到 `/tmp/pkg.tgz`
步骤 2
下载 pigsty 源码包,解压(假设解压到 `~/pigsty`)
步骤 3
`cd ~/pigsty; ./bootstrap`,它将解压软件包并使用本地仓库
步骤 4
`vi ~/pigsty.yml`,覆盖 [`node_repo_modules`](/zh/docs/node/param#node_repo_modules) 设为 `local` 以使用本地仓库
步骤 5
照常运行 `./install.yml`。它将从本地仓库安装所有内容。
什么是离线软件包?
离线软件包打包了所有需要的 RPM/DEB 软件包及其依赖; 它本质上是在正常 安装 后采取的本地 APT / YUM 仓库的快照压缩包。
您可以从 GitHub 发布页面 找到这些软件包,例如:
我们通常为以下 Linux 发行版 发布离线软件包,使用最新的操作系统次要版本。
| EL Distribution | Code | Arch | OS Code | Package |
|---|---|---|---|---|
| RockyLinux 9.6 | EL9 | x86_64 | el9.x86_64 |
pigsty-pkg-v3.7.0.el9.x86_64.tgz |
| Ubuntu 24.04.2 | U24 | x86_64 | u24.x86_64 |
pigsty-pkg-v3.7.0.u24.x86_64.tgz |
| Debian 12.11 | D12 | x86_64 | d12.x86_64 |
pigsty-pkg-v3.7.0.d12.x86_64.tgz |
| RockyLinux 9.6 | EL9 | x86_64 | el9.aarch64 |
pigsty-pkg-v3.7.0.el9.aarch64.tgz |
| Ubuntu 24.04.2 | U24 | x86_64 | u24.aarch64 |
pigsty-pkg-v3.7.0.u24.aarch64.tgz |
| Debian 12.11 | D12 | x86_64 | d12.aarch64 |
pigsty-pkg-v3.7.0.d12.aarch64.tgz |
https://github.com/pgsty/pigsty/releases/download/v3.7.0/pigsty-pkg-v3.7.0.el9.x86_64.tgz
在较低的操作系统小版本上使用更高小版本的离线软件包,大概率可以使用,但也有失败的可能
使用离线软件包?
将离线软件包放置于 /tmp/pkg.tgz 路径下,进入 ~/pigsty 目录执行 ./bootstrap,即可解包使用离线安装包。
Pigsty 会将其解压至 /www/pigsty,然后配置系统仓库列表启用此仓库,并从中安装 ansible。
自从 Pigsty v3.6 版本起,大部份配置模板都默认不再构建本地软件仓库,而是直接从互联网上游安装软件包。
少部分配置模板如 rich 与 full 依然保留了旧版本的行为 —— 先构建本地仓库再使用。
如果您想要在自己的配置中使用已经解包配置好的离线软件包,请修改以下配置:
repo_enabled:将此参数打开,设置为true,则会构建本地软件源(在大部份配置中被显式关闭)node_repo_modules:将此参数设置为local,则环境中所有节点都从本地软件仓库安装- 在大部份模板中,此参数现在被显式配置为:
node,infra,pgsql,即直接从这些上游软件仓库安装。 - 将其设置为
local,则会使用本地软件仓库安装所有软件包,速度最快,没有其他仓库的变数干扰。 - 如果你想同时使用本地软件仓库和上游软件仓库,可以将其设置为
local,node,infra,pgsql
- 在大部份模板中,此参数现在被显式配置为:
优缺点
如果您使用的是上述列表中给出的操作系统(精确匹配的小版本),那么建议使用离线软件包。 Pigsty 为这些系统提供了开箱即用的预制离线软件包,在 GitHub 上提供免费下载。
- 官方离线软件包经过测试。
- 在与互联网隔离的环境中交付的最简单方法。
- 通过一次性预下载所有软件包来加速安装过程。
- 快照确保可以正常工作,无需担心上游依赖项的变动导致依赖错漏。
- 如果操作系统次要版本不匹配,操作系统的 rpm/deb 软件包可能会出现问题
- 可能不包含最新的更新和操作系统安全补丁。
如果你使用的操作系统版本不在上述列表中,你可以考虑自制离线安装包,我们也提供针对更多操作系统大小版本的离线安装包预制服务(¥200)
引导程序
bootstrap 脚本将自动检测 /tmp/pkg.tgz 并默认将其解压到 /www/pigsty。
它还将设置操作系统软件包管理器的仓库文件,并安装 ansible 和其他工具。
引导程序默认会 清除 现有仓库,以确保只安装所需的仓库。
您可以在 /etc/yum.repos.d/backup (EL) 或 /etc/apt/backup (Debian / Ubuntu) 中找到它们
您可以使用 -k|--keep 参数来保持现有仓库文件不变:
制作离线软件包
如果您选择的操作系统不在默认列表中,
您可以使用内置的 cache.yml 剧本制作自己的离线软件包。
步骤 1
找到一台运行完全相同操作系统版本,且可以访问互联网的节点
步骤 2
运行标准 [在线安装](/zh/docs/install) (建议使用 `rich` 配置模板:`configure -c rich`)
步骤 3
`cd ~/pigsty; ./cache.yml`:制作并获取离线软件包到 `~/pigsty/dist/${version}/`
步骤 4
将离线软件包复制到没有互联网访问的环境中(ftp、scp、usb 等),通过 `bootstrap` 解包使用
自从 Pigsty v3.6 开始,大部份配置模板都直接从互联网上游安装软件包,而不是先下载到管理节点本地构建软件仓库,再从中安装。 你可以通过调整参数来恢复此前的默认行为,如果你需要构建自己的离线软件包,这很有用:
repo_enabled:将此参数打开,则会构建本地软件源(在大部份配置中被显式关闭)node_repo_modules:将此参数设置为local,则环境中所有节点都从本地软件仓库安装
部分配置模板,例如 rich 与 full 依然直接保留旧版本的行为 —— 先构建本地仓库再使用,故无需调整。
我们提供付费服务,提供经过测试的预制 Linux 主版本.次版本制作离线软件包。(¥200)
混合方法
有一种混合方法可以使用离线软件包作为基础,并在线补足不匹配的增量软件包,这种办法可以融合离线安装与在线安装的优点。
例如,假设您使用的是 RockyLinux 9.5,但官方离线软件包是为 RockyLinux 9.6 制作的。
您可以使用 el9 离线软件包,(虽然是针对 9.6 制作的)
然后在执行正式安装前,执行 make repo-build 重新下载 9.5 对应的缺失软件包,
Pigsty 将从上游仓库重新下载所需的增量。