この付録の中で説明されているエラーメッセージのいくつかは、該当するマニュアルページで詳細に説明されています。
この章で説明したエラーメッセージの一部は、マニュアルページでさらに詳しく説明します。
エラーメッセージは、ポップアップウィンドウ、シェルツールのコマンド行、ユーザーコンソールウィンドウや、各種のログファイルに表示または記録されます。/etc/syslog.conf ファイルに指定されているエラーの重大度の基準を上げたり下げたりすることもできます。
ほとんどの場合、入力したコマンドか、コマンドが送られたコンテナオブジェクト (ファイル、マップ、テーブル、またはディレクトリ) によって、エラーメッセージが生成されます。しかし時には、コマンドに応答したサーバーによって、エラーメッセージが生成されることもあります (メッセージは通常、syslog に記録される)。たとえば、「permission denied」メッセージは、ほとんどの場合ユーザーかマシンが原因となって発生しますが、コマンドやマシンから要求された機能を実行するのに必要なアクセス権を、サーバー上のソフトウェアが持っていない場合に発生することもあります。
同様に、一部のコマンドは、非常に多くの種類のオブジェクトに対して検索や照会を行います。オブジェクトによっては、原因が明確であるとは限りません。オブジェクトのアクセス権 (読み取り専用の状態、利用できないなどの状態) が原因で、エラーメッセージが返されることがあります。このような場合は、どのオブジェクトが原因となって問題が起こったのか、メッセージからわかる場合もあれば、わからない場合もあります。
通常の操作では、ネーミングなどのソフトウェアとサーバーは、関数ルーチン呼び出しを行います。時として、これらの呼び出しが障害を起こし、エラーメッセージが生成されることがあります。また、ユーザーが入力したコマンドをクライアントやサーバーが処理する前に、それ以外のコマンドによる呼び出しが障害を起こし、エラーメッセージが生成されることもあります。そのようなエラーメッセージは、あたかも今入力したコマンドに対する応答のように見えるかもしれませんが、実際はそれまでの操作に対する応答です。
名前空間で作業を行なっているときに、遠隔手続き呼び出し (RPC) によってエラーメッセージが生成される可能性もあります。これらの RPC エラーメッセージは、このマニュアルでは説明していません。ご使用のシステムのマニュアルを参照してください。
NIS+ のソフトウェアのどの部分がエラーメッセージを生成したかにより、同じエラーメッセージがやや異なる意味を持つことがあります。たとえば、nisls コマンドが「Not Found」というメッセージを生成した場合、指定された名前の NIS+ のオブジェクトが存在しないことを意味します。しかし、nismatch コマンドが同じメッセージを表示した場合、検索基準に一致するテーブル項目が見つからなかったことを意味します。
この付録のエラーメッセージは、次の規則に従ってアルファベット順に示します。
大文字と小文字を区別しません。つまり、「A」で始まるメッセージと「a」で始まるメッセージは同じ順になります。
アルファベット以外の記号は無視します。つまり、_svcauth_des で始まるメッセージは、文字「S」で始まる他のメッセージと同じ順になります。
「NIS+」で始まる (または「NIS+」を含む) エラーメッセージは、アルファベット順で「NIS」で始まる (または「NIS+」を含む) メッセージの後になります。
エラーメッセージの前に、エラーメッセージを生成したホスト、アプリケーション、プログラム、ルーチンの日付または名前が付き、その後にコロンが付く場合があります。この場合には、コマンドの最初の名前はメッセージをアルファベット順にするために使われます。
メッセージの中には、ユーザー ID、プロセス番号、ドメイン名などの変数が含まれています。この章では、これら変数は斜体の文字で示されます。変数は任意のものにできるので、この章に示すメッセージの分類には含まれていません。たとえば、「sales: is not a table」(この場合は sales が名前) という実際のメッセージは、「name: is not a table」として示され、I で始まるメッセージの中で「is not a table」としてアルファベット順にされます。
「** ERROR: domainname does not exist」のように、アスタリスクで始まるエラーメッセージは、NIS+ のインストールスクリプトや設定スクリプトによって生成されたものです。これらのメッセージは、アスタリスクを無視し、最初の文字でソートされます。
DNS の多く、または他のメッセージは、IP アドレスを含みます。IP アドレスは n.n.n.n. で示されます。
エラーメッセージにプロセス ID 番号、項目の数などのような番号が含まれる場合があります。エラーメッセージ内の番号は nnnn で示されます。
FNS エラーメッセージは、FN_status_t オブジェクトにステータスコードとしてカプセル化されます。対応するステータスコードについては、FN_status_t(3N) のマニュアルページを参照してください。
エラーが発生すると、FNS コマンドは、操作が失敗した名前の残りの部分を表示します。表示されなかった名前の部分の処理は成功しています。
たとえば、ユーザーが、org//service/trading/bb に対するコンテキストの作成を試みたとします。名前 org//service/ の解決には成功しましたが、trading は org//service/ によって名前を付けられたコンテキストで見つかりませんでした。このため trading/bb は、操作が失敗したときに残る名前の一部として表示されます。
Error in creating 'org//service/trading/bb': Name Not Found: 'trading/bb'
別の例では、ユーザーがコンテキスト org//service/dictionary/english の削除を試みましたが、名前を付けられたコンテキストが空であったので、操作を実行できませんでした。引用符 ('') の組み合わせは、与えられた完全な名前を FNS は解決できましたが、要求されたとおりに操作を完了できなかったことを示します。
Error in destroying 'org//service/dictionary/english': Context Not Empty: ''