本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス > k

kconfig(5)

HP-UX 11i Version 3: February 2007
≫ 

テクニカル ドキュメント

フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

kconfig ― カーネル構成コマンドの概要

説明

HP-UX には、HP-UX カーネルの構成の表示および修正に使用するコマンドセットがあります。

kconfig  

カーネル構成全体に対する操作

kcmodule  

カーネルモジュールに対する操作

kctune  

カーネル調整パラメータ (「調整パラメータ」) に対する操作

kcpath  

カーネルファイルのパス名の検索

kclog  

カーネル構成ログファイルの検索および表示

mk_kernel  

システムファイルからのカーネル構成の構築

カーネル構成

HP-UX カーネルの動作と内容を制御するデータのセットをカーネル構成と呼びます。システム管理者は、 任意数のカーネル構成を保存することが可能で、それらをいつでもロードすることができます。カーネル構成は、kcmodule で作成されたモジュールの使用法の選択、および kctune で選択された調整パラメータで構成されます。

デフォルトでは、これらのコマンドは現在実行中のシステムの状態に影響を与えます。これらのコマンドに -c config オプションを指定すると、代わりに config という名前で保存されているカーネル構成に対して作用します。

現在実行中のカーネル構成は kconfig -s を使って保存できます。保存されている構成をロードするには kconfig -l を使用します。この場合、実行中のシステムの状態が、保存されている構成に合うように変更されます。kconfig -n を使用すると、保存されている構成を、システムの次回ブート時に使用するようにマークすることができます。この操作では、 実行中のシステムの状態は変更されませんが、システムのリブート時に、指定した保存されている構成がロードされます (後述の『ブート動作』を参照)。

保存するカーネル構成の名前には文字、数字、アンダースコア (_) のみを使用できます。名前の先頭は文字であることと、 長さは最大 32 文字という制限があります。大文字と小文字は区別されます。

バックアップ構成

システムは、構成を保存したもの (バックアップと呼びます) を保持します。これは、構成エラーからの回復に使用します。システムは、選択したバックアップ動作に応じて、構成に対して要求した変更を行う直前に、 現在実行中の構成を自動的にバックアップに保存します。 kconfigkcmodule あるいは kctune コマンドに -b behavior オプションを指定するとバックアップ動作を設定できます。 認識されるバックアップ動作 (behavior) は次の通りです。

yes  

変更を行う前に、必ず backup 構成を更新します。

once  

現在の変更を行う前に、backup 構成を更新します。それ以降の変更では、更新するかどうか尋ねます。

no  

現在の変更を行う前に、backup 構成を更新しません。それ以降の変更では、更新するかどうか尋ねます。

disable  

変更前に、backup 構成を更新しません。

これらの動作は、1 文字に省略することができます。以前のリリースとの互換性を保つために、-b yes のエイリアスとして -B を、-b no のエイリアスとして -K を指定できます。 これらのエイリアスは、将来のリリースで削除される予定です。

各ブート後の、デフォルトバックアップ動作は、変更を行う前に backup 構成を更新するかどうか尋ねることです。非対話形式で行われる変更は、"no" の応答を想定しています。

動的および静的な変更

デフォルトでは、カーネル構成ツールは現在実行中のシステムに構成の変更を適用するので、カーネルの動作は即時に変更されます。 システム管理者は、kconfigkcmodule あるいは kctune コマンドに -h オプションを指定して変更を行うことで、このデフォルトを上書きすることができます。 このオプションを使用すると、システムをリブートするまで変更は保留されます。 このオプションは、次回のリブートがすぐに行われることが予想される場合にのみ使用することをお勧めします。 変更後何ヶ月もリブートしないような場合は、管理者がこの変更要求を忘れていた場合に問題につながる可能性もあります。

構成変更の中にはリブートしなければ適用できないものもあります。これらの変更は、-h オプションを指定しない場合でも、システムをリブートするまで保留されます。このような場合は警告メッセージが表示されます。

カーネル構成コマンドのいずれかの 1 回の呼び出しで複数の構成変更が要求され、その変更のうちのいずれかがリブートを必要とする場合は、 要求した変更すべてがシステムをリブートするまで保留されます。特に、保存されているカーネル構成が kconfig -l を使ってロードされ、その構成がリブートしないと使用できない場合は、実行中のシステムの状態は変更されず、指定されたカーネル構成は次回ブート時に使用されるようマークされます。

構成に対する変更が次回ブート時まで保留されている場合に、続けて同じ構成設定に対して即時に適用される変更を行った場合は、 後者の変更が優先され、最初の変更は次回ブート時に適用されません。このような状況では警告が表示されます。

kconfig -i (インポート)、kconfig -l (ロード)、または kconfig -n (次回のブート) といった現在実行中の構成全体を置き換える変更を行うと、次回のブートまで保留されている変更はすべて破棄されます。

現在実行中のシステムに対して行った変更は、システムのリブート時にも保持されます。これらの変更は、新たに変更が行われたり、保存されているカーネル構成がロードされるまで有効です。

ブート動作

システムのブート時に、管理者はブートコマンド行で、保存されているカーネル構成の名前を指定できます (hpux(1M) および hpux.efi(1M) を参照)。カーネル構成の名前を指定すると、ブート時にそのカーネル構成がロードされます。

ブートコマンド行でカーネル構成を指定しない場合、システムは、次回のブートで使用するようにマークされている (kconfig -nkconfig -l または kconfig -i コマンドを使用) カーネル構成を探します。このような構成が検出された場合は、ブート時にその構成がロードされます。

ブートコマンド行でカーネル構成を指定せず、次回のブートで使用するようにマークされている構成もない場合は、 システムは、リブート前に使用されていた構成と同じものを使用してブートします。 この構成についてリブートまで保留されていた変更がある (リブートしないと適用できないため、または -h オプションが使用されたため) 場合は、ブートプロセス中にこれらの変更が適用されます。

カーネル構成が正常にブートできない場合は、バックアップ構成をブートするか、 「フェールセーフ ブート」フラグ (Itanium(R) ベース システムの場合は -tm、PA-RISC の場合は -f0x40000) を使ってブートすることにより、回復を試行することができます。詳細は、hpux(1M) および hpux.efi(1M) を参照してください。

システムファイル

過去のリリースの HP-UX のユーザーは、カーネル構成の選択を /stand/system というテキストファイルで保持していた場合があります。このようなファイルを「システムファイル」と呼びます。 システムファイルは現在実行中のカーネル構成用に自動的に保持されます。このファイルは /stand/system にあります。システムファイルは、保存されているそれぞれのカーネル構成についても自動的に保持されます。これらのファイルは /stand/config/system にあります。config は、保存されている構成の名前です。カーネル構成コマンドのいずれかを使用してカーネル構成 (保存されているもの、または現在使用中のもの) を変更すると、必ず、対応するシステムファイルが自動的に書き直され、変更が反映されます。 また、システムファイルは、すべての構成について、kconfig -e を使って要求に応じて生成できます。システムファイルの形式は system(4) で説明されています。

システムファイルをテキストエディタで修正してから kconfig -i を実行することで、構成を変更することができます。このコマンドは、システムファイルを読み取り、適切なカーネル構成をシステムファイルの内容に合うように修正します。mk_kernel でも、システムファイルを読み取ってカーネル構成を修正することができます。これは、以前のリリースの HP-UX との互換性を保つために残されています。

注記: 

構成変更の中には、カーネル構成コマンドを使用しなくても実行できるものがあります (たとえば、settune または modload() システムコールを直接呼び出します)。この場合、システムファイルは自動的に更新されません。システムファイルを使用する前に、手動で更新するか、kconfig -e を使って再作成してください。

注記: 

システムファイルにはコメントを記述しないでください。システムファイルはカーネル構成の変更が行われるたびに再作成されますが、この処理でコメントは保持されません。

システムファイルは、カーネル構成を他のシステムに適用する場合に役立ちます。この場合、kconfig -e を使って、構成をソースマシン上のシステムファイルにエクスポートします。このファイルを 1 つまたは複数のターゲットマシンに移動し、kconfig -i でシステムファイルをターゲット上の構成にインポートします。 ターゲットマシンには同じカーネルファイルセットがインストールされている必要があります。インストールされていないと、インポート操作が失敗することがあります。-V フラグを使用すると、ターゲットマシンに同一バージョンのカーネルファイルセットがインストールされていることを確認できます。

現在実行中のカーネル構成に対する変更のうちリブートまで保留されているものがある場合は、これらの変更はシステムファイル /stand/system に反映されます。

ログファイル

カーネル構成コマンドは、カーネル構成の変更をすべて記述したログファイルを維持します。このログファイルは /var/adm/kc.log にあります。kclog コマンドを使用すると、ログファイルの検索および表示を行ったり、構成の変更に対応しないエントリーを作成することができます。

コマンドを使用して構成の変更を行う際、-C comment オプションを指定することができます。その変更を記述するログファイルのエントリーに、指定した comment が取り込まれます。comment は、シェルによって解釈されないように、通常は引用符で囲む必要があります。

構成変更の中には、カーネル構成コマンドを使用しなくても実行できるものがあります。このような変更については、ログファイルのエントリーは作成されません。

ログファイルの形式は予告なしに変更されることがあります。プログラムでは、ファイルの形式を解析しようとするのではなく、kclog コマンドを使用してファイルからエントリーを取り出す必要があります。

診断

カーネル構成コマンドが出力するすべてのエラー、警告、注意メッセージには番号が振られています。 見栄えが悪いので、通常、メッセージ番号は表示されません。メッセージ番号の表示を有効にするには、環境変数 KC_SHOW_MSGIDS に 1 を設定します。

出力の解析

カーネル構成コマンドは、そのほとんどが構成の詳細を記述する表形式の出力を作成します。 このような出力はユーザーにとっては見やすいものですが、スクリプトやアプリケーションには解析が困難な場合があります。 また、表の出力形式は常に変化する可能性があります。たとえば、異なるタイプのシステム間、または HP-UX の各リリース間で、表の出力形式が異なる場合があります。

したがって、このような出力を作成する各カーネル構成コマンドでは、出力形式を変更する -P オプションを指定できます。-P の形式は、解析を容易にすることを目的としており、出力形式が変化しないことが保証されます。ただし、カーネル構成コマンドの出力を解析するアプリケーションやスクリプトが -P オプションを使用しない場合は、当社ではこれらをサポートいたしかねます。

-P オプションの後に、フィールド名のリスト (コンマ区切り) を指定する必要があります。各カーネル構成コマンドごとに、サポートされているフィールド名のセットが異なります。 リストについては、各コマンドのマンページを参照してください。フィールド名は単一の引き数内に指定する必要があるため、 リスト内に空白を含めないでください。たとえば、次のように指定します。

kcmodule -P name,state,desc

カーネル構成コマンドが作成する出力は、ある 1 つのオブジェクトについて記述する一連の行、空白行、 次のオブジェクトについて記述する一連の行、空白行、というように、すべてのオブジェクトについて記述する連続した行で構成されます。 それぞれの行は、フィールド名、単一のタブ文字 (ASCII 9)、およびオブジェクトについて記述するためのそのフィールドの値で構成されます。 これらの行は要求された順序と同じ順序で生成されます。したがって、上記のコマンドでは次のような出力が作成されます。

name module1
state loaded
desc This is the first sample module.

name module2
state unused
desc This is a different sample module.

フィールドによっては、1 つのオブジェクト内に複数回発生したり、まったく発生しないものもあります。これは、フィールドの説明に記載されています。たとえば、次のコマンドを実行した場合、

kcmodule -P name,state,depend

次のような出力が作成されます。

name module1
state loaded

name module2
state unused
depend module1
depend module4

これは、module1 には依存関係がありませんが、module2 は他の 2 つのモジュールに依存していることを示しています。

今後、新しいフィールドが追加される可能性がありますが、-P オプションで指定しない限り、出力に取り込まれることはありません。 なお、フィールドは削除されることはありません。まれに、将来の開発でフィールドが意味を持たなくなる可能性があります。 このような場合はフィールド名は受け付けられますが、対応する行は出力から省略されます。

参照

hpux(1M), hpux.efi(1M), kclog(1M), kcmodule(1M), kconfig(1M), kcpath(1M), kctune(1M), mk_kernel(1M), modload(2), settune(2), system(4)

http://docs.hp.com の 『HP-UX System Administrator's Guide: Configuration Management

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2007 Hewlett-Packard Development Company, L.P.