LinuCレベル2 201試験の例題と解説

主題2.01システムの起動とLinuxカーネル

2.01.5カーネル実行時における管理とトラブルシューティング

LinuCレベル2 201試験の出題範囲から「2.01.5 カーネル実行時における管理とトラブルシューティング」についての例題を解いてみます。
このテーマは、実行中のLinuxカーネルの状態確認やトラブルシュートに関する内容が含まれます。各コマンドやファイルなどを実機で操作し、理解を深めるのがおすすめの学習方法です。

LinuCレベル2 201試験 出題範囲


例題

Linuxシステムにおけるudevの役割に関する記述として、最も適切なものはどれですか?

  1. ハードウェアのファームウェアを更新し、デバイスドライバを自動的にインストールする。
  2. カーネルモジュールの依存関係を解決し、起動時に必要なモジュールをロードする。
  3. 動的に変化するデバイス情報を検知し、/devディレクトリにデバイスノードを作成する。
  4. ユーザーがシステムにログインする際に、必要な環境変数を設定する。

解答と解説

正解は、「3. 動的に変化するデバイス情報を検知し、/devディレクトリにデバイスノードを作成する。」です。

udevは、Linuxシステム上でハードウェアデバイスの抜き差しといったイベントを動的に検知し、その情報に基づいて/devディレクトリに適切なデバイスノードを作成、削除、および命名します。これにより、ユーザーやアプリケーションがデバイスにアクセスするための統一されたインターフェースが提供されます。

その他の選択肢は、正しくは以下となります。

ファームウェアの更新やドライバのインストールは、通常、fwupdやパッケージマネージャーなどの別のツールが担当します。

カーネルモジュールの依存関係の解決やロードは、modprobeやdepmodなどのユーティリティ、またはsystemdの初期化プロセスが担当します。

ユーザーの環境変数の設定は、.bashrcや.profile、/etc/profileなどのシェル設定ファイルによって管理されます。

udevadm infoコマンドでは認識済みのデバイス情報を表示でき、以下の例ではストレージ内に作成されたパーティション(/dev/sda1)の情報を表示しています。

[root@localhost ~]# ls -l /dev/sda1
brw-rw----. 1 root disk 8, 1 Sep  2 00:47 /dev/sda1

[root@localhost ~]# udevadm info -n /dev/sda1
P: /devices/pci0000:00/0000:00:0d.0/ata3/host2/target2:0:0/2:0:0:0/block/sda/sda1
M: sda1
R: 1
U: block
T: partition
D: b 8:1
N: sda1
L: 0
S: disk/by-id/scsi-0ATA_VBOX_HARDDISK_VB1d073ef1-22873471-part1
S: disk/by-path/pci-0000:00:0d.0-ata-1-part1
S: disk/by-id/scsi-SATA_VBOX_HARDDISK_VB1d073ef1-22873471-part1
S: disk/by-id/ata-VBOX_HARDDISK_VB1d073ef1-22873471-part1
S: disk/by-uuid/d6f31b2e-2fe5-4212-8ac3-08d52bc5873c
S: disk/by-partuuid/efc10fc1-01
S: disk/by-id/scsi-1ATA_VBOX_HARDDISK_VB1d073ef1-22873471-part1
S: disk/by-path/pci-0000:00:0d.0-ata-1.0-part1
(以下、省略)

なお、udevに関しては以下で詳細を確認できます。

udev
https://wiki.gentoo.org/wiki/Udev/ja
https://docs.oracle.com/cd/F22978_01/udev/udev-AbouttheUdevDeviceManager.html

udevadmコマンド
https://www.man7.org/linux/man-pages/man8/udevadm.8.html


例題作成者

鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 ゼウスITトレーニングセンター)

ページトップへ