コード・チェッカー検査のエラー・メッセージの解釈

このトピックでは、IBM® i オペレーティング・システムが稼働するシステムでコード・チェッカー整合性検査機能によって戻されるメッセージについて説明します。また、これらのメッセージを使用してコード・チェッカー機能が破壊されていないことを確認する方法、およびこの機能またはキー・オペレーティング・システム・オブジェクトが破壊されている可能性があることをメッセージが示している場合の可能な解決方法についても説明します。

次の表は、 コード・チェッカー検査機能が処理中に生成するメッセージのリストです。 この表は、受け取る可能性のあるすべてのメッセージを扱ったリストではありません。 むしろ、この表には、 コード・チェッカー検査が完全に正常に実行されたのか、 それとも深刻な問題が発生しているのかを最もよく示すメッセージをリストしています。 詳細なエラー・メッセージのリストについては、 システム検査 (QydoCheckSystem) API についての説明を参照してください。

また、コード・チェッカー検査機能が処理中に生成するいくつかのメッセージは通知メッセージであり、 ここにはリストされていません。 コード・チェッカー検査プロセスの処理について詳しくは、 『コード・チェッカー機能の整合性の検査』を参照してください。

表 1. コード・チェッカー検査のエラー・メッセージ
エラー・メッセージ 起こり得る問題と考えられる解決方法
CPFB729 コード・チェッカー検査プロセスが期待どおり完了しなかったことを示します。 この障害の原因としては、さまざまな問題が考えられます。 ジョブ・ログのより詳しいエラー・メッセージを確認して、 障害の正確な性質と、考えられる原因を判別してください。 キー・オペレーティング・システム・オブジェクトが整合性の検査に合格しなかったと判断できる場合、 この障害は、そのオブジェクトがオペレーティング・システムの出荷時に署名された後で変更されたことを示している可能性があります。 システムの整合性を保つために、オペレーティング・システムを再インストールする必要がある可能性があります。
ジョブ・ログを調べると、 以下の特定のオブジェクトに対する CPFB723 や CPD37A1 や CPD37A0 などのメッセージがある。
  • プログラム (*PGM) オブジェクト:
    • ライブラリー QTEMP 内の QYDONOSIG
    • ライブラリー QTEMP 内の QYDOBADSIG
  • コマンド (*CMD) オブジェクト:
    • ライブラリー QTEMP 内の QYDOBADSIG
    • ライブラリー QTEMP 内の SIGNOFF
コード・チェッカー検査機能が整合性の検査のために用いているこの特殊なオブジェクトのセットに、 予想どおり障害があったことを示しています。 この障害は、RSTOBJ コマンド、RSTLIB コマンド、CHKOBJITG コマンド、 およびオブジェクト検査 API がエラーを正しく報告していることを示しています。 これ以上のアクションは不要です。
この表の前出のオブジェクト以外のオブジェクトに対する CPFB723。 キー・オペレーティング・システム・オブジェクトの署名が検証されなかったことを示します。 この障害は、 オブジェクトがオペレーティング・システムの出荷時に署名された後で変更されたことを示している可能性があります。 システムの整合性を保つために、オペレーティング・システムを再インストールする必要がある可能性があります。
この表の前出のオブジェクト以外のオブジェクトに対する CPFB722。 キー・オペレーティング・システム・オブジェクトに署名があるはずであるのに、 それがないことを示しています。 署名がないことは、 そのオブジェクトがオペレーティング・システムの出荷時に署名された後で変更されたことを示している可能性があります。 システムの整合性を保つために、オペレーティング・システムを再インストールする必要がある可能性があります。
この表の前出のオブジェクト以外のオブジェクトに対する CPFB72A。 キー・オペレーティング・システム・オブジェクトが整合性検査に合格しなかったことを示しています。 この障害は、 オブジェクトがオペレーティング・システムの出荷時に署名された後で変更されたことを示している可能性があります。 システムの整合性を保つために、オペレーティング・システムを再インストールする必要がある可能性があります。

コード・チェッカー機能の整合性を検査するコードを再インストール必要がある場合、 そのコードは既知の優良なソースから入手しなければなりません。 たとえば、現行のリリースをインストールするために使用したメディアをロードしてインストールすることができます。 コード・チェッカー検査機能を復元するには、IBM i コマンド・プロンプトから以下のステップを実行してください。

  1. コマンド QSYS/DLTPGM QSYS/QYDOCHKS を実行します。 このコマンドは、 システム検査 (OPM、 QYDOCHKS; ILE、 QydoCheckSystem) API を削除します。
  2. コマンド QSYS/DLTSRVPGM QSYS/QYDOCHK1 を実行します。 このコマンドは、 システム検査 (OPM、 QYDOCHKS; ILE、 QydoCheckSystem) API と共に、 コード・チェッカー・サービス・プログラムを削除します。
  3. コマンド QSYS/DLTF QSYS/QYDOCHKF を実行します。 このコマンドは、誤った署名、およびなくなっている署名を検査するためにコード・チェッカー機能が使用するオブジェクトが含まれた保管ファイルを削除します。
  4. コマンド QSYS/RSTOBJ OBJ(QYDOCHK*) SAVLIB(QSYS) DEV(OPT01) OBJTYPE(*ALL) OPTFILE('Q5722SS1/Q5200M_/Q00/Q90') を実行します。 このコマンドは、ロードされたインストール・メディアから、 コード・チェッカー検査機能に必要なすべてのオブジェクトを復元します。