[DLP] How to resolve dependencies when installing Data Loss Prevention (DLP) Servers on Red Hat Enterprise Linux (RHEL) installer.sh
search cancel

[DLP] How to resolve dependencies when installing Data Loss Prevention (DLP) Servers on Red Hat Enterprise Linux (RHEL) installer.sh

book

Article ID: 212890

calendar_today

Updated On:

Products

Data Loss Prevention Data Loss Prevention Enforce

Issue/Introduction

Running the install.sh script returns "error: Failed dependencies:"

 

Environment

Release : 7.x, 8.x

Component : RHEL

Cause

The RPM packages require dependencies that are missing from the server. 

Resolution

 

Resolving Dependencies 

METHOD 1:

Use yum to automatically find and install the missing dependencies. Run the following command from directory where the RPM files were extracted:

for i in `ls *.rpm`; do yum deplist ./$i | sort -u | xargs yum -y install; done;

You can proceed with the install by running either one of the following:

 ./install.sh

or

yum localinstall *.rpm 

METHOD 2:

Download the rpms dependencies locally and install from disk.

NOTE: you need to create the directory where the dependency rpms are downloaded to. /path/to/dlp/download is an example path and that should be changed to the path that is reachable on the system

  1. extract the dlp rpms
  2. mkdir -p /path/to/dlp/rpms/download
  3. yum install --downloadonly --downloaddir=/path/to/dlp/rpms/download *.rpm 



  4. You should see the following message:


  5. cd /path/to/dlp/rpms/download
  6. yum localinstall *.rpm

NOTE: change /path/to/dlp/rpms to where you extracted the DLP rpms. 

Method 3

This process requires perl to be installed on a rhel server. Also the returned output lists all dependencies that are installed. Below is an explanation of each switch:--installed

 

--installed             

Restrict query ONLY to installed pkgs - disables all repos
              and only acts on rpmdb.

--recursive
              When used with --whatrequires, and --requires --resolve,
              query packages recursively.

--resolve
              When used with --requires/--weak-requires/etc, resolve
              capabilities to originating packages.

1. cd to the extracted RPM install files 

2. run the following command:

yum repoquery --quiet --requires --installed --recursive --resolve $(ls *.rpm) | sed 's/-[0-9]\+:[0-9]\+.*//' | grep -v -i symantec | uniq|  sort

To find out what dependencies you are missing or not installed remove the --installed switch:

yum repoquery --quiet --requires --recursive --resolve $(ls *.rpm) | sed 's/-[0-9]\+:[0-9]\+.*//'  | grep -v -i symantec | uniq | sort

Dependencies List

The dependencies list can change from version of RHEL. The number of dependencies and the verison of the dependency may be different. 

When install RHEL and choosing the Server template in the Software Selection>Base Environment:

The below versions and the dependencies are listed below:

RHEL 8

16.0 RU1

16.0 RU2 - Attachments 16.0RU2_Rhel8 (EnforceServer), 16.0 RU2_Rhel8_detection (DetectionServer)

RHEL 9 

16.0 RU2 - Attachments rhel9_16RU2_detection.rtf(DetectionServer)

Additional Information

The for loop uses a backtick and not an apostrophe. 

NOTE: Method 2 works for RHEL 8.x, method1 works for RHEL 6.x. RHEL 7.x could use method 1 or 2. 

If using a local repo instead of RedHat repositories add the switch --enablerepo=*, for example:

yum install --downloadonly --downloaddir=/path/to/dlp/rpms/download *.rpm --enablerepo=*

Attachments

rhel9_16RU2_detection.rtf get_app
16.0RU2_Rhel8_detection.rtf get_app
16.0RU1_rhel8_detection.rtf get_app
16.0RU2_Rhel8.rtf get_app