Go to main content
Oracle Solaris 11 移行の開発ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

Preflight Checker のインストール方法

  1. Preflight Checker 用のディレクトリを作成します。
    # mkdir /export/home/preflightcheck/app1
  2. Oracle Solaris Preflight Applications Checker のダウンロードページから、Oracle Solaris Preflight Checker のインストール可能 zip ファイルをダウンロードします。
    • SPARC システムの場合は、PreflightCheckerTool-v11-2-0-SPARC.zip をダウンロードします。
    • X86 システムの場合は、PreflightCheckerTool-v11-2-0-X86.zip をダウンロードします。
  3. ダウンロードしたファイルを新しいディレクトリに解凍します。

    次に例を示します。

    # unzip PreflightCheckerTool-v11-2-0-SPARC.zip
  4. セットアップスクリプトを実行して、アプリケーションをインストールし、最終的なレポートを保存する場所を指定します。
    # cd /export/home/preflightcheck/app1/scripts
    # chmod +x setup.sh
    # ./setup.sh

    インストール時に最終的なレポートの保存場所を指定しない場合、最終的なレポートはデフォルトディレクトリ /export/home/preflightcheck/app1/reports に保存されます。

    スクリプトによってツールが展開され、インストールされます。

  5. アプリケーションと同時に Docs サブディレクトリにダウンロードされたドキュメントを参照してください。

Preflight Checker の使用

バイナリアナライザ、ソースコードアナライザ、または実行時アナライザモジュールは、Oracle Solaris 10 システムで実行されているチェック対象のバイナリやソースコード、またはプロセスを含むディレクトリを示すことによって実行します。

Preflight Checker では、Oracle Solaris 10 上で実行中のアプリケーションプロセス、アプリケーションバイナリ、およびアプリケーションのソースコードを分析して、Oracle Solaris 11 上でアプリケーションを実行した場合の既知の潜在的な問題を報告できます。

Preflight Checker をインストールおよび実行するための詳細な手順は、ツールのインストールディレクトリの docs サブディレクトリにある README ファイルに記載されています。

コマンド行での Preflight Checker アプリケーションの実行

Preflight Checker のインストール後は、次のコマンドを使用して起動できます。

% preflightchecker.sh [options] file-or-directory

Preflight Checker (preflightchecker.sh) の実行に使用できるオプションをコマンド行で一覧表示するには、–h オプションを使用します。

% preflightchecker.sh –h

静的バイナリの分析中、Preflight Checker はソース内でオブジェクトファイルを特定し、Oracle Solaris 11 では機能しない可能性がある非推奨の API、サポートされていない API、および不安定な API が使用されていないかどうかをチェックします。

GUI からの Preflight Checker モジュールの実行

このセクションでは、グラフィカルユーザーインタフェース (GUI) から Preflight Checker で使用できるさまざまなモジュールを使用する方法について説明します。

GUI からバイナリスキャナを使用する方法

  1. Preflight Checker の GUI を起動します。
    # tool-install-dir/bin/preflightcheckerGUI.sh

    アプリケーション名やバージョンなどのアプリケーション情報を指定します。

    「詳細」ボタンをクリックすると、データベースバージョンなどのアプリケーションの詳細も追加できます。「次へ」ボタンをクリックして、次のウィンドウに移動します。

  2. 「Application Checker」を選択します。
  3. 「バイナリスキャナ」オプションを選択します。
  4. 「サマリー」画面で、アプリケーション名、バージョン、パス、LD_LIBRARY_PATH などのアプリケーションの詳細を指定します。
  5. 「ディレクトリを追加」ボタンをクリックして、スキャンするアプリケーションの場所を追加します。
  6. 「ディレクトリを指定」ボタンをクリックして、スキャンレポートを保存するフォルダを選択します。
  7. 「分析を開始」ボタンをクリックしてバイナリスキャンを開始します。

    image:バイナリスキャンの開始

    バイナリスキャンが完了すると、スキャナによってレポートが生成されます。

  8. (オプション) テストを再度実行するには、S11preflightcheck の再実行ボタンをクリックします。

    変更していない場合は、現在の値が使用されます。

  9. レポートの場所をクリックしてレポートを開きます。

    image:レポートの場所

  10. 目次の分析サマリーのリンクをクリックして、スキャンの分析を表示します。

    image:バイナリスキャンの分析サマリー

  11. エラーまたは警告の詳細を表示するには、そのリンクをクリックします。

    次の例は、問題の説明の例を示しています。

    image:バイナリスキャンの分析サマリー

GUI からソースコードスキャナを使用する方法

  1. Preflight Checker の GUI を起動します。
    # tool-install-dir/bin/preflightcheckerGUI.sh
  2. 「Application Checker」を選択します。
  3. 「ソースコードスキャナ」オプションを選択します。
  4. 「ディレクトリを追加」ボタンをクリックして、スキャンするアプリケーションの場所を追加します。

    「PATH」フィールドは、システムの実行可能ファイルおよびユーザーが作成した実行可能ファイルを探す場所を示しています。図に示すように、/usr/sbin/usr/bin、および /bin がすでに入力されています。PATH 値にさらに場所を追加するには、コロン (:) で区切って指定します。

    image:ソースコードスキャナ

  5. 「ディレクトリを指定」ボタンをクリックして、スキャンレポートを保存するフォルダを選択します。
  6. 「分析を開始」ボタンをクリックしてスキャンを開始します。

    ソースコードスキャンが完了すると、スキャナによってレポートが生成されます。

  7. (オプション) テストを再度実行するには、S11preflightcheck の再実行ボタンをクリックします。

    変更していない場合は、現在の値が使用されます。

  8. レポートの場所をクリックしてレポートを開きます。
  9. 目次の分析サマリーのリンクをクリックして、スキャンの分析を表示します。
  10. エラーまたは警告の詳細を表示するには、そのリンクをクリックします。

    次の例は、問題の説明の例を示しています。

    image:ソースコードスキャナの問題項目

GUI からの実行時アナライザの使用

このセクションでは、実行時アナライザを使用するための前提条件、および GUI から実行時アナライザを起動する方法について説明します。

実行時アナライザのパラメータを設定する方法

始める前に

次の Oracle Solaris の権限を持っている必要があります。

  • basic

  • dtrace_user

  • dtrace_proc

  • dtrace_kernel


Caution

注意  -  proc_owner 権限はユーザーに付与しないでください。この権限をユーザーに追加すると、そのユーザーはシステム上のほかのすべてのユーザーが所有するプロセスから情報を収集できるようになります。


  1. root として、パラメータを設定するスクリプトを実行します。
    # /export/home/preflightcheck/app1/scripts/setPriv.sh username
  2. /etc/system ファイルに次の行を追加して、DTrace 値を設定します。
    set dtrace:dtrace_dof_maxsize=0x800000
  3. /kernel/drv/fasttrap.conf ファイルに次の行を追加して、fasttrap 値を設定します。
    fasttrap-max-probes=2500000;
    fasttrap-hash-size=65535;
  4. カーネルパラメータを設定したら、システムをリブートします。

GUI から実行時アナライザを実行する方法

  1. Preflight Checker の GUI を起動します。
    # tool-install-dir/bin/preflightcheckerGUI.sh
  2. 「Application Checker」を選択します。
  3. 「実行時分析」オプションを選択します。
  4. 分析のスコープを設定します。
    • 特定の実行中プロセスをモニターするには、「実行中プロセスをモニター」オプションを選択して、リストからターゲットの PID を選択します。

      image:実行中プロセスのモニター

    • ユーザーコマンドを解析するには、「カスタムコマンド」オプションを選択し、プロセスをモニターするためアプリケーションを起動する完全なコマンドを入力します。

      image:カスタムコマンド

  5. (オプション) Preflight Checker でアプリケーションをスキャンする時間を設定するには、「実行時間」フィールドを使用します。

    Preflight Checker が指定された時間に実行され、スキャンに基づいてレポートが生成されます。

  6. 「ディレクトリを指定」ボタンをクリックして、スキャンレポートを保存するフォルダを選択します。
  7. 「分析を開始」ボタンをクリックしてスキャンを開始します。
  8. (オプション) テストを再度実行するには、S11preflightcheck の再実行ボタンをクリックします。

    変更していない場合は、現在の値が使用されます。

  9. レポートの場所をクリックしてレポートを開きます。
  10. 目次の分析サマリーのリンクをクリックして、スキャンの分析を表示します。
  11. エラーまたは警告の詳細を表示するには、そのリンクをクリックします。

    次の例は、問題の説明の例を示しています。

    image:実行時スキャンでの問題

Kernel Checker

Kernel Checker は、カーネルモジュールまたはデバイスドライバのバイナリとそのソースコードを分析し、Oracle Solaris 11 での既知の潜在的なコンプライアンスの問題を報告します。

バイナリアナライザまたはソースコードアナライザを実行する場合は、Oracle Solaris 10 システム上のチェック対象のバイナリおよびソースコードが含まれているディレクトリを示します。

コマンド行での Preflight Kernel Checker の実行

Kernel Checker を起動するには、次のコマンドを発行します。

% ./preflightchecker.sh -kernelchecker [options] file-or-directory

Preflight Kernel Checker (kernelchecker.sh) の実行で使用可能なオプションを一覧表示するには、–h オプションを使用します。

% ./preflightchecker.sh -kernelchecker –h

Kernel Checker は、静的バイナリ分析中にディレクトリを再帰的に検索してオブジェクトファイルを検出し、Oracle Solaris 11 では機能しない可能性がある非推奨の API、サポートされていない API、および不安定な API が使用されていないかどうかをチェックします。

GUI から Kernel Checker を実行する方法

  1. Kernel Checker の GUI を起動します。
    # tool-install-dir/bin/preflightcheckerGUI.sh -kernelchecker
  2. 「Kernel Checker」オプションを選択します。
  3. 「サマリー」画面で、アプリケーション名、バージョン、パス、マクロの定義などのアプリケーションの詳細を指定します。
  4. カーネルモジュールまたはデバイスドライバのどちらをチェックするかを選択します。
    • カーネルモジュールが Oracle Solaris 11 上で問題なく実行されるかどうかをチェックするには、「互換性の確認」オプションを選択します。
    • デバイスドライバのコンプライアンスを確認するには、「DDI/DKI へのコンプライアンスの確認」オプションを選択します。
  5. 「ディレクトリを指定」ボタンをクリックして、スキャンレポートを保存するフォルダを選択します。
  6. 「分析を開始」ボタンをクリックしてスキャンを開始します。

    カーネルスキャンが完了すると、スキャナによってレポートが生成されます。

  7. (オプション) テストを再度実行するには、S11preflightcheck の再実行ボタンをクリックします。

    変更していない場合は、現在の値が使用されます。

  8. レポートを開くには、「レポートを表示」ボタンをクリックします。

Application Analyzer

Application Analyzer は、最適でないコーディングや実装、および特定の Oracle Solaris 機能の使用についてアプリケーションをチェックし、Oracle Solaris 11 プラットフォームを最大限に活用できるようにします。

また、Application Analyzer は、アプリケーションをスキャンして、コードを変更するとパフォーマンスがただちに改善されるかどうかをチェックします。このツールは、アプリケーションのプロセスおよびソースコードを分析し、推奨事項レポートを生成します。想定される推奨事項には、 gcc コンパイラから Oracle Solaris Studio への移行、正しいコンパイラフラグを使用したアプリケーションの最適化、Oracle Solaris Studio の高パフォーマンスライブラリの使用、およびオンチップのハードウェア暗号化を使用したサーバーのパフォーマンスの改善が含まれます。

Application Analyzer は、次のカテゴリの問題についてアプリケーションを分析します。

  • 暗号化 - Application Analyzer の暗号化モジュールは、実行中のアプリケーションプロセスで暗号化機能が使用されているかどうかを検出します。Java アプリケーションの場合、アナライザは Java JCE API を使用しているかどうかをチェックします。ネイティブアプリケーションの場合、アナライザは crypto ライブラリの既知のリストの使用を検索します。どちらの場合も、アナライザから SPARC システムで使用可能なハードウェア暗号化機能を活用する推奨事項が提供されます。

  • Makefile - Makefile ソースコードスキャナは、アプリケーションのソースコードをスキャンし、推奨レポートを HTML で生成します。

    このレポートには次の情報が表示されます。

    • アプリケーションが現在 gcc コンパイラを使用してコンパイルしている場合、Oracle Solaris Studio コンパイラを使用してコンパイルを完了するため変更する必要のあるフラグの詳細がレポートに示されます。

    • アプリケーションで古いバージョンの Oracle Solaris Studio コンパイラ (forte 6.x、Oracle Solaris Studio 10 など) を使用している場合は、Oracle Solaris 11 でのパフォーマンスを改善するため、最新の Oracle Solaris Studio コンパイラで使用する新しいフラグがレポートに示されます。このツールは、古いコンパイラの非推奨のフラグまたはサポートされていないフラグが使用されているかどうかも報告します。

    • メイクファイルとソースコードに基づく、Oracle Solaris 11 でアプリケーションのパフォーマンスを改善するために適したコンパイラの最適化フラグに関する推奨事項。

  • 高パフォーマンスライブラリ - このモジュールは、実行中のアプリケーションプロセスをスキャンし、特定の Oracle Solaris 11 ライブラリの使用が適切かどうかに関する推奨事項レポートを生成します。たとえば、Sun Performance Library は、線形代数問題や非線形問題を数値的に解くための最適化された、かつ高速な数学サブルーチンを集めたものです。このツールは、アプリケーションプロセスを実行してそのようなパブリックドメインサブルーチンが使用されているかどうかを検出し、対応する Sun Performance Library を提案します。

コマンド行での Application Analyzer の実行

Application Analyzer を起動するには、次のコマンドを発行します。

% appAnalyser.sh [options] file-or-directory

Preflight Application Analyzer (appanalyser.sh) の実行に使用可能なオプションを一覧表示するには、–h オプションを使用します。

% appAnalyser.sh -h

GUI から Application Analyzer を実行する方法

  1. Application Analyzer の GUI を起動します。
    $ tool-install-dir/bin/appAnalyzerGUI.sh
  2. アプリケーション名、バージョン、パスなどのアプリケーションの詳細を指定します。
  3. アナライザのタイプを選択します。
    • 削除、名前変更、または変更されたライブラリ関数が使用されていないかどうかをチェックするには、「ソースコードアナライザ」オプションを選択します。
    • ゾーンや指定した実行可能ファイル名の特定のプロセスなどのスコープ内のソースコードを分析するには、「実行時アナライザ」オプションを選択します。

      image:実行時アナライザ

  4. 「ディレクトリを指定」ボタンをクリックして、スキャンレポートを保存するフォルダを選択します。
  5. 「分析を開始」ボタンをクリックしてスキャンを開始します。

    アプリケーションスキャンが完了すると、スキャナによってレポートが生成されます。

  6. (オプション) テストを再度実行するには、S11preflightcheck の再実行ボタンをクリックします。

    変更していない場合は、現在の値が使用されます。

  7. レポートを開くには、「レポートを表示」ボタンをクリックします。

ヘルプおよびサポート

Oracle Solaris Preflight Applications Checker のアップデートおよび最新バージョンについては、Oracle Solaris Preflight Applications Checker 11.3 の製品ページを参照してください。

独立系ソフトウェアベンダー (ISV) は、isvsupport_ww@oracle.com に連絡することによって、このツールに関する支援またはサポートを受けることができます。