LinuCレベル2 システムの起動とLinuxカーネル 問28
システムの起動とLinuxカーネル/Linuxカーネルのコンパイル新しいバージョンのカーネルソースに、以前のバージョンで使っていた.configをコピーした。既存の設定を引き継ぎ、新しいバージョンで追加された設定項目についてだけ対話的に尋ねるmakeターゲットはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの起動とLinuxカーネル」に対応。実際の試験問題ではありません)
- Amake mrproper
- Bmake xconfig
- Cmake oldconfig
- Dmake modules
正解:C
解説
make oldconfigは、既存の.configを土台にして、そのファイルにまだ値が書かれていない新しい設定項目だけを1つずつ質問するターゲットです。カーネルを新しいバージョンへ上げるときに、これまでの設定を活かしたまま差分だけを決められるため、手間と設定漏れを減らせます。質問せずに新しい項目を既定値で埋めたい場合はmake olddefconfigを使います。なお、make mrproperは.configも含めて削除するので、この手順の途中で実行すると用意した設定が消えてしまいます。
選択肢ごとの解説
- A誤り。make mrproperはビルドで生成されたファイルに加えて.configやバックアップも削除し、ソースツリーを初期状態へ戻すターゲットです。
- B誤り。make xconfigはGUI(Qt)の画面で全体の設定を行うターゲットで、追加された項目だけを尋ねるものではありません。
- C正しい。make oldconfigは既存の.configを引き継ぎ、新しく追加された設定項目だけを対話的に尋ねます。
- D誤り。make modulesは設定にしたがってカーネルモジュールをビルドするターゲットで、設定は行いません。