コース一覧
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分

作成とマウント

このレッスンは暗記ではありません。ループバックデバイスを使えば、この学習環境の中で本物の mkfs と mount が動きます。

試験で問われるのは、mkfs の -t で種類を指定する書式、mkfs.ext4 のような別名、mount の -o に並ぶキーワードの意味、umount がデバイス名でもマウントポイントでも指定できること、そして device is busy への対処です。

区画を切っただけではファイルは置けません

区画の中に、ファイルをどう並べてどう探すかという台帳を作る必要があります。これがファイルシステムの作成、いわゆるフォーマットです。次の3つは同じことをします。

ターミナル

mkfs -t ext4 /dev/sdb1 mkfs.ext4 /dev/sdb1 mke2fs -t ext4 /dev/sdb1

mkfs は種類ごとの実体を呼び出す入口で、-t で種類を渡します。mkfs.ext4 は最初から ext4 用と決まっている実体、mke2fs は ext 系専用の古いコマンドです。オプションは -L がボリュームラベル、-q が静かに実行、-n が実際には作らず表示だけ、です。

この操作は対象の中身をすべて消します。打つ前に lsblk と blkid でそのデバイスに何が入っているかを表示し、消してよい区画かを目で確かめてください。

ファイルシステムの種類

種類特徴
ext2 / ext3ext2 はジャーナルを持たない古い方式。ext3 はそこにジャーナルを足したもの
ext4ext3 の後継。大きなファイルとエクステントに対応。Linux の既定が多い
xfs大容量と並列書き込みに強い。オンラインで拡張できるが縮小はできない
btrfsスナップショットやサブボリュームを持つ新しい方式
vfatWindows とやり取りする USB メモリ向け。パーミッションを持てない

ジャーナルとは、変更を実際に書く前に「これから何をするか」を記録しておく仕組みです。途中で電源が落ちても、記録を見れば中途半端な状態を短時間で片付けられます。ext2 にはこれが無い、というのが最もよく問われる差です。

マウントする

作ったファイルシステムは、ディレクトリツリーのどこかに繋いで初めて使えます。書式はデバイスが先、マウントポイントが後で、逆に書いた選択肢が必ず紛れ込みます。

ターミナル

mount /dev/sdb1 /mnt/data mount -o ro /dev/sdb1 /mnt/data mount findmnt

-t は種類の明示ですが、今どきは省略しても自動判別されます。引数なしで mount と打つと現在の一覧が出ます。findmnt はその一覧を木の形で見せる読みやすいコマンドです。

-o の値意味
ro / rw読み取り専用 / 読み書き可能
noexecその中の実行ファイルを実行させない
nosuidSUID と SGID を無視する
loopファイルをブロックデバイスのように扱う
remountマウント済みのものをオプションだけ変えて繋ぎ直す
defaultsrw と suid と dev と exec と auto と nouser と async をまとめた既定値

複数指定するときは -o ro,noexec のようにカンマで並べます。

loop は、ふつうのファイルをディスクのように見せかける仕組みです。ディスクを切らなくても、ファイルさえあればファイルシステムを作って繋げます。空のファイルは dd if=/dev/zero of=<ファイル名> bs=1M count=<回数> で作れます。if が読み元、of が書き先、bs が1回に扱う大きさ、count が回数です。

外れないときは誰かが中にいます

ターミナル

umount /mnt/data umount /dev/sdb1

umount はマウントポイントでもデバイス名でも指定できます。コマンド名が unmount ではなく umount である点も、綴りを問う形で出ます。

device is busy と言われるのは、中を誰かが使っているときです。自分のシェルが中にいるか、プロセスが中のファイルを開いているかが大半です。まず cd で外に出て、それでも駄目なら lsof か fuser で誰が掴んでいるかを調べます。umount -l は遅延アンマウントで、参照が無くなり次第外す指示です。

よくある引っかけ

mount の引数はデバイスが先です。コマンド名は umount で n が入りません。xfs はオンラインで拡張できても縮小はできません。そして -o loop はファイルをデバイスとして扱う指定であって、ループ回数ではありません。

ヒント

①方針 実機のディスクは切りません。ふつうのファイルをディスクに見せかける loop の仕組みを使います。手順は、器を作る、フォーマットする、繋ぐ、置く、の4段です

②使うコマンド 器は dd if=/dev/zero of=<パス> bs=1M count=16 です。フォーマットは mkfs.ext4 <パス>。繋ぐのは mount -o loop <イメージ> <マウントポイント> で、マウントポイントのディレクトリは先に mkdir -p で作っておきます

③部分解 dd if=/dev/zero of=/root/disk.img bs=1M count=16 のあと mkfs.ext4 -q /root/disk.img、mkdir -p /mnt/linuc、mount -o loop /root/disk.img /mnt/linuc、最後に echo hello > /mnt/linuc/hello.txt です

  • 1. dd で /root/disk.img という 16MB の空ファイルを作る
  • 2. mkfs.ext4 でそのファイルに ext4 のファイルシステムを作る
  • 3. /mnt/linuc というマウントポイント用のディレクトリを作る
  • 4. mount の -o loop で /root/disk.img を /mnt/linuc に繋ぐ
  • 5. /mnt/linuc/hello.txt に何か1行書き込む
  • 6. mount や findmnt や blkid で結果を確かめる

4 項目で採点します