Offline Install
install pigsty without Internet access?
Pigsty install from Internet upstream by default, while some environments are isolated from the Internet. To address this issue, Pigsty supports offline installation from offline packages.
What is offline package?
Offline package packs all the required RPM/DEB packages and their dependencies; it is essentially a snapshot tarball of local APT / YUM repo, taken after a normal installation.
You can find these packages from the GitHub release page, for example:
471c82e5f050510bd3cc04d61f098560 pigsty-v3.4.1.tgz
4ce17cc1b549cf8bd22686646b1c33d2 pigsty-pkg-v3.4.1.d12.aarch64.tgz
c80391c6f93c9f4cad8079698e910972 pigsty-pkg-v3.4.1.d12.x86_64.tgz
811bf89d1087512a4f8801242ca8bed5 pigsty-pkg-v3.4.1.el9.x86_64.tgz
9fe2e6482b14a3e60863eeae64a78945 pigsty-pkg-v3.4.1.u22.x86_64.tgz
We usually release offline packages for the following linux distro, with the latest OS minor version.
EL Distribution | Code | Arch | OS Code | Package |
---|---|---|---|---|
RockyLinux 9.5 | EL9 | x86_64 | el9.x86_64 | pigsty-pkg-v3.5.0.el9.x86_64.tgz |
Ubuntu 24.04.5 | U24 | x86_64 | u24.x86_64 | pigsty-pkg-v3.5.0.u24.x86_64.tgz |
Debian 12.10 | D12 | x86_64 | d12.x86_64 | pigsty-pkg-v3.5.0.d12.x86_64.tgz |
Debian 12.10 | D12 | aarch64 | d12.aarch64 | pigsty-pkg-v3.5.0.d12.aarch64.tgz |
Offline Package in made for specific Linux OS Major.Minor Version
Using offline package on lower minor version may have a chance of success, but it is not guaranteed.
Pros and Cons
If you are using the exact same OS minor version above, using offline packages is advised.
Advantages of using offline package
- Official offline packages are tested.
- The easiest way to deliver on Internet isolated environment.
- Speed up the installation process by pre-download all packages in one-pass.
- The snapshot is ensured working without worrying about upstream dependency breakage.
Disadvantages of using offline package
- If OS minor version not match, OS rpm/deb packages may break
- It may not contain the latest updates and OS security patches.
Bootstrap
Download the pigsty offline package, put it to /tmp/pkg.tgz
Download the pigsty source package, extract it (assume ~/pigsty
)
cd ~/pigsty; ./bootstrap
, it will extract and use it
Install as usual, ./configure; ./install.yml
The bootstrap
script will automatically detect /tmp/pkg.tgz
and extract it to /www/pigsty
by default.
It will also setup the os package manager repo file and install ansible
and other utils.
Where are my repo files?
Bootstrap will wipe-out existing repo by default to ensure only the required repo are installed.
You can find them in /etc/yum.repos.d/backup
(EL) or /etc/apt//backup
(debian / ubuntu)
If you want to keep your existing repo
You can use the -k|--keep
parameter to keep the existing repo files intact:
./bootstrap -k # or --keep
Make offline package
If your OS choice is not in the default offline package offering list,
you can make your own offline package with the built-in cache.yml
playbook.
Find a node running exact same OS version with the Internet access
Run standard online installation procedure
cd ~/pigsty; ./cache.yml
: make and fetch the offline package to dist/${version}/
Copy the offline package to the environment without Internet access (ftp, scp, usb,...)
We offer paid service to make offline packages for precise Linux major.minor versions. ($30
)
Hybride Approach
There's a hybrid approach to using the offline package and do online install upon it. This could be useful if your OS repo is a local Intranet repo.
Let's say you are using RockyLinux 9.3, but the official offline package is made for RockyLinux 9.5.
You can use the el9
offline packages, and remove the /www/pigsty/repo_complete
marker file,
to force Pigsty to perform a repo build stage (infra.repo
) during installation.
If you want to use the latest version or resolve any dependency conflict, you can remove these rpm/deb and run make repo
,
pigsty will re-download them from the upstream repo.