インストール手順

インストールの手順を実行する前に、GT.Mの任意の既存のバージョンのバックアップコピーを作成します。インストール手順は、インストール先のディレクトリにGT.Mの任意の既存のバージョンを上書きします。

[重要] 重要

リサーチやリカバリのために必要となる可能性がある別のリリースを上書きする既存のディレクトリへGT.Mリリースをけっしてインストールしないでください、そして、 現在使用中の上には決してしないでください。FISは、/usr/lib/fis-gtm/version_platformのような命名規則を使用して別のディレクトリに、GT.Mの各バージョンをインストールすることを勧めます。ここでのバージョン(version)がインストールされたGT.Mバージョンであり、そして、プラットフォーム(platform)がハードウェアアーキテクチャです。参考例, /usr/lib/fis-gtm/V6.2-001_x86_64.

正常にインストールするためには、すべて rootユーザで、インストール手順を実行してください。

GT.M配布ファイルを置くテンポラリディレクトリを見つけるか作成してください。

例:

$ mkdir /tmp/unpackgtm ; cd /tmp/unpackgtm

または

$ mkdir /var/tmp/unpackgtm ; cd /var/tmp/unpackgtm
[注意] 注意

テンポラリディレクトリを選択する時に、次の点に注意してください:

  • オペレーティングシステム、アプリケーションなどによって同時使用すると仮定するディレクトリ(/tmpなど)を使用することは安全であるかどうか。

  • 適切なアクセス権限を持つテンポラリファイルに、機密情報を保護することができるかどうか。

次のようなコマンドでディストリビューションを一時ディレクトリに解凍します(UNIX版では、アーカイブを解凍するためにgzipを使用する必要があり、解凍するにはtarを実行する必要があります):

$ tar zxvf /Distrib/GT.M/gtm_V62001_linux_i586_pro.tar.gz -C /temporary/directory
[注意] 注意

デバイスの名前とtarのオプションは、システムによって異なる場合があります。

GT.Mのディストリビューションには、さまざまなGT.Mシステム管理スクリプトが含まれます。以下のようなものが含まれてます:

configure to install GT.M     : GT.Mインストールのための設定
gtm sets a default user environment and starts GT.M.   :  gtmはデフォルトのユーザ環境を設定し、GT.Mを起動します
gtmbase An example to set up a default user environment  : gtmbase :デフォルトのユーザー環境を設定する例

gtmbaseは、開発できるスクリプトのタイプのシンプルな参考例です。そのまま使用しないでください。

gtmbaseと他のスクリプトの使用の詳細については、 >第3章: “基本的な操作を参照してください。

GT.Mのインストール手順を開始するには、テンポラリー・ディレクトリに移動してconfigureスクリプトを実行します。

#cd /temporary/directory
#./configure

configureスクリプトは、次のようなメッセージを表示します:

 GT.M Configuration Script
GT.M Configuration Script Copyright 2009, 2014 Fidelity Information Services, Inc. Use of this
software is restricted by the provisions of your license agreement.
What user account should own the files?(bin) 

GT.Mディストリビューションファイルを所有するユーザーの名前を入力します。デフォルトは、bin です。binという名前のユーザーがいない場合、configureスクリプトはGT.M配布ファイルを所有する代替ユーザーを求めます。

What group should own the files?(bin) 

GT.Mディストリビューションファイルを所有するグループの名前を入力します。デフォルトは、bin です。binの名前のグループが存在しない場合、configureスクリプトは、GT.M配布ファイルを所有する別のグループが求めます。

Should execution of GT.M be restricted to this group?(y or n)

グループにGT.Mディストリビューションの所有権を制限するには、 y を選択します。これは、セキュリティ関連のオプションです。デフォルトでは、GT.Mは、グループのアクセスを制限していません。

In what directory should GT.M be installed?

ディレクトリ名を入力します。例えば/usr/lib/fis-gtm/V6.2-001_x86_64。もしディレクトリが存在しない場合は、configureスクリプトは、次のようなメッセージを表示します:

Directory /usr/lib/fis-gtm/V6.2-001_x86_64 does not exist.
Do you wish to create it as part of this installation?(y or n)

y は、ディレクトリを作成します。n は、インストールをキャンセルします。

Installing GT.M...

UTF-8のサポートをインストールするための確認メッセージが続きます。

Should UTF-8 support be installed?(y or n)

y で選択を確認します。n を選択した場合, Unicodeの機能はインストールされません。

[注意] 注意

GT.Mは、Unicodeの関連する機能をインストールするには、少なくともICU Version 3.6が必要です。

”y”を選択した場合、configureスクリプトは、次のようなメッセージを表示します:

Should an ICU version other than the default be used?

nを選択した場合、configureスクリプトは、デフォルトの ICU versionを決定するためlibicuuc.so のシンボリックリンクを見つけます。

y を選択した場合、configureスクリプトは、次のようなメッセージが表示します:

Enter ICU version (at least ICU version 3.6 is required.
Enter as <major-ver>.<minor-ver>):

ICU version番号を、major-ver.minor-ver形式で入力してください。configureスクリプトは、次のメッセージを表示します:

All of the GT.M MUMPS routines are distributed with uppercase 
names. You can create lowercase copies of these routines 
if you wish, but to avoid problems with compatibility in 
the future, consider keeping only the uppercase versions 
of the files.
Do you want uppercase and lowercase versions of the MUMPS routines?(y or n).

y で選択を確認します。それらの小文字のバージョンが作成されている間、設定スクリプトは、MUMPSルーチンのリストの中に表示されています。その後、スクリプトはそれらのMUMPSルーチンをコンパイルします。GT.Mがオブジェクト・コードを共有ライブラリに置くことをサポートするプラットフォーム上では、ユーティリティ・プログラムのオブジェクト・ファイルとGT.Mで配布されるGDEを持つ libgtmutil.so ライブラリを作成します。これらのプラットフォームでは、次の質問をします:

Object files of M routines placed in shared library /usr/lib/fis-gtm/V6.2-001_x86_64/libgtmutil.so.
Keep original .o object files (y or n)? 

スクリプトがこれらのルーチンに別々のオブジェクトファイルを必要としない限り、安全に .o オブジェクトファイルを削除し、$gtm_dist の代わりに gtm_routines の最後の要素として $gtm_dist/libgtmutil.so を置きます。

configure スクリプトは次のように尋ねます:

Installation completed. Would you like all the temporary files removed from this directory?(y or n)

y で選択を確認します。FISは、すべてのテンポラリ・ファイルを削除することを推奨します。

おめでとう!GT.Mは、今、システム上にインストールされました。“リファレンス実装プラグイン - 共有ライブラリの依存関係”の章に進み、システム上の共有ライブラリの依存関係を識別して解決し、次に 第3章:“基本操作 でデフォルトのユーザー環境を設定します。

リファレンス実装のプラグイン - 共有ライブラリの依存関係

データベース暗号化とTLS参照実装プラグインには、libgcrypt11、libgpgme11、libconfig 1.4.x、libssl1.0.0 のランタイムライブラリが必要です。GT.Mをインストールした直後に、オペレーティング・システムのパッケージマネージャを使用して、これらのライブラリをインストールしてください。もしこれらのランタイムライブラリが利用できない場合、プラグインは次のようなエラーを生成する可能性があります(例えば、Ubuntu x86_64など)。

%GTM-I-TEXT, libxxxxxx.so.<ver>: cannot open shared object file: No such file or directory

libxxxxxx は libgcrypt、liggpgme、libconfig、libgcrypt、または libssl のいずれかで、<ver> は libxxxxxx 共有ライブラリのバージョン番号です。 参照実装プラグインに存在しない共有ライブラリの依存関係を見つけるには、次のコマンドを実行します:

$ ldd $gtm_dist/plugin/libgtm* | awk '/^.usr/{libname=$0}/not found/{print libname;print}'

このコマンドは次のような出力を生成します:

/usr/lib/fis-gtm/V6.2-001_x86_64/plugin/libgtmcrypt_openssl_AES256CFB.so:
 libcrypto.so.10 => not found
/usr/lib/fis-gtm/V6.2-001_x86_64/plugin/libgtmcrypt_openssl_BLOWFISHCFB.so:
 libcrypto.so.10 => not found
/usr/lib/fis-gtm/V6.2-001_x86_64/plugin/libgtmtls.so:
 libssl.so.10 => not found 

...これは、libcrypto.so.10 と libssl.so.10 の共有ライブラリが、システムに欠けていて、参照実装プラグインが、libxxxxxx.so.<ver> を生成することを意味します:共有オブジェクトファイルを開くことができません: 実行時にそのようなファイルやディレクトリのエラーはありません。不足している共有ライブラリを書き留めておき、失われたライブラリごとに以下の手順を実行します:

  • が既にインストールされている場合 :環境変数LD_LIBRARY_PATHにその場所を含めるように設定します。

  • もし libxxxxxx がインストールされていない場合 :パッケージマネージャを使用してランタイム libxxxxxx ライブラリをインストールします; ご使用のオペレーティング・システムにあらかじめパッケージ化されているディストリビューションを確認し、<ver>で指定されたバージョンのライブラリーが含まれていることを確認してください。

  • もし libxxxxxx がインストールされていて、バージョン番号がGT.Mが期待するものと異なる場合(<ver>):バージョン管理されていない libxxxxxx.so ライブラリを libxxxxxx.so.<ver>(推奨)にシンボリックリンクするか、リファレンス実装プラグインを再コンパイルすることができます。 手順は次のとおりです:

バージョン管理されていない .so(libxxxxxx.so)から libxxxxx.so.<ver> へシンボリックリンクを作成

  1. libgcrypt11、libgpgme11、libconfig 1.4.x、libssl1.0.0の開発ライブラリをインストールします。開発ライブラリのパッケージ名は、通常、 -dev 接尾辞を持ち、パッケージマネージャーから入手できます。たとえば、Ubuntu_x86_64では、次のようなコマンドで必要な開発ライブラリがインストールされます:

    sudo apt-get install libgcrypt11-dev libgpgme11-dev libconfig-dev libssl-dev

    これらのパッケージには、バージョン管理されていない.soライブラリ(libxxxxxx.so)が含まれています。

  2. システム上で、バージョン管理されていない .so ライブラリがインストールされているディレクトリを探します。ディレクトリの名前をメモしてください。

  3. rootとしてログインし、$gtm_dist/pluginディレクトリに移動します。

  4. libxxxxxx.so から libxxxxxx.so.<ver> へのシンボリックリンクを作成します。たとえば、もし libcrypto.so.10 および libssl.so.10 共有ライブラリが見つからない場合は、step 順2 でメモしたバージョン管理されていない .so ライブラリの場所から $gtm_dist/pluginにシンボリックリンクを作成します:

    ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so libcrypto.so.10
    ln -s /usr/lib/x86_64-linux-gnu/libssl.so libssl.so.10
[注意] 注意

参照実装プラグインライブラリは RPATH ディレクティブの $ORIGIN を使用してリンクされています、つまり、これらのライブラリは常に現在のディレクトリからライブラリ依存関係を探し始めます。したがって、$gtm_dist/plugin ディレクトリに欠けているライブラリのシンボリックリンクを作成することは安全です。パッケージマネージャが管理するディレクトリ内の共有ライブラリへのシンボリックリンクを作成しないでください、互換性のないライブラリのシンボリックリンクは決して予測できない結果になることはありません。

参照実装プラグインの再コンパイル

  1. libgcrypt11、libgpgme11、libconfig 1.4.x、libssl1.0.0の開発ライブラリをインストールします。開発ライブラリのパッケージ名は、通常、 -dev 接尾辞を持ち、パッケージマネージャーから入手できます。たとえば、Ubuntu_x86_64では、次のようなコマンドで必要な開発ライブラリがインストールされます:

  2. rootとしてログインし、gtm_dist 環境変数をGT.Mディストリビューションの場所を指すように設定します。

  3. $gtm_dist/pluginディレクトリの * .so ファイルのファイルアクセス権をメモしてください。

  4. $gtm_dist/plugin/gtmcrypt/source.tarを一時ディレクトリに展開します。

    mkdir /tmp/plugin-build
    cd /tmp/plugin-build
    cp $gtm_dist/plugin/gtmcrypt/source.tar .
    tar -xvf source.tar
  5. 参照実装プラグインを再コンパイルし、$gtm_dist/pluginディレクトリにインストールします。

    make uninstall
    make 
    make install 
    make clean
  6. $gtm_dist/plugin の新しくインストールされた.soファイルに、step 3 で書き留めた権限を割り当てます。

[重要] 重要

RedHat 以外のUNIXプラットフォームで、V6.1-000の参照実装プラグイン(データベース暗号化とTLS複製)を実行している場合は、libcrypto.so.10およびlibssl.so.10共有ライブラリのシンボリックリンクを作成するために 「バージョン管理外の.so(libxxxxxx.so)からlibxxxxxへのシンボリックリンクの作成」の手順に従ってください。GT.M UNIXディストリビューションは、パッケージマネージャーからlibcrypto.so.10およびlibssl.so.10バージョンライブラリを入手できるRedHatプラットフォームでコンパイルおよびリンクされています。RedHat以外のUNIXプラットフォームでは、これらのライブラリのバージョンがパッケージマネージャから使用できない可能性があり、バージョン管理されていない.soライブラリにリンクする必要があります。

inserted by FC2 system