ext4

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Ext4 and the translation is 100% complete.
Resources

ext4 (fourth extended file system) はオープンソースのディスクファイルシステムで、extended filesystem シリーズの最新バージョンです。これは多くの Linux システムで主要なファイルシステムとして使用されていることから、Linux でサポートされている中でほぼ間違いなく最も安定し、かつ十分にテストされたファイルシステムとなっています。

ext4 は当初 ext3 のフォークとして作成され、パフォーマンスの改善と、ディスク上のフォーマットへのわずかな変更を伴うサイズ制限の撤廃という、新しい機能を取り入れました。ボリュームの上限は 1 EB に、ファイルサイズの上限は 16TB に拡大されました。古典的な ext2/3 ビットマップブロック割り当てに代わって、ext4 はエクステントを使用し、大きいファイルのパフォーマンスを向上させつつ断片化を抑制します。ext4 はより洗練されたブロック割り当てアルゴリズム (遅延割り当てとマルチブロック割り当て) も提供し、ファイルシステムドライバがディスク上のデータのレイアウトをより最適化できるようにしています。

インストール

カーネル

ext4 をサポートするには、以下のカーネルオプションを有効にしてください:

カーネル ext4 サポートを有効にする
File systems  --->
   <*> The Extended 4 (ext4) filesystem

ext4 のオプション機能をサポートするには:

カーネル ext4 のオプション機能を有効にする
File systems  --->
   [*]   Ext4 POSIX Access Control Lists
   [*]   Ext4 Security Labels
   [ ]   EXT4 debugging support

ext3

メモ
通常の ext4 システムでは、ext3 や ext2 のオプションを有功にする必要はありません。これらのオプションはもっぱら歴史的な理由のために残されているものです。

ext3 をサポートするには、以下のカーネルオプションを有効にしてください:

カーネル ext3 サポートを有功にする
File systems  --->
   <*> Ext3 journalling file system support

ext3 のオプション機能をサポートするには:

カーネル ext3 の機能を有功にする
File systems  --->
   [*]   Default to 'data=ordered' in ext3 
   [*]   Ext3 extended attributes
   [*]     Ext3 POSIX Access Control Lists
   [*]     Ext3 Security Labels

ext2

メモ
ext2 にはジャーナリングはありません。この機能のサポートは ext3 で追加されました。

ext2 をサポートするには、以下のカーネルオプションを有効にしてください:

カーネル ext2 サポートを有功にする
File systems  --->
   <*> Second extended fs support

ext2 のオプション機能をサポートするには:

カーネル ext2 を有功にする
File systems  --->
   [*]   Ext2 extended attributes
   [*]     Ext2 POSIX Access Control Lists
   [*]     Ext2 Security Labels
メモ
オリジナルの ext3 ファイルシステムのコードは Linux カーネルのバージョン 4.3 で削除され、代わって ext4 ファイルシステムのコードで ext2、ext3、ext4 ファイルシステムを扱えるようになりました。これにより、ファイルシステムが ext2 または ext3 としてマウントされた場合の互換性が維持されるとともに、 ext4 としてマウントされた場合にはアップグレードできるようになります。さらに、tune2fa を使って既存の ext2 や ext3 ファイルシステムに ext3 や ext4 特有の機能を追加することができますが、一定の制約は残ります。
オリジナルの ext2 ファイルシステムのコードは引き続き利用可能です。
メモ
ext2 と ext3 のファイルタイムスタンプはいずれも 2038 年問題の影響を受けますが、ext4 は 2016年の カーネル 4.3.6 と e2fsprogs 1.43 以降 2038 年問題の影響を受けません。

大容量ドライブのサポート

カーネル 大容量ドライブを x86 カーネルで有効化する
-*- Enable the block layer  --->
    [*]   Support for large (2TB+) block devices and files

USE フラグ

USE flags for sys-fs/e2fsprogs Standard EXT2/EXT3/EXT4 filesystem utilities

+tools Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)
archive Add support for mke2fs to read a tarball as input. This allows not needing privileges. Needs app-arch/libarchive.
cron Install e2scrub_all cron script
fuse Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems
nls Add Native Language Support (using gettext - GNU locale utilities)
static-libs Build static versions of dynamic libraries as well
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

emerge

sys-fs/e2fsprogs パッケージは system セットに含まれているはずです。

root #emerge --ask sys-fs/e2fsprogs

使い方

作成

警告
mkfs.ext4 コマンドはフォーマットするよう指示されたパーティションの全ての内容を不可逆的に破壊します。正しいパーティションを選択しているか必ず確認してください!

ext4 ファイルシステムを /dev/sda1 パーティションに作成するには:

root #mkfs.ext4 /dev/sda1

マウント

ファイルシステム を参照してください。

ユーティリティ

パッケージに含まれるユーティリティは以下から成ります:

ユーティリティ 説明 man ページ
badblocks ブロックデバイスにストレステストを行うための小さなプログラム。 Man page
debugfs ext2/ext3/ext4 ファイルシステムのデバッガー。 Man page
dumpe2fs ext2/ext3/ext4 ファイルシステムの情報をダンプするためのツール。 Man page
e2fsck ext2/ext3/ext4 ファイルシステムをチェックするためのツール。 Man page
e2image ext2/ext3/ext4 ファイルシステムの重要なメタデータをファイルを保存するためのツール。 Man page
e2label ext2/ext3/ext4 ファイルシステムのラベルを変更するためのツール(tune2fs へのシンボリックリンク)。
e2undo ext2/ext3/ext4 ファイルシステムの復元ログを再現するためのツール。 Man page
fsck.ext2 ext2 ファイルシステムを明示的にチェックします(e2fsck へのシンボリックリンク)。
fsck.ext3 ext3 ファイルシステムを明示的にチェックします(e2fsck へのシンボリックリンク)。
fsck.ext4 ext4 ファイルシステムを明示的にチェックします(e2fsck へのシンボリックリンク)。
fsck.ext4dev ext4dev ファイルシステムを明示的にチェックします(e2fsck へのシンボリックリンク)。
logsave コマンドの出力をログファイルに保存するためのツール。 Man page
mke2fs ext2/ext3/ext4 ファイルシステムを作成するための基本プログラム。作成コマンドはここへのシンボリックリンクです。 Man page
mkfs.ext2 ext2 ファイルシステムを明示的に作成します(mke2fs へのシンボリックリンク)。
mkfs.ext3 ext3 ファイルシステムを明示的に作成します(mke2fs へのシンボリックリンク)。
mkfs.ext4 ext4 ファイルシステムを明示的に作成します(mke2fs へのシンボリックリンク)。
mkfs.ext4dev ext4dev ファイルシステムを明示的に作成します(mke2fs へのシンボリックリンク)。
resize2fs ext2/ext3/ext4 ファイルシステムのサイズを変更するツール。 Man page
tune2fs ext2/ext3/ext4 ファイルシステムの調整可能なパラメーターを変更します。 Man page
ユーティリティ 説明 Man page
chattr Linux ファイルシステムにおけるファイル属性を変更します。 Man page
lsattr Linux ext2 におけるファイル属性の一覧を表示します。 Man page
ユーティリティ 説明 man page
e2freefrag 空き領域の断片化情報を報告します。 Man page
e4defrag ext4 ファイルシステム用のオンラインデフラグツール。 Man page
filefrag ファイルの断片化を報告します。 Man page
mklost+found Linux ext2 ファイルシステム に lost+found ディレクトリを作成します。 Man page

関連項目

  • XFS — 高性能なジャーナリングファイルシステム
  • Btrfs — 耐障害性、自己修復特性、管理のしやすさに焦点を当てつつ、先進的な機能を実装することも主眼としている、Linux 向けのコピーオンライト (CoW) ファイルシステムです。
  • FAT — 当初は MS-DOS (および後の NT 以前の Microsoft Windows) で使用するために作られたファイルシステム

外部資料

参照