SMIT データベースへのタスクの追加

システム管理インターフェース・ツール (SMIT) データベース用に新規オブジェクトを 開発する場合は、開発用に別個のテスト・データベースをセットアップすることをお勧めします。

PROCEDURE

テスト・データベースを作成する手順は、次のとおりです。

  1. テスト用のディレクトリーを作成します。 例えば、以下のコマンドは、以下を作成します。/home/smit/testディレクトリー:
    mkdir /home/smit /home/smit/test
  2. テスト・ディレクトリーを現行ディレクトリーにします。
    cd /home/smit/test
  3. ODMDIR 環境変数を に設定して、テスト・ディレクトリーをデフォルトのオブジェクト・リポジトリーとして定義します。 (現行ディレクトリー):
    export ODMDIR= .
  4. テスト・ディレクトリーに新規 SMIT データベースを作成します。
    cp  /usr/lib/objrepos/sm_* .

タスクを SMIT データベースに追加する手順は、次のとおりです。

  1. SMIT に作成させたいコマンドのダイアログを設計します。
  2. SMIT ユーザーをダイアログに表示するために必要なメニューの階層、およびオプションでセレクターの階層を設計し、この階層を既存の SMIT データベースにリンクする場所と方法を決定します。 初めて SMIT データベース拡張機能を開発する場合、次のようなストラテジーによって 開発時間を短縮することができます。
    1. SMIT の開始 ( smit コマンドを実行)、追加したいタスクに類似したタスクを実行する既存のメニュー、セレクター、およびダイアログ画面の検索、および新規タスクを追加するメニュー画面の検索を行います。
    2. SMIT を終了してから、既存の SMIT ログ・ファイルを除去します。 ログ・ファイルを除去する代わりに、smit コマンドの -l フラグを使用して、次のステップで SMIT を始動するときに別のログ・ファイルを指定することもできます。 これにより、次の SMIT セッションのトレース出力を分離することができます。
    3. -t コマンド・フラグを指定して SMIT を再度開始し、新しいタスクを追加する画面を再度表示します。 これは、次のステップ用に、各画面にアクセスしたオブジェクト ID をログに記録します。
    4. SMIT ログ・ファイルを参照して、メニューの一部として使用される各オブジェクト・クラスの ID を判別します。
    5. これらのオブジェクトのスタンザを取得するには、 odmget コマンドでオブジェクト・クラス ID を使用します。 このスタンザは、ユーザーによる設定を手引きし、他者の経験から学習するための 大まかな例として使用することができます。
    6. SMIT ログ・ファイルで、画面を通して実行するときに使用されるコマンド・ストリングを調べて、特殊なツール ( sed または awk スクリプト、 ksh シェル関数など) が使用されているかどうかを確認します。 環境変数の割り当てなど)。 コマンド・ストリングを入力するときは、2 回処理されることに注意してください。1 回目は odmadd コマンド、2 回目は ksh シェルです。 以下のような特殊なエスケープ・メタ文字を使用する場合は注意してください。\または引用文字 ('および")。 また、 odmget コマンドの出力は、特にこれらの文字または複数行ストリング値が使用されている場合には、常に odmadd コマンドの入力と一致するとは限らないことに注意してください。
  3. ダイアログ、メニュー、およびセレクター・オブジェクトをコーディングするには、 odmadd コマンドが必要とする ASCII オブジェクト・スタンザ・ファイル形式でそれらを定義します。
  4. odmadd コマンドを使用し、代わりに ASCII オブジェクト・スタンザ・ファイルの名前を使用して、SMIT テスト・データベースにダイアログ、メニュー、およびセレクター・オブジェクトを追加します。test_stanzas:
    odmadd test_stanzas
  5. ローカル・テスト・データベースを使用して SMIT を実行し、追加のテストとデバッグを行います。
    smit -o

テストを終了したら、ODMDIR 環境変数を /etc/objrepos に設定することで、/etc/objrepos ディレクトリーをデフォルトのオブジェクト・リポジトリーとして復元します。

export ODMDIR=/etc/objrepos