この機能は、Solaris 7 - 5/99 ソフトウェアリリースで追加されました。
Solaris 7 - 5/99 ソフトウェアリリースの新しいコンソール機能により、Solaris オペレーティング環境が更新されます。この情報は、『Solaris のシステム管理 (第 2 巻)』の「ソフトウェアの問題解決の概要」と『Solaris 移行ガイド』での Solaris システムにおける問題解決の説明を補足するものです。
次の新しいコンソール機能により、リモートシステムでの問題解決機能が改善されます。
consadm コマンドにより、シリアルデバイスを補助 (または、リモート) コンソールとして選択できます。システム管理者は consadm コマンドを使用して 1 つまたは複数のシリアルポートを構成し、リダイレクトされたコンソールメッセージを表示したり、システムの実行レベルを変更するときに sulogin セッションを実行することができます。この機能を使用すると、モデムが接続されたシリアルポートにダイヤルインしてコンソールメッセージを監視し、init 状態の変更に対応できます。詳細は、sulogin(1M) のマニュアルページと次の手順の説明を参照してください。
補助コンソールとして構成されたポートを使用してシステムにログインすることもできますが、本来補助コンソールはデフォルトのコンソールにも表示される情報を表示する出力デバイスです。ブートスクリプトや他のアプリケーションがデフォルトのコンソールから読み込んだりここに書き込んだりする場合、書き込み出力はすべての補助コンソールに表示されます。しかし、入力はデフォルトのコンソールからだけ読み取られます。補助コンソールは、ブートスクリプトに入力を行う場合には使用できません。対話式のログインセッション時に consadm コマンドを使用する方法については、「対話式ログインセッション時の consadm コマンドの使用」を参照してください。
新しいコンソール出力はカーネルと syslog メッセージから構成され、新しい疑似デバイス /dev/sysmsg に書き込まれます。また、rc スクリプトの起動メッセージは /dev/msglog に書き込まれます。以前は、すべてのメッセージは /dev/console に書き込まれていました。
補助コンソールにメッセージをリダイレクトさせたい場合、コンソール出力を /dev/console に送るスクリプトにおいては出力先を /dev/msglog に変更する必要があります。また、/dev/console を参照するソースコードにおいては syslog() または strlog() を使用するように明示的に変更しなければなりません。
consadm コマンドは、補助コンソールデバイスを監視するデーモンを実行します。補助コンソールとして指定された表示デバイスが切断された (つまり、ハングアップしたか、キャリア信号を失った) 場合、その表示デバイスは補助コンソールデバイスリストから削除され、無効になります。1 つまたは複数の補助コンソールを有効にしても、デフォルトのコンソールへのメッセージ出力は無効になりません。メッセージは /dev/console に引き続き表示されます。
実行レベル変更時に補助コンソールメッセージ機能を使用する場合、次のことに注意してください。
システムブート時に実行される rc スクリプトにおいてユーザーの入力を求める場合、補助コンソールからは入力できません。デフォルトのコンソールから入力しなければなりません。
sulogin プログラム (init によって呼び出され、実行レベル変更時にスーパーユーザーのパスワード入力を求める) は、デフォルトのコンソールデバイスだけでなく、各補助デバイスにもスーパーユーザーのパスワードを求めるプロンプトを送信するように変更されました。
システムがシングルユーザーモードであり、consadm コマンドで 1 つまたは複数の補助コンソールを有効にしている場合、コンソールログインセッションはスーパーユーザーの正しいパスワードを sulogin プロンプトに渡した最初のデバイスで動作します。あるコンソールデバイスから正しいパスワードを受信すると、sulogin は他のすべてのコンソールデバイスからの入力を無効にします。
コンソールの 1 つがシングルユーザー特権を持った場合、メッセージがデフォルトのコンソールと他の補助コンソールに表示されます。このメッセージは、どのデバイスがスーパーユーザーの正しいパスワードを受け取ってコンソールになったかを示します。シングルユーザーシェルを実行している補助コンソールでキャリア信号が失われた場合、次の 2 つの動作のいずれかが行われる可能性があります。
補助コンソールが実行レベル 1 で動作するシステムを示している場合、システムはデフォルトの実行レベルに進みます。
補助コンソールが実行レベル S で動作するシステムを示している場合、システムは、init s または shutdown コマンドをシェルから入力したデバイス上に「ENTER RUN LEVEL (0-6, s or S):」というメッセージを表示します。そのデバイスにキャリア信号がない場合、再度キャリアを確立し、正しい実行レベルを入力しなければなりません。init または shutdown コマンドは実行レベルのプロンプトを表示し直しません。
シリアルポートを使用してシステムにログインし、init または shutdown コマンドで実行レベルを変更しようとした場合、そのデバイスが補助コンソールかどうかにかかわらず、ログインセッションは失われます。この状態は、補助コンソール機能のない Solaris リリースと同じです。
consadm コマンドを使用してあるデバイスを補助コンソールとして選択すると、システムをリブートするまで、あるいは補助コンソールの選択を解除するまで、そのデバイスは補助コンソールのままです。ただし、consadm コマンドには、システムリブート時にデバイスを補助コンソールとして設定するオプションがあります。設定手順については、次を参照してください。
シリアルポートに接続された端末を使用してシステムにログインし、対話式ログインセッションを実行し、consadm コマンドで端末からのコンソールメッセージを表示したい場合、次の動作に注意してください。
補助コンソールが有効のままで端末を対話式ログインセッション用に使用する場合は、コンソールメッセージは /dev/sysmsg または /dev/msglog デバイスに送信されます。
端末上でコマンドを入力する場合は、入力は対話式セッションに送信されます。デフォルトのコンソール (/dev/console) には送信されません。
init コマンドを実行して実行レベルを変更する場合、リモートコンソールソフトウェアは対話式セッションを終了し、sulogin プログラムを実行します。この時点で、端末からの入力だけが受け入れられ、コンソールデバイスから入力されたように扱われます。これによって、「実行レベル変更時の補助コンソールメッセージの使用」に記述されているように、sulogin プログラムにパスワードを入力できるようになります。
次に、正しいパスワードを (補助) 端末上で入力すると、補助コンソールは対話式 sulogin セッションを実行して、デフォルトのコンソールと他の競合する補助コンソールをロックアウトします。つまり、端末が本質的にシステムコンソールとして機能することを意味します。
この時点から実行レベルを 3 に変更したり、別の実行レベルに変更できます。実行レベルを変更すると、sulogin は再びすべてのコンソールデバイス上で動作します。終了するか、システムを実行レベル 3 で起動することを指定した場合、すべての補助コンソールは入力機能を失います。つまり、コンソールメッセージ用の表示デバイスに戻ります。
システムが起動するときは、デフォルトのコンソールデバイス上で rc スクリプトに情報を提供しなければなりません。システムが起動した後、login プログラムがシリアルポート上で動作するため、別の対話式セッションにログインできるようになります。デバイスを補助コンソールとして指定した場合、コンソールメッセージは端末上に引き続き表示されます。しかし、端末からのすべての入力は対話式セッションに送信されます。
consadm コマンドで補助コンソールを追加するまで、consadm デーモンはポートの監視を開始しません。セキュリティ上、コンソールメッセージがリダイレクトされるのはキャリア信号が失われるか、あるいは補助コンソールデバイスが選択解除されるまでのみです。つまり、consadm コマンドを正常に使用するためには、ポート上でキャリアが確立されていなければならないことを意味します。
補助コンソールを有効にする方法の詳細は、consadm(1M) のマニュアルページを参照してください。
スーパーユーザーとしてシステムにログインします。
補助コンソールを有効にします。
# consadm -a devicename |
現在の接続が補助コンソールであることを確認します。
# consadm |
# consadm -a /dev/term/a # consadm /dev/term/a |
スーパーユーザーとしてシステムにログインします。
システムリブート時に補助コンソールを有効にします。
# consadm -a -p devicename |
固定補助コンソールのリストにデバイスが追加されます。
固定補助コンソールのリストにデバイスが追加されていることを確認します。
# consadm |
# consadm -a -p /dev/term/a # consadm /dev/term/a |
# consadm -d /dev/term/a # consadm |