LinuCレベル2 201試験の例題と解説
2.01.3Linuxカーネルの構成要素
LinuCレベル2 201試験の出題範囲から「2.01.3 Linuxカーネルの構成要素」についての例題を解いてみます。このテーマでは、Linuxカーネルの構成要素に関する内容が含まれます。
ハードウェアデバイスを追加して動作させたり、カーネルの機能を拡張させてシステムを構築する際に必要となるので、しっかりと理解しておきましょう。
例題
Linuxカーネルが対応するローダブル・カーネル・モジュールの特徴でないものはどれか。
- 動的にカーネル機能を拡張出来る
- カーネルイメージのサイズが大きくなる
- 独自モジュールの導入が容易になる
- modprobeコマンドでモジュールの組み込みや取り外しが可能
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2.カーネルイメージのサイズが大きくなる」です。
ローダブル・カーネル・モジュールは、Linuxカーネルビルド後に必要に応じて動的にモジュールを組み込んで使用できる仕組みです。
これによって、
- カーネルイメージのサイズを小さくすることが出来る
- 動的にカーネル機能を拡張出来る
- 独自モジュールの導入が容易になる
などのメリットがあります。
モジュールは必要になったタイミングでinsmodやmodprobeコマンドで組み込み、不要となったときにはrmmodやmodprobeコマンドで取り外すことが出来ます。
kubeuser@kubenewmaster1:~$ modprobe br_netfilter
kubeuser@kubenewmaster1:~$ lsmod | grep br_netfilter
br_netfilter 28672 0
bridge 176128 1 br_netfilter
カーネルイメージのサイズがどれくらいかというと、
以下の例(Ubuntu 20.04.3 LTS kernel 5.4.0)では約14Mとなっています。
kubeuser@kubenewmaster1:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
kubeuser@kubenewmaster1:~$ ls -lh /boot/vmlinuz-5.4.0-100-generic
-rw------- 1 root root 14M Feb 4 17:04 /boot/vmlinuz-5.4.0-100-generic
例題作成者
鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 Zeus IT Camp)