コース一覧
LinuC レベル1(LPIC-1対応)対策
カーネルモジュール

LinuC レベル1(LPIC-1対応)対策

ブートとsystemd、パッケージ管理(APT/RPM両系統)、コマンドとviの操作、ファイルシステム、シェルスクリプト、ユーザー管理とセキュリティ、ネットワークまで、LinuC レベル1(LPIC-1対応)の全出題範囲を、毎レッスン実際にコマンドを打って確かめながら学べる対策コースです。ブラウザの中で本物の Debian 12 が動いていて、62レッスンのうち36本は読むだけで終わらず、自分の手でコマンドを打った結果で採点されます。Linux入門を修了した方を対象としています。101・102それぞれの模試60問で分野別の弱点を洗い出し、直前チェックで暗記事項を固めてから本番に臨めます。

1
試験ガイダンス
01. LinuC/LPICとは15分
02. LinuCとLPICの選び方15分
03. 学習計画15分
04. 出題形式を体験15分
2
101 ブートとアーキテクチャ
01. ブートの流れ18分
02. GRUB15分
03. systemdとターゲット18分
04. ハードウェア情報18分
05. カーネルモジュール18分
06. 過去問 アーキテクチャ15分
3
101 パッケージ管理
01. Debian系パッケージ18分
02. RPM系パッケージ15分
03. 両系統の対応表15分
04. リポジトリ管理18分
05. 共有ライブラリ18分
06. 過去問 パッケージ管理15分
4
101 GNU/Unixコマンド
01. ファイル操作の試験オプション18分
02. テキスト処理18分
03. ストリームとリダイレクト18分
04. プロセス監視18分
05. 優先度18分
06. grepと正規表現18分
07. viの操作15分
08. 過去問 コマンド15分
5
101 ファイルシステム
01. パーティション15分
02. 作成とマウント18分
03. fstabとUUID18分
04. パーミッションとリンク18分
05. 容量とクォータ18分
06. findとlocate18分
07. 過去問 ファイルシステム15分
6
102 シェルとスクリプト
01. シェル環境18分
02. testと条件式18分
03. スクリプトの制御18分
04. cronとat15分
05. systemdタイマー18分
06. 過去問 シェル15分
7
102 ユーザーとセキュリティ
01. passwdとshadow18分
02. ユーザー管理コマンド18分
03. suとsudo18分
04. 特殊パーミッション18分
05. ホストのセキュリティ18分
06. SSHとGPG18分
07. 過去問 ユーザーとセキュリティ15分
8
102 ネットワーク
01. TCP/IPとウェルノウンポート18分
02. アドレス設定18分
03. ルーティング18分
04. 名前解決の設定18分
05. 疎通トラブルシュート18分
06. 過去問 ネットワーク15分
9
102 システム管理
01. 時刻とNTP15分
02. ロケールと文字コード18分
03. ログ管理18分
04. サービス管理の試験形式18分
05. メールと印刷のきほん15分
06. 過去問 システム管理15分
10
模試と直前対策
01. 模試 10190分
02. 101弱点復習15分
03. 模試 10290分
04. 102弱点復習15分
05. 直前チェック15分
06. 受験と次のステップ15分

カーネルモジュール

Linux のカーネルは一枚岩ではなく、必要な機能を後から差し込める作りになっています。この差し込む部品がカーネルモジュールです。101 試験ではコマンドの使い分けが直球で問われ、特に insmod と modprobe、rmmod と modprobe -r の違いが頻出です。実体が置かれているパス、依存関係を記録したファイル名、ブラックリストを書くディレクトリも出題範囲です。

insmod は依存を解決してくれません

コマンド何をするか依存関係の解決
lsmod読み込み済みモジュールを一覧する—
modinfo <名前>説明、作者、パラメータ、依存を表示する—
modprobe <名前>モジュールを読み込むする
modprobe -r <名前>モジュールを取り外すする
insmod <ファイルパス>モジュールファイルを直接読み込むしない
rmmod <名前>モジュールを取り外すしない
depmod依存関係の一覧を作り直す—

insmod は引数にファイルの絶対パスを取り、そのファイルだけを読み込みます。依存する別のモジュールが未ロードなら失敗します。一方 modprobe は名前だけ与えれば、必要な下位モジュールを自動でたどります。実務でも試験でも、基本は modprobe が答えです。

オプション意味
-n実際には実行せず、何をするかだけを見せる (dry run)
-v実行するコマンドを表示する
-r取り外す
-fバージョン不一致でも強制する

-n -v を組み合わせると、何も変えずに「読み込むとしたら何が起きるか」を確かめられます。壊したくない機械で試すときの定石です。

ターミナル

modprobe -n -v loop # insmod /lib/modules/6.1.0-52-686/kernel/drivers/block/loop.ko

モジュールの置き場所と依存ファイル

実体は /lib/modules/$(uname -r)/ 以下に、カーネルのソースツリーと同じ構造で置かれています。拡張子は .ko (kernel object) で、.ko.xz と圧縮されていることもあります。

依存関係は同じディレクトリの modules.dep に記録されています。このファイルを作り直すのが depmod です。新しいモジュールを手で置いたのに modprobe が見つけてくれないときは depmod -a を実行します。

読み込み済みモジュールの情報源は /proc/modules で、lsmod はこれを整形して見せているだけです。lsmod の Used by 列には、そのモジュールに依存している別のモジュール名が並びます。この列が空でないモジュールは、依存元を先に外さないと取り外せません。

読み込みを止める設定

/etc/modprobe.d/ 以下に .conf で終わるファイルを置くと、modprobe の挙動を変えられます。

書式意味
blacklist <名前>そのモジュールの自動読み込みを禁止する
options <名前> <パラメータ>=<値>読み込み時のパラメータを固定する

ターミナル

# /etc/modprobe.d/no-pcspkr.conf blacklist pcspkr

blacklist が止めるのは自動読み込みだけで、管理者が明示的に modprobe pcspkr と打てば読み込まれます。完全に禁止するなら install pcspkr /bin/true と書きます。逆に起動時へ必ず読み込ませたいモジュールは /etc/modules-load.d/ 以下に1行ずつ書き、Debian 系では /etc/modules も同じ役目です。

演習では動作中のモジュールを外しません。今のファイルシステムやディスクを支えているモジュールを外すと学習環境が不安定になるので、調べる操作と dry run と設定ファイルの記述にとどめます。

よくある引っかけ

insmod に名前だけを渡す選択肢は誤りです。insmod はファイルパスを取り、名前で指定できるのは modprobe の方です。

rmmod は依存関係を見ないので、他のモジュールから使われているものを外そうとすると失敗します。安全なのは modprobe -r です。

modinfo は読み込まれていないモジュールにも実行できます。「読み込み済みでないと情報が見られない」は誤りです。逆に lsmod は読み込み済みしか出しません。

そして depmod はモジュールを読み込むコマンドではありません。依存関係の索引を作り直すだけです。

ヒント

lsmod の行数から見出しの1行を引くには lsmod | tail -n +2 | wc -l が使えます

modprobe -n -v は何も変更しません。すでに読み込み済みのモジュールを指定すると何も表示されないことがあります

modinfo -n はモジュールの実体ファイルのパスだけを1行で出します。/lib/modules/ から始まる絶対パスになります

  • 1. lsmod を実行して読み込み済みモジュールを眺める。1行目は見出しなので数から除く
  • 2. モジュール数を数え、count に続けて /root/mod.txt に書く
  • 3. lsmod の先頭に出るモジュール名を控え、modinfo <名前> でその説明を読む
  • 4. modinfo -n <名前> で実体ファイルのパスを取り、path に続けて /root/mod.txt に追記する。あわせて modprobe -n -v <名前> で dry run の出力も見ておく
  • 5. /etc/modprobe.d/linuc.conf に blacklist pcspkr の1行を書く

3 項目で採点します