LinuCレベル1 101試験の例題と解説

1.05.1ハードウェアの基礎知識と設定

LinuCレベル1 101試験の出題範囲から「1.05.1 ハードウェアの基礎知識と設定」についての例題を解いてみます。
ここでは、カーネルモジュールの管理について確認しておきましょう。

Linucレベル1 101試験 出題範囲


例題

現在ロード済みのカーネルモジュールを確認するコマンドをすべて選択してください。

  1. lsmod
  2. lsusb
  3. lspci
  4. cat /proc/modules

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「1. lsmod」と「4. cat /proc/modules」です。

カーネルモジュールとは、カーネルの機能を部品化してカーネル本体から切り離したものです。カーネル本体にいろいろな機能を組み込む必要がなくなるので、カーネルのサイズを小さくすることができるというメリットもあります。

カーネルモジュールを利用すれば、必要な機能だけを選択してロードすることができます。新しいデバイスがリリースされたような場合、対応したカーネルモジュールをロードすることで、カーネルをコンパイルすることなく新しいデバイスを利用できるようになります。

lsmodコマンドは現在ロード済みのカーネルモジュールを一覧表示するコマンドです。ロード済みモジュールの情報は「/proc/modules」というファイルに記録されています。lsmodコマンドでは、「/proc/modules」を確認しやすい形式で表示しています。

選択肢の解説は以下です。

「1. lsmod」
正解です。

実行すると以下のように表示されます。

# lsmod
Module                  Size  Used by
nft_fib_inet           16384  1
nft_fib_ipv4           16384  1 nft_fib_inet
nft_fib_ipv6           16384  1 nft_fib_inet
nft_fib                16384  3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
nft_reject_inet        16384  4
nf_reject_ipv4         16384  1 nft_reject_inet
nf_reject_ipv6         16384  1 nft_reject_inet
nft_reject             16384  1 nft_reject_inet
 :

表示される項目は、以下のの3つです。

Moduleモジュール名
Sizeモジュールのファイルサイズ
Used by使用されている数と依存しているモジュールが表示

「2. lsusb」
不正解です。
USBデバイスの情報を表示するコマンドです。

「3. lspci」
不正解です。
PCIデバイスの情報を表示するコマンドです。

「4. cat /proc/modules」
正解です。
実行すると以下のように表示されます。

# cat /proc/modules
nft_fib_inet 16384 1 - Live 0xffffffffc0960000
nft_fib_ipv4 16384 1 nft_fib_inet, Live 0xffffffffc095b000
nft_fib_ipv6 16384 1 nft_fib_inet, Live 0xffffffffc0956000
nft_fib 16384 3 nft_fib_inet,nft_fib_ipv4,nft_fib_ipv6, Live 0xffffffffc0951000
nft_reject_inet 16384 4 - Live 0xffffffffc094c000
nf_reject_ipv4 16384 1 nft_reject_inet, Live 0xffffffffc0947000
nf_reject_ipv6 16384 1 nft_reject_inet, Live 0xffffffffc0942000
nft_reject 16384 1 nft_reject_inet, Live 0xffffffffc093d000
 :

lsmodで確認できる情報に加えて、以下の情報が表示されます。
第5カラム: ロード状態(Live,Loading,Unloading)
第6カラム: ロードされているモジュールのカーネルメモリオフセット

カーネルモジュールをロードするためのコマンド insmod や、アンロードするためのコマンド rmmod 等もその使い方を確認し、カーネルモジュールの操作方法を習得しておきましょう。


例題作成者

株式会社デージーネット OSS研究室 上野 貴博

ページトップへ