【備忘録】SEP(Symantec Endpoint Protection)クライアントがRHEL8にインストールできない

# 【エラー内容】

RHEL8にSEPクライアントを導入しようとしたが、インストール時に「<font color="Red">Package install dry run failed (1).</font>」エラーでインストールが失敗した。

インストールログ「sdcss_install.log」は下記の通り。
```text:sdcss_install.log
11/21/23 16:51:50: ISUPGRADE : false
11/21/23 16:51:50: clearing variable LD_LIBRARY_PATH...
11/21/23 16:51:50: Installer script at same level or newer level.. carry on
11/21/23 16:51:50: Running ./installagent.sh (PWD /root/symantec/instc1aFcn; version 2.2.7.24)
11/21/23 16:51:50: Appears to be clean install, so updating old repo file
11/21/23 16:51:50: backing up previous repo file to /etc/symantec/sdcss.repo.prev
11/21/23 16:51:50: Running key import for Symantec Repo
11/21/23 16:51:50:
Configuring Repo (linux-repo.us.securitycloud.symantec.com) ..
11/21/23 16:51:50: Refreshing repo cache and testing connection..
 
11/21/23 16:51:52: サブスクリプション管理リポジトリーを更新しています。
Symantec Agent for Linux repository              15 kB/s | 3.0 kB     00:00
メタデータキャッシュを作成しました。
11/21/23 16:51:52: Repo communication status = 0
11/21/23 16:51:54: build_no=6.9.2 release_no=3082 SEPFL_VERSION=14.3.3082.5000
11/21/23 16:51:54:
Symantec Agent for Linux
Symantec Endpoint Protection (SEPM) 14.3.3082.5000
エラー: 表示するための一致したパッケージはありません
11/21/23 16:51:57: selecting package from repo for install sdcss-scripts (2.2.7-24)
11/21/23 16:51:57:
No update needed for sdcss-scripts (2.2.7-24)
11/21/23 16:51:57:
No script package found that needs update
11/21/23 16:51:57: Installer script at same level or newer level.. carry on
11/21/23 16:51:57: installAgent() pkg: sdcss-caf
11/21/23 16:51:58: selecting package from repo for install sdcss-caf (2.0.5-260)
11/21/23 16:51:58: installAgent() pkg: sdcss
11/21/23 16:51:59: selecting package from repo for install sdcss (6.9.2-3082)
11/21/23 16:52:00: installAgent() pkg: sdcss-kmod
11/21/23 16:52:01: selecting package from repo for install sdcss-kmod (10.0.5-1869)
11/21/23 16:52:01:
Installing packages:
11/21/23 16:52:01:  Package                                  Version         Source
11/21/23 16:52:01:  ---------------------------------------- --------------- ------
11/21/23 16:52:01:  sdcss-caf                                2.0.5-260       (repo)
sdcss                                    6.9.2-3082      (repo)
sdcss-kmod                               10.0.5-1869     (repo)
 
11/21/23 16:52:01: installDependency: Check/Install dependencies...
11/21/23 16:52:01: installDependency: Dependent packages already available (at audit elfutils-libelf zip checkpolicy policycoreutils) on rhel8
11/21/23 16:52:01: Executing install dry run...
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:00:10 時間前の 2023年11月21日 16時51分52秒 に実施しました。
依存関係が解決しました。
================================================================================
パッケージ         Arch           バージョン               リポジトリー  サイズ
================================================================================
インストール:
sdcss              x86_64         6.9.2-3082.el8           SDCSS          25 M
sdcss-caf          x86_64         2.0.5-260                SDCSS          10 M
sdcss-kmod         x86_64         10.0.5-1869.el8          SDCSS         7.0 M
 
トランザクションの概要
================================================================================
インストール  3 パッケージ
 
合計サイズ: 43 M
インストール後のサイズ: 131 M
YUM はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。
パッケージのダウンロード:
[SKIPPED] sdcss-6.9.2.3082.el8.x86_64.rpm: Already downloaded
[SKIPPED] sdcss-caf-2.0.5.260.rhel8.x86_64.rpm: Already downloaded
[SKIPPED] sdcss-kmod-10.0.5.1869.el8.x86_64.rpm: Already downloaded
 
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'yum clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: パッケージのダウンロード中にエラーが発生しました:
  sdcss-6.9.2-3082.el8.x86_64: Already downloaded
  sdcss-caf-2.0.5-260.x86_64: Already downloaded
  sdcss-kmod-10.0.5-1869.el8.x86_64: Already downloaded
11/21/23 16:52:02: Refreshing repo cache and testing connection..
 
11/21/23 16:52:03: サブスクリプション管理リポジトリーを更新しています。
Symantec Agent for Linux repository              25 kB/s | 3.0 kB     00:00
メタデータキャッシュを作成しました。
11/21/23 16:52:03: Repo communication status = 0
11/21/23 16:52:03: Package install dry run failed (1).
11/21/23 16:52:03: installAgent: Install dry run failed on rhel8
11/21/23 16:52:03: Executing seticli command with parameters, action: 1 and installresult: 1
11/21/23 16:52:37: Successfully executed seticli command.
11/21/23 16:52:37: Error 1: Agent install failed.
```
# 【確認/実施したこと】

・”yum clean package” でキャッシュクリア - 改善なし
・SEPクライアントをアンインストール - 改善なし
・OS再起動 - 改善なし
・ファイアウォールの設定確認 - 異常なし
・proxyの確認 - 異常なし

# 【原因】
原因はパッケージ管理マネージャー「<font color="Red">DNF</font>」のバージョンが低かったことだった。

```text
[root@server symantec]$ rpm -qa | grep dnf
python3-dnf-plugins-core-4.0.21-11.el8.noarch
dnf-data-4.7.0-8.el8.noarch
python3-libdnf-0.63.0-8.el8.x86_64
dnf-4.7.0-8.el8.noarch <--------------------------------- DNFのバージョンが4.7.0-8
dnf-plugin-subscription-manager-1.28.29-3.el8.x86_64
libdnf-0.63.0-8.el8.x86_64
python3-dnf-4.7.0-8.el8.noarch
dnf-plugins-core-4.0.21-11.el8.noarch
```
# 【対応】
① DNFのバージョンを最新に上げる。
```text
[root@server symantec]$ yum check-update dnf
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 1:53:19 時間前の 2023年11月22日 13時47分55秒 に実施しました。
 
dnf.noarch                                                 4.7.0-19.el8                                                  rhel-8-for-x86_64-baseos-rpms

[root@server symantec]$ yum update dnf
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 1:53:45 時間前の 2023年11月22日 13時47分55秒 に実施しました。
依存関係が解決しました。
======================================================================================================================================================
パッケージ                      アーキテクチャー           バージョン                        リポジトリー                                      サイズ
======================================================================================================================================================
アップグレード:
dnf                             noarch                     4.7.0-19.el8                      rhel-8-for-x86_64-baseos-rpms                     543 k
dnf-data                        noarch                     4.7.0-19.el8                      rhel-8-for-x86_64-baseos-rpms                     157 k
python3-dnf                     noarch                     4.7.0-19.el8                      rhel-8-for-x86_64-baseos-rpms                     550 k
yum                             noarch                     4.7.0-19.el8                      rhel-8-for-x86_64-baseos-rpms                     209 k
 
トランザクションの概要
======================================================================================================================================================
アップグレード  4 パッケージ
 
ダウンロードサイズの合計: 1.4 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): dnf-data-4.7.0-19.el8.noarch.rpm                                                                               160 kB/s | 157 kB     00:00
(2/4): python3-dnf-4.7.0-19.el8.noarch.rpm                                                                            351 kB/s | 550 kB     00:01
(3/4): dnf-4.7.0-19.el8.noarch.rpm                                                                                    328 kB/s | 543 kB     00:01
(4/4): yum-4.7.0-19.el8.noarch.rpm                                                                                    101 kB/s | 209 kB     00:02
------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                  478 kB/s | 1.4 MB     00:03
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                              1/1
  scriptletの実行中: dnf-data-4.7.0-19.el8.noarch                                                                                                 1/1
  アップグレード中 : dnf-data-4.7.0-19.el8.noarch                                                                                                 1/8
  アップグレード中 : python3-dnf-4.7.0-19.el8.noarch                                                                                              2/8
  アップグレード中 : dnf-4.7.0-19.el8.noarch                                                                                                      3/8
  scriptletの実行中: dnf-4.7.0-19.el8.noarch                                                                                                      3/8
  アップグレード中 : yum-4.7.0-19.el8.noarch                                                                                                      4/8
  整理             : yum-4.7.0-8.el8.noarch                                                                                                       5/8
  scriptletの実行中: dnf-4.7.0-8.el8.noarch                                                                                                       6/8
  整理             : dnf-4.7.0-8.el8.noarch                                                                                                       6/8
  scriptletの実行中: dnf-4.7.0-8.el8.noarch                                                                                                       6/8
  整理             : python3-dnf-4.7.0-8.el8.noarch                                                                                               7/8
  整理             : dnf-data-4.7.0-8.el8.noarch                                                                                                  8/8
  scriptletの実行中: dnf-data-4.7.0-8.el8.noarch                                                                                                  8/8
  検証             : dnf-4.7.0-19.el8.noarch                                                                                                      1/8
  検証             : dnf-4.7.0-8.el8.noarch                                                                                                       2/8
  検証             : python3-dnf-4.7.0-19.el8.noarch                                                                                              3/8
  検証             : python3-dnf-4.7.0-8.el8.noarch                                                                                               4/8
  検証             : dnf-data-4.7.0-19.el8.noarch                                                                                                 5/8
  検証             : dnf-data-4.7.0-8.el8.noarch                                                                                                  6/8
  検証             : yum-4.7.0-19.el8.noarch                                                                                                      7/8
  検証             : yum-4.7.0-8.el8.noarch                                                                                                       8/8
インストール済みの製品が更新されています。
 
アップグレード済み:
  dnf-4.7.0-19.el8.noarch           dnf-data-4.7.0-19.el8.noarch           python3-dnf-4.7.0-19.el8.noarch           yum-4.7.0-19.el8.noarch
 
完了しました!

[root@server symantec]$ rpm -qa | grep dnf
python3-dnf-plugins-core-4.0.21-11.el8.noarch
python3-dnf-4.7.0-19.el8.noarch
python3-libdnf-0.63.0-8.el8.x86_64
dnf-plugin-subscription-manager-1.28.29-3.el8.x86_64
dnf-data-4.7.0-19.el8.noarch
dnf-4.7.0-19.el8.noarch <--------------------------------- DNFのバージョンが4.7.0-19
libdnf-0.63.0-8.el8.x86_64
dnf-plugins-core-4.0.21-11.el8.noarch
```
② 失敗したSEPクライアントをアンインストール
```
[root@server symantec]$ ./LinuxInstaller -u ALL
Stopping Agent..
Uninstalling Symantec Agent for Linux
Cloud Workload Protection Agent (CWP) ...
Removing packages sdcss-scripts
```
③ 念のためYUMキャッシュのクリア
```
[root@server symantec]$ yum clean packages
サブスクリプション管理リポジトリーを更新しています。
3 ファイルが削除されました
```
④ SEPクライアントを再インストール
```
[root@server symantec]$ ./LinuxInstaller
 
Configuring Repo (linux-repo.us.securitycloud.symantec.com) ..
 
Symantec Agent for Linux
Symantec Endpoint Protection (SEPM) 14.3.3082.5000
 
Installing scripts package:
Package                                  Version         Source
---------------------------------------- --------------- ------
sdcss-scripts                            2.2.7-24        (repo)
 
Installing packages:
Package                                  Version         Source
---------------------------------------- --------------- ------
sdcss-caf                                2.0.5-260       (repo)
sdcss                                    6.9.2-3082      (repo)
sdcss-kmod                               10.0.5-1869     (repo)
 
 
Agent installed successfully
Starting Agent..
 
Symantec Agent for Linux
Symantec Endpoint Protection (SEPM) 14.3.3082.5000
 
Daemon status:
  cafagent             running
  sisamdagent          running
  sisidsagent          running
  sisipsagent          running
 
Module status:
  sisevt               loaded
  sisap                loaded
  ```
# 【備考】
・[RedHat Enterprise Linux 8.6 で Linux クライアントのインストールに失敗する](https://knowledge.broadcom.com/external/article/254491/redhat-enterprise-linux-86-linux.html)

・RHEL8から「DNF」が「YUM」に代わり、デフォルトのパッケージマネージャーになっている。

>[【wikipedia】](https://en.wikipedia.org/wiki/DNF_(software))
DNFまたはDandified YUM [4] [5] [6]は、 .rpmベースのLinuxディストリビューション用のパッケージ マネージャーであるYellowdog Updater、Modified (yum)の次世代バージョンです。 DNF は 2013 年にFedora 18で導入されました。[7] 2015 年のFedora 22以降、 [8] Red Hat Enterprise Linux 8、[9]およびOpenMandriva、[10]のデフォルトのパッケージ マネージャーであり、 Mageiaの代替パッケージ マネージャーでもあります。

・「/usr/lib/symantec」配下に、SEPクライアント用のスクリプトがある。
　 status.sh、stop.sh など

・「/opt/Symantec/sdcssagent/AMD/tools」配下に、
 　SEPクライアントを制御するツール「sav」がある。
　- [コマンド ライン ツール（sav）を使用した Linux クライアントの管理](https://techdocs.broadcom.com/jp/ja/symantec-security-software/endpoint-security-and-management/endpoint-protection/all/managing-groups-clients-and-administrators/managing-client-computers-v55115300-d19e131/Running-the-Linux-client-command-line-tool-sav-conrefSES.html)