目標
- ファイルシステム管理コマンドについて理解する
ファイルシステムについては次の記事を参考にしてください。
-320x180.jpg)
inodeについては次の記事を参考にしてください。
-320x180.jpg)
ファイルシステム管理コマンド
ファイルシステム管理コマンド
ファイルシステム管理に関わるコマンドは、Linuxでの運用やトラブルシューティングにおいてとても重要となります。必要な内容は押さえておくと業務で助かります。
ext系ファイルシステム用コマンド(ext2/ext3/ext4)
mke2fs(または mkfs.ext4)
- 用途:ext2/3/4ファイルシステムの作成(初期化)
- 対応FS:ext2, ext3, ext4(デフォルトはext4)
- 関連名:mkfs.ext2, mkfs.ext3, mkfs.ext4 は mke2fs のラッパー
主なオプション
- -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: に変わり、対話的にファイルシステムの内部にアクセスできるようになります。
その後、対話シェルに入って操作を行います。以下は操作例。
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
実行後
- パーティション /dev/sdb1 が XFS ファイルシステムで初期化(= 既存データは消える)されます。
- スーパーブロック、アロケーショングループ、ジャーナルなどの構造が作成されます。
- xfsdata というラベルが付与されます。
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 | データ領域情報(ブロックサイズ、全ブロック数など) |
imaxpct | inode 使用可能率(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 シェルに入って、詳細情報を確認・手動操作が可能になります。
今回は以上になります。

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

