コース一覧
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 は決まった順番で5つの段階を通ります。101 試験ではここが必ず出ます。問われ方は、順序そのものを並べ替えさせるもの、各段階の担当を聞くもの (initramfs は何のために存在するか、カーネルパラメータはどこに記録されているか)、そして dmesg と journalctl -b の使い分けの3つです。

前の段階が次の段階にバトンを渡す

順序を丸暗記するのではなく、前の段階が次を読み込んで制御を渡すリレーとして覚えてください。ひねった問題でも導けます。

順段階担当主な役割
1BIOS / UEFIファームウェアハードウェアの初期化と自己診断、起動デバイスの選択
2ブートローダGRUB2 などカーネルと initramfs をメモリに読み込む
3カーネルvmlinuzメモリ管理とデバイスドライバを起動し、initramfs を一時的な root にする
4initramfs初期RAMディスク本物の root を読むためのドライバを供給し、root を切り替える
5initsystemd各種サービスを起動し、デフォルトターゲットまで持っていく

BIOS は古くからある方式で、ディスク先頭 512 バイトの MBR を読みます。UEFI は後発で、EFI システムパーティション (ESP) 上の .efi ファイルを直接実行します。UEFI ではセキュアブートが使え、2TB を超えるディスクからも起動できます。この違いは頻出です。

カーネルだけでは root が読めない

カーネル本体は小さく作られていて、あらゆるストレージのドライバを内蔵しているわけではありません。root が LVM の上にあったり、暗号化されていたり、特殊な RAID カードの先にあったりすると、カーネル単体では読めません。

そこで、必要なドライバとツールだけを詰めた小さなファイルシステムを先にメモリへ展開し、それを踏み台にして本物の root をマウントします。これが initramfs です。役目を終えると本物の root へ切り替わり、/sbin/init (現代では systemd への symlink) が PID 1 として起動します。

起動の事実はどこに残っているか

コマンド / ファイル何が見えるか
dmesgカーネルリングバッファ。ハードウェア検出やドライバの読み込みが時系列で並ぶ
journalctl -b今回の起動ぶんの journald ログ。カーネルとサービスが混ざって見える
journalctl -b -11つ前の起動ぶん。前回落ちた原因を追うときに使う
journalctl -kjournald が持つカーネルメッセージだけ。dmesg に近い
/proc/cmdlineブートローダがカーネルに渡した起動パラメータ
uname -r今動いているカーネルのバージョン

/proc/cmdline はブート解析の要です。root= に書かれた値がカーネルの読んだ root デバイス、quiet があれば起動メッセージが抑制されており、ro があれば最初は読み取り専用でマウントされたという意味です。

ターミナル

cat /proc/cmdline # 例 BOOT_IMAGE=/vmlinuz root=/dev/sda1 ro quiet

dmesg の時刻は秒数のオフセットです。dmesg -T で人が読める日時になりますが、サスペンドを挟むとずれることがあります。

よくある引っかけ

カーネルと init の混同がよく出ます。サービスを起動するのはカーネルではなく init (systemd) です。カーネルの担当はメモリ管理、プロセススケジューリング、デバイスドライバの提供までです。

initramfs と swap の取り違えにも注意してください。initramfs はメモリ上の一時的なファイルシステムであって、スワップ領域ではありません。

dmesg は今回の起動ぶんしか持ちません。再起動をまたいで過去を見るなら journalctl -b -1 です。journald の永続化が無効だと -b -1 が空になる点も押さえてください。

ブートローダの位置も狙われます。ブートローダはカーネルより前、BIOS/UEFI より後です。「BIOS がカーネルを直接読む」という選択肢は誤りです。

ヒント

コマンドの出力を文字列に混ぜるには $(コマンド) を使います。echo "kernel $(uname -r)" のように書けます

/proc/cmdline は1行に空白区切りで並んでいます。tr ' ' '\n' で縦に並べ替えると grep しやすくなります

3行まとめて作るには { echo ...; echo ...; echo ...; } > /root/boot-report.txt が使えます

  • 1. uname -r で動作中のカーネルバージョンを調べる
  • 2. cat /proc/cmdline でカーネルに渡された起動パラメータを見る
  • 3. journalctl -b | head で今回の起動の先頭を見る
  • 4. 調べた3つを /root/boot-report.txt に書き出す。行頭はそれぞれ kernel / root / boot とする

4 項目で採点します