Amazon LinuxにSEP14.xをインストールするコツみたいなもの

Symantec Endpoint Protection(SEP)14.xではAmazon LinuxがサポートされているがインストールパッケージにAmazon Linux用のAuto-Protect用のカーネルモジュールは用意されていない。カーネルモジュールのコンパイル環境がインストールの必須条件となる。このときSEPがAmazon Linuxの最新版(のカーネル)で動作するなら問題ないが、そうでないケースではコンパイル環境構築にちょっとしたコツが必要となる。例えば

・SEPの最新版が14.2
・Amazon Linuxの最新版が2018.03

のケースではSEP14.2がAmazon Linux 2018.03のカーネル4.14系に対応していない。対応しているカーネル4.9系の2017.09などをチョイスすることになるが、最新版でないAmazon Linux環境ではSEPに必要なパッケージを追加インストールする際にモノによってリポジトリの向き先を

・latest(最新)
・2017.09(チョイスしたAmazon Linuxのバージョン)

と、変える必要がある。パターン化できるので慣れてしまえば簡単だけど忘れるのでメモっとく。

・SEPのインストールに必要なパッケージ
glibc.i686 (SEPは32bitアプリケーションなので必要)

・SEPのカーネルモジュールコンパイルに必要なパッケージ
gcc
kernel-devel
kernel-headers

この中で
glibc.i686
gcc
は最新(latest)のリポジトリ

kernel-devel
kernel-headers
は動作中バージョン(2017.09)のリポジトリを参照してののインストールが必要となる。具体的には以下の通り。

現在のAmazon Linuxのバージョンを確認

# cat /etc/system-release
Amazon Linux AMI release 2017.09

現在のカーネルのバージョンを確認

# uname -r
4.9.70-25.242.amzn1.x86_64

*4.14.xxと表示された場合はSEP14.2ではカーネルのモジュールのコンパイルができないので諦める。将来のSEPでサポートされるまで待ち

現在のリポジトリの向き先を確認

# cat /etc/yum.conf
releasever=latest

デフォルト設定では「latest」(最新版)を向いてる。この状態で
# yum update
をやると最新版のカーネルに更新されて詰むので要注意。

まず「latest」の状態でgccと32bit版のglibcをインストール

# yum install glibc.i686
# yum install gcc

次にリポジトリの向き先を現在のバージョンの2017.09に変更

# vi /etc/yum.conf
releaserver=2017.09

リポジトリ設定変更後はyumのキャッシュをクリアする

# yum clean all

現在動作中のカーネルのバージョンを確認

# uname -r
4.9.70-25.242.amzn1.x86_64

# rpm -qa | grep kernel-
kernel-4.9.70-25.242.amzn1.x86_64

現行カーネルと同じバージョンのkernel-devel, kernel-headersをインストール

# yum install kernel-devel-4.9.70-25.242.amzn1.x86_64 kernel-headers-4.9.70-25.242.amzn1.x86_64

*リポジトリの向き先が「latest」だとFile not Foundになる。

念の為、カーネルと同じバージョンのdevel,headersがインストールされたことを確認

# rpm -qa | grep kernel-
kernel-devel-4.9.70-25.242.amzn1.x86_64
kernel-4.9.70-25.242.amzn1.x86_64
kernel-headers-4.9.70-25.242.amzn1.x86_64

一致していれば問題無し。後はSEPのインストールパッケージを解凍して

# ./install.sh -i

でインストール、カーネルモジュールのコンパイル、ロードが行われる。
*運用時のリポジトリの向き先はお好みで、とういか必要に応じて変更する。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です