12-LPIC「level1」

LPIC|level 1【ファイルシステム管理コマンド】

目標

  • ファイルシステム管理コマンドについて理解する

ファイルシステムについては次の記事を参考にしてください。

Virtual Box & Linux(Part.21)| Linux リソースの利用(1)| 現役エンジニア&プログラミングスクール講師Linuxのパーティションについて記事にしています。「デバイスドライバ」「デバイスファイル」「パーティション」「ファイルシステム」について扱っています。...

inodeについては次の記事を参考にしてください。

Virtual Box & Linux(Part.18)| Linux ファイルの管理(3)【リンク】| 現役エンジニア&プログラミングスクール講師「ハードリンク」「シンボリックリンク」について記事にしています。「iノード」と「iノード番号」の概要と「lnコマンド」の利用方法をあわせて扱っています。...

ファイルシステム管理コマンド

ファイルシステム管理コマンド

ファイルシステム管理に関わるコマンドは、Linuxでの運用やトラブルシューティングにおいてとても重要となります。必要な内容は押さえておくと業務で助かります。

ext系ファイルシステム用コマンド(ext2/ext3/ext4)

mke2fs(または mkfs.ext4)

  • 用途:ext2/3/4ファイルシステムの作成(初期化)
  • 対応FS:ext2, ext3, ext4(デフォルトはext4)
  • 関連名:mkfs.ext2, mkfs.ext3, mkfs.ext4 は mke2fs のラッパー

「ラッパー」とは、あるコマンドや関数を別の名前・形で呼び出す“カバー”のようなものです。利用者にとっては簡単・明確な名前で使えるようになります。実際の処理は別のコマンド(この場合は mke2fs)に委ねています。

mke2fs の 動作モードは -t オプションか設定ファイル(/etc/mke2fs.conf)に依存します。デフォルトが ext4 であることが多いですが、環境によっては ext3 や ext2 の場合もあります。

主なオプション

  • -t ext4:ファイルシステムの種類指定(省略可)
  • -L :ラベル設定
  • -b :ブロックサイズ指定(例:1024, 2048, 4096)

利用例

sudo mke2fs -t ext4 -L mydata /dev/sdb1

→ /dev/sdb1 に ext4 ファイルシステムを作成し、ラベル mydata を設定します。

tune2fs

  • 用途:extファイルシステムのパラメータ変更
  • マウント中でも実行できますが、安全に実行するにはアンマウントまたは読み取り専用が望ましいです。

主なオプション

  • -L :ラベルを変更
  • -c :チェック間隔(マウント回数)を設定
  • -i :チェック間隔(日数)を設定(例:-i 7d)

利用例

sudo tune2fs -L archive /dev/sdb1
sudo tune2fs -c 30 -i 7d /dev/sdb1

上のコマンド → /dev/sdb1 のファイルシステムに ラベル(volume label)として archive を設定します。

下のコマンド →自動ファイルシステムチェック(fsck)の実行条件を変更します。これによって、/dev/sdb1 は、30回マウントされるか、最後の fsck から7日経過した場合、次回マウント時に fsck(整合性チェック)が強制されるようになります。これは 安全性確保のための定期メンテナンス設定です。

  • -c 30:30回マウントされたら fsck を強制実行する
  • -i 7d:7日ごとに fsck を強制実行する(d = days)

dumpe2fs

  • 用途:extファイルシステムのスーパーブロックと構造情報を表示
  • 読み取り専用。安全

主なオプション

  • -h:ヘッダー(スーパーブロック)のみ表示

利用例

sudo dumpe2fs -h /dev/sdb1
Filesystem volume name:   archive               # ラベル
Last mounted on:          /mnt/data               # 最後にマウントされた場所
Filesystem UUID:          3a1b2c3d-...            # UUID(fstabやblkidで使える)

Filesystem magic number:  0xEF53               # ext系である印
Filesystem revision #:    1 (dynamic)            # ファイルシステムの世代(ext4は1)

Filesystem features:      has_journal, ext_attr,...  #  機能一覧(ジャーナル、属性など)
Filesystem flags:         signed_directory_hash      #  各種機能のON/OFF

Default mount options:    user_xattr acl         # デフォルトで有効なマウントオプション

Filesystem state:         clean                         #  整合性チェックの状態
Errors behavior:          Continue                    # エラー時の動作(続行/リマウントROなど)
Last checked:             Mon Jun  2 10:15:45 2025
Check interval:           604800 (7 days)         #  `tune2fs`で設定した「-i 7d」に対応
Next check after:         Mon Jun  9 10:15:45 2025

Mount count:              2
Maximum mount count:      30                      #  `-c 30` の設定

Block count:              262144
Block size:               4096
Inode count:              65536
Free blocks:              240000                        #  空きブロック数
Free inodes:              64000                         # 空きinode数

fsck

  • 用途:ファイルシステムの整合性検査と修復(マルチFS対応の汎用コマンド)

主なオプション

  • -A:/etc/fstab に従ってすべてのファイルシステムをチェック
  • -y:すべての質問に自動で「yes」と答える

利用例1

sudo fsck /dev/sdb1

デバイス /dev/sdb1 に対して fsck(ファイルシステムチェック)を実行します。ファイルシステムの種類(ext4など)は自動判別されます。問題が検出された場合、ユーザーに修復するかどうかを対話的に確認されます(Yes/No)。

実行結果(例)

e2fsck 1.46.6 (3-Feb-2023)
/dev/sdb1: clean, 10523/65536 files, 22456/262144 blocks


問題がある場合

Inode 34567 has a bad block.
Fix?


→ この場合、y と答えると修復が行われます。

利用例2

sudo fsck -A -y

実行結果(例)
複数のパーティションが自動で検出され、それぞれに対して fsck が実行されます。

/boot: clean
/: FILE SYSTEM WAS MODIFIED
/home: clean

FILE SYSTEM WAS MODIFIED と表示される場合は、fsck によって自動的に修復されたことを示します。

e2fsck

  • 用途:ext2/3/4ファイルシステムのチェックと修復(fsck のext専用版)

主なオプション

  • -f:強制的にチェックを実行
  • -p:自動修復(エラーが軽微な場合のみ)

利用例

sudo e2fsck -f /dev/sdb1

実行結果(正常な場合)

e2fsck 1.46.6 (3-Feb-2023)
/dev/sdb1: clean, 10523/65536 files, 22456/262144 blocks

これは /dev/sdb1 のファイルシステムが整合性チェック済みで、問題がない状態であることを示します。

実行結果(エラーがあった場合の例)

Inode 13456 was part of the orphaned inode list. FIXED.
Free blocks count wrong (123456, counted=123460).
Fix<y>? y
Free inodes count wrong (1234, counted=1235).
Fix<y>? y


ファイルシステムのカウンタ不整合や孤立した inode などが自動修復の対象になります。

-f により、「クリーンな状態」でも再チェックを強制するため、意図的に問題がないか再確認したいときに有効です。

debugfs

  • 用途:ext系ファイルシステムを低レベルで直接操作・解析するツール(非常に強力だが危険)

利用例

sudo debugfs /dev/sdb1

/dev/sdb1 の ext ファイルシステムを「読み取り専用」または「読み書き」で開きます。

コマンドプロンプトが debugfs: に変わり、対話的にファイルシステムの内部にアクセスできるようになります。

誤操作でファイルシステムが破損する可能性があるため、通常は 読み取り専用で使うことを推奨します(例:debugfs -R や -w を付けずに)。

その後、対話シェルに入って操作を行います。以下は操作例。

ls /

ルートディレクトリ(/)の中身(ファイルやディレクトリ)を一覧表示します。

ファイルの inode 番号、型(ファイル/ディレクトリ)、パーミッションなどが表示されます。

Inode  Name
2      .
2      ..
11     lost+found
12     etc
13     home
14     var
15     file.txt
  • Inode:各ファイルの識別番号
  • Name:ファイルやディレクトリ名
  • lost+found は ext系ファイルシステムに必ずある「回収された壊れたファイルを入れる場所」
stat /lost+found

lost+found ディレクトリの inode 情報(メタデータ)を表示します。

アクセス権、サイズ、作成日時、更新日時、リンク数などが表示されます。

Inode: 11   Type: directory   Mode: 0755   Flags: 0x0
Generation: 1234567890
User: 0   Group: 0   Size: 12288
File ACL: 0
Created: 2025-06-01 09:15:45
Modified: 2025-06-01 09:15:45
Accessed: 2025-06-02 10:00:00
Links: 2
  • Inode:識別番号(ファイルシステム内で一意)
  • Mode:パーミッション(0755 → rwxr-xr-x)
  • User/Group:所有者 UID/GID(0 は root)
  • Size:ディレクトリサイズ(実ブロック単位)
  • Links:リンク数(親ディレクトリやサブディレクトリの .. など)

XFSファイルシステム用コマンド

XFSは、高性能でスケーラブルな ジャーナリングファイルシステムで、特に大容量ストレージやサーバ用途で人気があります。XFSは独自のツール群を持っています。

mkfs.xfs

  • 用途:XFSファイルシステムの作成

利用例

sudo mkfs.xfs -L xfsdata /dev/sdb1

実行後

  1. パーティション /dev/sdb1 が XFS ファイルシステムで初期化(= 既存データは消える)されます。
  2. スーパーブロック、アロケーショングループ、ジャーナルなどの構造が作成されます。
  3. xfsdata というラベルが付与されます。

ラベルとは?(ファイルシステムラベル)
ファイルシステムに付ける「ニックネーム」や「識別名」のようなものです。一度付ければ、/dev/sdb1 のような物理パスではなく、ラベル名で識別できるようになります。

xfs_info

  • 用途:マウントされたXFSファイルシステムの情報を表示

利用例

sudo xfs_info /mount/point

実行例

$ sudo xfs_info /mnt/data
meta-data=/dev/sdb1        isize=512    agcount=4, agsize=65536 blks
              =                       sectsz=512   attr=2, projid32bit=1
              =                       crc=1        finobt=1, rmapbt=0, reflink=0
data        =                      bsize=4096   blocks=262144, imaxpct=25
              =                      sunit=0      swidth=0 blks
naming   =version 2         bsize=4096   ascii-ci=0, ftype=1
log         =internal            bsize=4096   blocks=2560, version=2
              =                      sectsz=512   sunit=0 blks, lazy-count=1
realtime  =none               extsz=4096   blocks=0, rtextents=0
項目意味
meta-dataメタデータ領域の情報(inode のサイズやアロケーショングループなど)
isize各 inode のサイズ(バイト単位)
agcountアロケーショングループ数(XFS の内部並列単位)
sectszセクタサイズ(通常は 512B)
attr拡張属性の数(attr=2 は名前空間 xattr をサポート)
projid32bitプロジェクト ID を 32bit で扱う設定(クォータ制御に関与)
crc=1メタデータの整合性チェックサム機能(あり)
dataデータ領域情報(ブロックサイズ、全ブロック数など)
imaxpctinode 使用可能率(inode を使用できるブロック数の割合)
namingディレクトリ構造の形式(version 2、bsize はディレクトリブロックサイズ)
ftype=1ファイルの型を識別する情報をディレクトリに含む
logジャーナルの位置(internal = データ領域内に格納)
realtimeリアルタイムデバイス(未使用が一般的)

xfs_repair

  • 用途:XFSファイルシステムの修復
  • 注意:必ずアンマウントされた状態で実行する

利用例

sudo umount /dev/sdb1
sudo xfs_repair /dev/sdb1

/dev/sdb1 に存在する XFSファイルシステムの矛盾や破損を検出し、必要に応じて 自動修復を行います。

xfs_check(非推奨)

  • 旧式のチェックツール。代わりに xfs_repair -n を使う(読み取り専用の診断)

xfs_db

  • 用途:XFSファイルシステムの低レベル調査・デバッグツール(debugfs に相当)

利用例

sudo xfs_db /dev/sdb1

→ xfs_db シェルに入って、詳細情報を確認・手動操作が可能になります。

今回は以上になります。

「Linux」おすすめ書籍6選【初心者・脱初心者用】| 現役エンジニア&プログラミングスクール講師「Linux」初心者の方がLinuxの操作や仕組みを理解するためのお勧めの書籍について取り上げています。また中級者として更に進んだ学習ができる書籍についても1冊取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST