静的共有ライブラリを必要とする a.out を exec(2) により実行しようとしたときに、静的共有ライブラリが存在しないか、あるいはユーザーにそのライブラリを使う権限がありません。
このエラーのシンボルの名前は、ELIBACC、errno=83 です。
このメッセージは libXt (X イントリンシクスライブラリ) から発生していて、引用符によって指定されたカラー名が要求される前に、システムのカラーマップがいっぱいになったことを示します。アプリケーションによっては、このメッセージが表示されても続行できます。ワークスペースプロパティカラーなど、その他のアプリケーションは、カラーマップがいっぱいになると表示できません。
カラーマップの使用率が高いプログラムを終了してから、失敗したアプリケーションを再起動してもう一度行なってください。
現在のマシンにないアドレスにトランスポート終端を作成しようとしました。
このエラーのシンボルの名前は、EADDRNOTAVAIL、errno=126 です。
yppasswd(1) を実行中にユーザーのパスワードを変更しようとすると、「cannot change passwd, not correct passwd」というメッセージが表示されます。
また、サーバコンソールで「yppasswd user string does not exist」が表示された場合に ypcat passwd | grep (user) を実行するとユーザー名が返されます。これにより yppasswdd(1M) が実行中であることがわかります。
pwck(1M) で passwd(4) ファイルをチェックし、yppasswdd(1M) が正しいサーバで実行されていることを確認します。次に、passwd(4) ファイルの場所を確認し、変更されている場合は、yppasswdd(1M) がその場所を指定して起動されていることを確認します。/etc/yp にあるパスワードは、/usr/lib/yp/rpc.yppasswdd -D /etc/yp になっているはずです。-D オプションを passwd ファイルのディレクトリ位置とともに指定すると、パスワードの変更および変更の検証を行う場所が yppasswdd(1M) に通知されます。
共有ライブラリを直接 exec(2) により実行しようとしています。
このエラーのシンボルの名前は、ELIBEXEC、errno=87 です。
異なるサブネットにいるユーザーが、ライセンスサーバーにアクセスしています。
ultra1(50)% cc -o hello hello.c License Error : Cannot find the license server (fry) in the network database for product(Sun WorkShop Compiler C) Cannot find SERVER hostname in network database (-14,7) cc: acomp failed for hello.c ultra1(51)% |
1 番目に、サーバが稼動中であることを確認します。2 番目に、ping server name と入力して、クライアントシステムの /etc/hosts ファイル内にそのサーバがあることを確認します。3 番目に、サーバのライセンスデーモンを調べ、実行中であることを確認します。4 番目に、クライアントに基本ライセンスファイルがあることを確認します。
cd /etc/opt/licenses more sunpro.loc |
% cd /etc % more nsswitch.conf | grep hosts hosts: nis [NOTFOUND=return] files |
hosts: files nis |
このメッセージは、Netscape を使用したメールの送信で表示されます。このエラーは、発信メッセージの保存用にユーザーが指定したファイルが存在しない場合に発生します。
この問題を解決するには、「設定」を選択し、次に「Composer」 を選択します。テンプレートが表示されます。このテンプレートには、発信メールとニュースファイルを保存する場所を指定するセクションがあります。これらのファイルが存在することを確認してください。Netscape が送信したメッセージのログを保存しない場合は、これらのファイルをテンプレートから削除します。
トランスポート終端がすでに停止されているため、データ送信要求が拒否されました。
このエラーのシンボルの名前は、ESHUTDOWN、errno=143 です。
このメッセージは lp(1) 印刷スケジューラに起因するものであり、極度のビジー状態かまたはハング状態にあることを示します。
印刷ジョブが該当するプリンタからのものである場合は、現在の印刷が終了するまで待ち、それからこの印刷ジョブを再度提出します。このメッセージが再び表示された場合は、lp(1) システムがハングしている可能性が高いです。
待ち行列をクリアする手順については、「lp hang」メッセージを参照してください。
プリンタメッセージ用のデバイスの作成に lp(1) を使用できない場合は、メッセージ FIFO がすでに使用中か、または別の印刷ジョブによってロックされています。
印刷スケジューラの詳細については、『Solaris のシステム管理 (第 2 巻)』のプリンタの管理に関する節を参照してください。
このメッセージはシステムのブート中に表示され、init(1M) プログラムが失われているかまたは損傷していることを示します。なお、/etc/init は /sbin/init へのシンボリックリンクです。
ミニルートを起動して、init(1M) を置き換えられるようにします。Stop-A と入力するか、またはリセットボタンを押して、マシンを停止します。CD-ROM、ネット、またはフロッピーディスクからシングルユーザーをリブートします。たとえば CD-ROM からブートする場合は、ok プロンプトで boot cdrom -s と入力します。システムが起動して # プロンプトが表示されたら、元の / パーティションの場所に応じて下記のように mount(1M) コマンドを使用し、デバイスをマウントします。次に、ミニルートから元の / パーティションに init(1M) プログラムをコピーし、システムをリブートします。
# mount /dev/dsk/c0t3d0s0 /mnt # cp /sbin/init /mnt/sbin/init # reboot |
/sbin/init がない場合のエラー番号は 2 であり、/sbin/init に不正な実行可能形式がある場合は 8 です。通常はこの後に「panic: icode」メッセージが続きます。システムは自分自身をリブートしようとしますが、init(1M) なしではリブートできないため、ループに入ります。
システムのブートについて詳細は、『Solaris のシステム管理 (第 1 巻)』のシステムの停止とブートに関する節を参照してください。
SunOS 4.1.x で、/dev ファイルシステムが組み込まれたデバイスが切断されています。Solaris の動作は確認されていません。
システムが「Hayes」タイプと見なしたモデムを使用していると、このメッセージが表示されることがあります。現在製造されているモデムの大部分は「Hayes」タイプです。スイッチの設定が正しくない、ケーブル接続が悪い、またはモデムの電源が入っていない場合は、このメッセージが表示される可能性があります。
モデムの電源が入っていて、モデムとシステム間のケーブルが確実に接続されていることを確認します。次に、内部と外部のモデムスイッチの設定を調べます。必要に応じて、モデムの電源を切ってから入れ直します。
C シェルの cd(1) コマンドは引数を 1 つしか取りません。複数のディレクトリが指定されているか、または空白を含むディレクトリ名が指定されています。ファイルマネージャを使用していると、空白を含むディレクトリ名を作成してしまうことがあります。
ディレクトリ名を 1 つのみにします。名前に空白を含むディレクトリに変更するには、ディレクトリ名を二重引用符 (") または引用符 (`) で囲むか、あるいはファイルマネージャを使用します。
システムがストリームデバイスを使い果たしました。このエラーは、存在しないかまたは現在使用中のマイナーデバイスをストリームヘッドが開こうとすると発生します。
該当するストリームデバイスが存在し、適切な番号のマイナーデバイスによって作成されていることを確認します。また、ハードウェアがこの構成に一致しているかどうかも調べます。ストリームデバイスの構成が正しい場合は、より多くのシステムリソースを使用できるときに再度実行してください。
このエラーのシンボルの名前は、ECHRNG、errno=37 です。
このメッセージは chmod(1) コマンドから発生し、オプションではない最初の引数に問題があることを示します。
数値ファイルモードを指定している場合は、任意のけた数を提供できますが (ただし、最後の 1〜4 けたのみ使用します)、すべてのけた数は 0〜7 でなければなりません。シンボリックファイルモードを指定している場合は、chmod(1) 使用法メッセージに表示された構文を使用すると次の「invalid mode」エラーメッセージを避けられます。
Usage: chmod [ugoa][+-=][rwxlstugo] file ...なお、シンボリックキー文字の組み合わせによっては、エラーメッセージは表示されませんが効果はありません。最初のグループ [ugoa] は省略可能です。2 番目のグループ [+-=] は、chmod(1) が機能するためには必須です。3 番目のグループ [rwxlstugo] も必須であり、重複しない限り組み合わせて使用できます。
C シェルが、コマンドとして与えられたプログラムを見つけられません。
コマンド行の書式とスペルを調べます。正しければ、echo $path を実行して、ユーザーの検索パスが正しいかどうかを確認します。通信が不正確な場合は、組み込みシェルコマンドだけが使用可能になるように検索パスの設定を解除できます。基本的な検索パスを再設定するコマンドを次に示します。
% set path = (/usr/bin /usr/ccs/bin /usr/openwin/bin .) |
C シェルの詳細については、csh(1) のマニュアルページを参照してください。
このエラーは、現在のプロセスがリモートマシンからのメッセージを待っているとき、そのマシンに接続するリンクが破壊されている場合に発生します。
このエラーのシンボルの名前は、ECOMM、errno=70 です。
このメッセージは、別のシステムに対して rlogin(1) を使用したときに、リモートホストがこのユーザー用のプロセスを作成できなかった場合、ユーザーが正しいパスワードを入力するまでの時間が長すぎた場合、ユーザーがネットワーク接続に割り込んだ場合、またはリモートホストが停止していた場合に表示される可能性があります。ファイルを修正して、接続を切断する前に保存しなかった場合は、データが失われる恐れがあります。
もう一度実行します。相手のシステムが停止している場合は、リブートされるまで待ちます。
このメッセージは、ユーザーが telnet(1) を使用して別のシステムに接続したときに、ユーザーが正しいパスワードを入力するまでの時間が長すぎた場合、リモートホストがこのユーザー用のログインを作成できなかった場合、またはリモートホストが停止しているかまたは接続を終了した場合に表示される可能性があります。ファイルを修正して、接続を切断する前に保存しなかった場合は、データが失われる恐れがあります。
もう一度実行します。相手のシステムが停止している場合は、リブートされるまで待ちます。
talk(1) コマンドを使用して別のユーザーと交信した後、そのユーザーが割り込み (通常は Control-c) を入力すると、こちらのユーザーの画面にこのメッセージが表示されます。
このような割り込みを送信するのは、talk(1) プログラムを終了する際の通常の方法です。talk(1) セッションが終了するので、作業に戻ることができます。
対象のマシンが拒否したため、接続できません。アクティブでないサービスに接続しようとした場合、または要求したアドレスにサービスプロセスが存在しなかった場合に起こります。
対象のマシン上のサービスをアクティブにするか、またはサービスがなくなっていた場合は再度起動します。セキュリティ上の理由からこのサービスを提供したくない場合は、ユーザーグループにそのことを伝え、できれば代替サービスを提供します。
このエラーのシンボルの名前は、ECONNREFUSED、errno=146 です。
リモートホストが接続を強制的に切断しました。通常、このエラーは、時間切れや再起動によって、リモートホストとの接続が切断されたことにより起こります。
このエラーのシンボルの名前は、ECONNRESET、errno=131 です。
宛先ホストが停止している場合、またはネットワーク上の障害のために伝送に失敗した場合に起こります。
たとえば ping(1M) や ftp(1) を使用して、まずホストシステムの動作を調べます。次に、必要があれば修理またはリブートします。これで解決できない場合は、ネットワークのケーブルと接続を調べます。
指定された時間内に接続が確立されませんでした。適切な時間内に宛先ホストが正しく応答しなかったため、接続要求または送信要求は失敗しました (タイムアウト期間は通信プロトコルによって異なります)。
このエラーのシンボルの名前は、ETIMEDOUT、errno=145 です。
これは、通常、OpenWindows が異常終了したために、システムのキーボードが誤ったモードのままになっているために発生します。この場合、ログインしようとしたときに表示される文字は、入力した内容の無意味な文字変換になってしまいます。
SPARC システムでは、別のマシンを探してこのシステムにリモートログインし、次のコマンドを実行します。
$ /usr/openwin/bin/kbd_mode -aこれで、コンソールが ASCII モードに戻ります。なお、kbd_mode はウィンドウプログラムではありません。コンソールのモードを修正するだけです。
x86 システムでは、リモートからログインして起動後、X サーバを終了するかシステムを再起動します。
この問題が生じる一般的な原因は、/tmp ディレクトリを一定間隔ごとにクリアする cron(1) から実行した、自動化されたスクリプトにあります。このようなスクリプトが、/tmp/.X11-pipe または /tmp/.X11-unix の各ディレクトリとその中のファイルを削除しないことを確認してください。
core(4) ファイルには、ソフトウェア障害の発生時点でのメモリーのイメージが収められており、障害の原因を調べる際にプログラマが使用します。
core(4) ファイルを生成したプログラムを特定するには、file(1) コマンドまたは adb(1) コマンドを実行します。dtmail からのコアファイルに対して file と adb の各コマンドを実行した場合の出力内容を、次の例に示します。
$ file core core: ELF 32-bit MSB core file SPARC Version 1, from `dtmail' |
$ adb core core file = core -- program `dtmail' SIGSEGV 11: segmentation violation ^D (use Control-d to quit the program) |
SIGQUIT、SIGBUS、SIGSEGV など、一部のシグナルはコアファイルを生成します。該当するシグナルの完全なリストについては、signal(5) のマニュアルページを参照してください。
プログラムのソースコードがある場合は、cc -g によってコンパイルし、dbx または同様のデバッガを使用して自分でデバッグできます。dbx の where 命令を実行するとスタックトレースが得られます。
混在ネットワークでは、あるタイプのシステムで adb(1) を実行しても、別のタイプのシステムで生成されたコアダンプを読み取ることは通常できないため、特定のcore(4) ファイルを生成したマシンアーキテクチャーを特定するのは困難です。このため、「unrecognized file」メッセージが作成されます。正しいアーキテクチャーが判明するまで、各種のマシンアーキテクチャーで adb(1) を実行してください。
「コア」という用語は古くからあります。放射線に対する抵抗力のため、宇宙船では現在もコアメモリーを使用していますが、フェライトコアメモリーがシリコン RAM にその座を譲ったのは 1970 年代です。
クラッシュ情報の保存と表示については、『Solaris のシステム管理 (第 2 巻)』を参照してください。AnswerBook を使用している場合は、「system crash」と入力して検索文字列として使用します。
電源を入れてマシンを起動すると、「corrupt label - label checksum failed」または「corrupt label - wrong magic number」というメッセージが表示されます。format(1M) では次のように表示されます。
0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 0 (0/0/0) 0 2 backup wm 0 - 5460 4.2G (5460/0/0) 4154160 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 - 2730 2.1G (0/0/0) 0 7 unassigned wm 2730-5460 2.1G (0/0/0) 0 |
ディスクラベル (VTOC) はシリンダ 0 のブロック 0 に保持されます。raw パーティションがシリンダ 0 で開始する場合は、raw パーティションを使用するデータベースプログラムがラベルを上書きすることになります (UNIX ファイルシステムでは、パーティションのこの領域は使われません)。
format を実行し、backup コマンドを使用してバックアップラベルを取得します。このバックアップラベルを使用してディスクのラベルを変更します。これで、ディスクにアクセスできるようになります。
このディスクのデータをバックアップします。
ディスクに戻ってラベルを変更し、raw パーティションをシリンダ 1 で開始します (これで 1 つのシリンダが消費されますが、VTOC の破壊を防止できます)。
ラベルを付け直します。
バックアップからデータを復元します。
telnet(1)、rlogin(1)、rsh(1) などのシェルが必要なセッションを実行しようとしたとき、あるいは X 端末を起動しようとしたときに、エラーメッセージ「could not grant slave pty」が表示されます。
/usr/lib/pt_chmod でのファイルのアクセス権の設定が正しくありません。次のように設定されていたとします。
# ls -la /usr/lib/pt_chmod ---s--x--x 1 bin bin 3120 May 3 1996 |
# ls -la /usr/lib/pt_chmod ---s--x--x 1 root bin 3120 May 3 1996 |
ttsession(1) プロセスが使用できない場合、さまざまなデスクトップツールでこのメッセージが表示または出力されます。通常、ToolTalk サービスは、ttsession(1) が実行されていないと再起動しようとします。したがって、このエラーは、ToolTalk サービスがインストールされていないか、または正しくインストールされていないことを示します。
ttsession(1) コマンドが /usr/openwin/bin または /usr/dt/bin に存在することを確認します。このコマンドが存在しない場合は、ToolTalk が正しくインストールされていません。ToolTalk を構成するパッケージは、実行時の SUNWtltk、開発者支援の SUNWtltkd、およびマニュアルページの SUNWtltkm です。
完全な TT_ERR_NOMP メッセージ文字列は次のような意味になります。「ttsession(1) が実行されていません。tt_open(3) がまだ呼び出されていない可能性があります。このメッセージ文字列が tt_open(3) から返された場合は、ttsession(1) を開始できなかったことを示します。これは、通常、ToolTalk がシステムにインストールされていないことを意味します。」
workshop をリモートから実行しようとすると、このエラーメッセージが表示されます。
解決方法は次のとおりです。1. workshop が実行されていないことを確認します。2. telnet/rlogin セッションウィンドウで /bin/ps -ef | grep ttsession と入力します。システムと telnet で通信しているユーザーに属するものがある場合は、kill pid_of_ttsession と入力します。3. telnet rlogin セッションで、/usr/dt/bin/ttsession -s -d <machine_telnetting_from>:0.0 と入力します。4. workshop を起動します。
このメッセージは AnswerBook ナビゲータウィンドウに表示され、コンソールには XView エラーメッセージが表示されます。
詳細については、「answerbook: XView error: NULL pointer passed to xv_set」メッセージを参照してください。
cpio(1) アーカイブが損傷したか、または互換性のないバージョンの cpio(1) によって書き出されました。
cpio(1) に -k オプションを付けて、入出力エラーと損傷したファイルヘッダをスキップします。これにより、cpio(1) アーカイブから他のファイルを抽出できる場合があります。損傷したヘッダ付きのファイルを抽出するには、emacs(1) などのバイナリエディタでアーカイブを編集します。cpio(1) ファイルヘッダにはそれぞれ、ファイル名が文字列として含まれています。
マジックナンバーの詳細については、magic(4) のマニュアルページを参照してください。
次のコマンドを使用して、bar コマンドによって保存されたマルチボリュームフロッピーを読み取ろうとすると、処理は失敗し、メッセージが表示されます。
# cpio -id -H bar -I /dev/diskette0 |
/etc/init.d/volmgt stop を実行して /usr/sbin/vold を終了し、デバイス名 /dev/rfd0 を使用します。
別のファイルシステムなど、別のデバイス上のファイルに対してハードリンクしようとしました。
ln -s を使用してシンボリックリンクを確立します。シンボリックリンクは、ファイルシステムの境界を越えることができます。
このエラーのシンボルの名前は、EXDEV、errno=18 です。