LinuCレベル1 101試験の例題と解説
1.05.1ハードウェアの基礎知識と設定
LinuCレベル1 101試験の出題範囲から「1.05.1 ハードウェアの基礎知識と設定」についての例題を解いてみます。
ここでは、カーネルモジュールの管理について確認しておきましょう。
例題
現在ロード済みのカーネルモジュールを確認するコマンドをすべて選択してください。
- lsmod
- lsusb
- lspci
- 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研究室 上野 貴博