過去問ドリル

LinuCレベル2 システムの起動とLinuxカーネル 問24

システムの起動とLinuxカーネル/カーネル実行時における管理とトラブルシューティング

特定のカーネルモジュールが自動的にロードされないようにしたい。一般的な設定方法として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの起動とLinuxカーネル」に対応。実際の試験問題ではありません)

正解:A

解説

/etc/modprobe.d/配下の設定ファイルに「blacklist モジュール名」と書くと、ハードウェア検出時などに別名(alias)経由で行われる自動ロードの対象からそのモジュールを外せます。ただしblacklistは明示的なmodprobe モジュール名によるロードまでは止めないため、完全に禁止したい場合は「install モジュール名 /bin/false」のような指定を併用します。起動初期に読み込まれるモジュールの場合は、initramfsを作り直して設定を反映させる必要があります。

選択肢ごとの解説

  • A正しい。/etc/modprobe.d/のblacklist指定で、そのモジュールを自動ロードの対象から外せます。
  • B誤り。kernel.modules_disabledは1にすると以後すべてのモジュールのロードを禁止するパラメータで、モジュール名を指定するものではありません。
  • C誤り。modules.depはdepmodが自動生成するファイルで、手で編集しても次にdepmodを実行すれば上書きされます。自動ロードを止める設定場所でもありません。
  • D誤り。udevルールはデバイス検出時の処理を記述するもので、「rmmod モジュール名」という行は有効な書式ではありません。
LinuCレベル2の問題を演習モードで解く