Privileged Access Manager Server Control ( 以下、 PAMSC) を Linux 環境にインストールしようとしたときにマトリックスではサポートされているのに、以下のエラーが出てインストールができない。
エラーメッセージ :
# ./install_base
/tmp/pre_install/getvar.sh: line 2550: [: O: integer expression expected
/tmp/pre_install/getvar.sh: line 2535: [: O: integer expression expected
./install_base: line 2464: [: O: integer expression expected
このプラットフォームには対応していません。
OS バージョンおよびカーネルはマトリックスでサポート対象となっている。
CA Privileged Access Manager Server Control Endpoint Compatibility Matrix
Privileged Access Manager Server Control: Linux 版の全バージョン
インストールプロセスでは install_base スクリプトによって 様々なオプションを指定してgetvar.sh が呼び出され必要な OS の情報を取得します。
getvar.sh は、主に /etc/os-release ファイルの内容を元に情報を取得します。
正常な環境で スクリプトをトレースモードで起動すると以下のようなメッセージが確認できます。
+ '[' -f /etc/os-release ']'
++ awk -F= '/^VERSION_ID/ {print $2}' /etc/os-release
++ awk -F. '{print $1}'
++ tr -d '"'
+ OSMAJ=8
++ awk -F= '/^VERSION_ID/ {print $2}' /etc/os-release
++ awk -F. '{print $2}'
++ tr -d '"'
+ OSMIN=6
上記の例では OS のメジャーバージョンとマイナーバージョンを取得しています。
ところが、うまく動作しないケースでは以下のように正しい情報が取得できていません。
+ '[' -f /etc/os-release ']'
++ awk -F= '/^VERSION_ID/ {print $2}' /etc/os-release
++ tr -d '"'
++ awk -F. '{print $1}'
+ OSMAJ=049-202
++ awk -F= '/^VERSION_ID/ {print $2}' /etc/os-release
++ tr -d '"'
++ awk -F. '{print $2}'
+ OSMIN=git20220511
これらの場合は メジャーバージョンとマイナーバージョンが整数値ではなく文字列になってしまっています。
このようなケースでは /etc/os-release が壊れているか、内容の解析方法が間違っている可能性が高いです。
結果、サポートバージョンではないエラーが発生します。
/etc/os-release は必要な情報がそこから取得できるようにする必要があります。
もし他の同じOS/カーネルバージョンの環境で成功するものがあれば、その環境からファイルをコピーする方法もあります。
また、以下の手順で /usr/lib/os-release ファイルをシンボリックリンクして利用する方法もあります。
# mv /etc/os-release /var/crash/
# ln -s /usr/lib/os-release /etc/os-release
その後再度インストールスクリプトを実行します。
なお、本KBは以下の英文 KB を翻訳し補足しました。
Article ID: 270422: Error "This platform is not supported" installing PAM SC in Linux even if the Linux version is supported