---
url: /v6.2/en-us/install-dependencies-offline.md
---
# Offline Environment Dependency Components Preparation

When the installation environment is isolated and unable to connect to the internet, the first step is to install the offline dependency package. This article provides information on the dependency components and offers CentOS offline dependency installation packages and offline dependency packages compatible with CentOS.

## Dependency Component Information

There are some differences in component dependencies across different operating systems. Choose the corresponding dependency components for installation based on your deployment system.

|Deployment Type|Required Dependency Component Information|Greenplum Engine Dependency Component Information|Doris Engine Dependency Component Information|
|------|-------------|----------------------|-------------------|
|Standalone|jdk-11, wget, net-tools, coreutils, rsync|python2.7, libcgroup-tools (cgroups dependency), m4, python-yaml|jdk-1.8|
|Cluster|ansible (only deployment installation node), jdk-11, wget, net-tools, coreutils, rsync|python2.7, libcgroup-tools (cgroups dependency), m4, python-yaml|jdk-1.8|

### JDK Component Resources

HENGSHI SENSE provides jdk-11 and jdk-1.8 component resources internally. You can use HENGSHI SENSE resources as needed or use your own resources.

* Use Own Resources
  ```shell
   cd /opt/hengshi
   vi conf/hengshi-sense-env.sh ## Edit the configuration file
   export HS_JDK_HOME="jdk-11 deployment directory" ## Add this configuration information
   export DORIS_JDK_HOME="jdk-1.8 deployment directory"  ## Add this configuration information when the engine type is Doris
  ```
* Use HENGSHI Resources
  ```shell
  ## jdk-11 resource acquisition
  cd /opt/hengshi/lib
  export hs_version="openjdk-11.0.17_8.1"
  wget https://download.hengshi.com/hs-jdk/${hs_version}.tar.gz
  tar -zxf ${hs_version}.tar.gz && rm ${hs_version}.tar.gz
  ln -sf ${hs_version} jdk
  ## When the engine type is Doris, jdk-1.8 resource acquisition
  cd /opt/hengshi/lib
  export hs_version="openjdk-8u352-b08-linux-64"
  wget https://download.hengshi.com/hs-jdk/${hs_version}.tar.gz
  tar -zxf ${hs_version}.tar.gz && rm ${hs_version}.tar.gz
  ```

## Pre-built CentOS Offline Dependency Package Installation

The offline installation dependencies of HENGSHI SENSE mainly include the following three types.

* base: Dependencies required for normal standalone deployment, including openjdk and syslog-ng, etc.
* ansible: Additional ansible toolkit required for cluster deployment on virtual machines.

1. Please download the corresponding offline zip package based on the OS version of the installation environment.

| os   |  base  | ansible |
|----|----|----|
| centos-7.9.2009 | [base](https://download.hengshi.com/3rd/sense-deps/7.9.2009/base-7.9.2009.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.9.2009/ansible-7.9.2009.tar.gz) |
| centos-7.8.2003 | [base](https://download.hengshi.com/3rd/sense-deps/7.8.2003/base-7.8.2003.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.8.2003/ansible-7.8.2003.tar.gz) |
| centos-7.7.1908 | [base](https://download.hengshi.com/3rd/sense-deps/7.7.1908/base-7.7.1908.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.7.1908/ansible-7.7.1908.tar.gz) |
| centos-7.6.1810 | [base](https://download.hengshi.com/3rd/sense-deps/7.6.1810/base-7.6.1810.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.6.1810/ansible-7.6.1810.tar.gz) |
| centos-7.5.1804 | [base](https://download.hengshi.com/3rd/sense-deps/7.5.1804/base-7.5.1804.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.5.1804/ansible-7.5.1804.tar.gz) |
| centos-7.4.1708 | [base](https://download.hengshi.com/3rd/sense-deps/7.4.1708/base-7.4.1708.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.4.1708/ansible-7.4.1708.tar.gz) |
| centos-7.3.1611 | [base](https://download.hengshi.com/3rd/sense-deps/7.3.1611/base-7.3.1611.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.3.1611/ansible-7.3.1611.tar.gz) |
| centos-7.2.1511 | [base](https://download.hengshi.com/3rd/sense-deps/7.2.1511/base-7.2.1511.tar.gz) | [ansible](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |
| ubuntu-18.04 | [base](https://download.hengshi.com/3rd/sense-deps/ubuntu-18-04/ubuntu-deps-18-04.zip) | [](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |
| ubuntu-20.04 | [base](https://download.hengshi.com/3rd/sense-deps/ubuntu-20-04/ubuntu-deps-20-04.zip) | [](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |
| ubuntu-22.04 | [base](https://download.hengshi.com/3rd/sense-deps/ubuntu-22-04/ubuntu-deps-22-04.zip) | [](https://download.hengshi.com/3rd/sense-deps/7.2.1511/ansible-7.2.1511.tar.gz) |

2. Unzip and install the zip package. Below is an example of how to unzip and install using base as an example. The processing methods for syslog-ng and ansible installation packages are the same.

```shell
tar -xf base-<ver>.tar.gz
yum localinstall base-<ver>/*.rpm
```

## Offline Dependency Package Installation Compatible with CentOS

When the OS of the installation environment is not CentOS but is compatible with CentOS, you can obtain the dependency packages and install them using the following method.

1. Find the corresponding dependency packages based on the compatible CentOS versions in the table above, decompress them, and execute the following command to obtain the package names of all packages in the offline dependency package.
   ```shell
   bash -c "source bin/init-os; echo \${DEP_PKGS[@]}"
   ```
2. On an external network device with the same OS (both OS and CentOS version are the same) as the isolated environment, execute the following command to obtain the dependency packages. Where `PKG_PATH` is the download save path, and `PKGS` are the package names of all packages in the dependency package obtained in step 1.
   ```shell
   sudo yum install yum-utils
   sudo yumdownloader --destdir=$PKG_PATH --resolve $PKGS
   ```
3. Copy the dependency packages obtained in step 2 to the internal network machine and execute the following command to install the dependency packages, where `PKG_PATH` is the path where the dependency packages are stored in the internal network environment.
   ```shell
   sudo yum localinstall $PKG_PATH/*.rpm
   ```
