Ext4

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Ext4 and the translation is 45% complete.
Outdated translations are marked like this.
Other languages:


Resources

ext4 (第四代扩展文件系统) 是 一个开源的磁盘文件系统并且是扩展系列文件系统的最新版本。它是许多 Linux 系统使用的主文件系统,这使其成为 Linux 中可以说是支持最稳定且经过良好测试的文件系统。

Initially created as a fork of ext3, ext4 brings new features, performance improvements, and removal of size limits with moderate changes to the on-disk format. It can span volumes up to 1 EB and with maximum file size of 16TB. Instead of the classic ext2/3 bitmap block allocation, ext4 uses extents, which improve large file performance and reduce fragmentation. Ext4 also provides more sophisticated block allocation algorithms (delayed allocation and multiblock allocation) giving the filesystem driver more ways to optimize the layout of data on the disk.

安装

内核

激活以下内核选项来启用 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

附注
A normal ext4 system will not need to enable ext3 or ext2 options. These options are here solely for historical purposes.

Activate the following kernel options for ext3 support:

内核 Enabling ext3 support
File systems  --->
   <*> Ext3 journalling file system support

Support for optional ext3 features:

内核 Enabling ext3 features
File systems  --->
   [*]   Default to 'data=ordered' in ext3 
   [*]   Ext3 extended attributes
   [*]     Ext3 POSIX Access Control Lists
   [*]     Ext3 Security Labels

Ext2

附注
Ext2 does not have journaling, support for this was added in Ext3

Activate the following kernel options for ext2 support:

内核 Enabling ext2 support
File systems  --->
   <*> Second extended fs support

Support for optional ext2 features:

内核 Enabling ext2
File systems  --->
   [*]   Ext2 extended attributes
   [*]     Ext2 POSIX Access Control Lists
   [*]     Ext2 Security Labels
附注
The original ext3 filesystem code was removed from the Linux Kernel with version 4.3, instead the ext4 filesystem code can now handle ext2, ext3 and ext4 filesystems. It will maintain compatibility if the filesystem is mounted as ext2 or ext3, and will provide upgradability when mounted as ext4. Additionally tune2fs can be used to add ext3- and ext4-specific features to an existing ext2 or ext3 filesystem, though certain hard limits will remain.
The original ext2 filesystem code remains available.
附注
Both ext2 and ext3 file timestamps are affected by the year 2038 problem, while ext4 is Y2k38-safe since 2016, Kernel 4.3.6 and e2fsprogs 1.43.

大型设备支持

内核 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

The sys-fs/e2fsprogs package and should be available as part of the default system set.

root #emerge --ask sys-fs/e2fsprogs

使用

创建

警告
mkfs.ext4 命令不可恢复地破坏了要格式化的分区所有内容。请确保您选择了正确的分区!

/dev/sda1 分区创建一个 ext4 文件系统:

root #mkfs.ext4 /dev/sda1

Mounting

See filesystem.

Utilities

Utilities included in the package consist of:

Utility Description Man page
badblocks A small program for stress testing block devices. Man page
debugfs An ext2/ext3/ext4 file system debugger. Man page
dumpe2fs A tool to dump ext2/ext3/ext4 filesystem information. Man page
e2fsck A tool for checking ext2/ext3/ext4 filesystems. Man page
e2image A tool for saving critical ext2/ext3/ext4 filesystem metadata to a file. Man page
e2label A tool to change the label on an ext2/ext3/ext4 filesystem (symlinks to tune2fs).
e2undo A tool to replay an undo log for an ext2/ext3/ext4 filesystem. Man page
fsck.ext2 Checks, specifically, an ext2 filesystem (symlinks to e2fsck).
fsck.ext3 Checks, specifically, an ext3 filesystem (symlinks to e2fsck).
fsck.ext4 Checks, specifically, an ext4 filesystem (symlinks to e2fsck).
fsck.ext4dev Checks, specifically, an ext4dev filesystem (symlinks to e2fsck).
logsave A tool to save the output of a command in a logfile. Man page
mke2fs The base program for creating ext2/ext3/ext4 filesystems. Creation commands symlink here. Man page
mkfs.ext2 Creates, specifically, an ext2 filesystem (symlinks to mke2fs).
mkfs.ext3 Creates, specifically, an ext3 filesystem (symlinks to mke2fs).
mkfs.ext4 Creates, specifically, an ext4 filesystem (symlinks to mke2fs).
mkfs.ext4dev Creates, specifically, an ext24dev filesystem (symlinks to mke2fs).
resize2fs An ext2/ext3/ext4 filesystem resizer. Man page
tune2fs Adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems. Man page
Utility Description Man page
chattr Change file attributes on a Linux filesystem. Man page
lsattr List file attributes on a Linux second extended filesystem. Man page
Utility Description Man page
e2freefrag Report free space fragmentation information. Man page
e4defrag An online defragmenter for ext4 filesystem. Man page
filefrag Report on file fragmentation. Man page
mklost+found Create a lost+found directory on a mounted Linux second extended filesystem. Man page

另请参阅

  • Ext4 encryption — provides instructions on encrypting files in a home partition using the ext4 filesystem's built-in file based encryption.
  • JFS — 一个由 IBM 创造的 64 位日志文件系统
  • Btrfs — 一个写入时复制(CoW) 的 Linux 文件系统 ,旨在实现高级功能的同时专注于容错、修复和易于管理等功能。
  • XFS — 一个高性能日志文件系统
  • F2FS — 一个为基于 NAND 闪存设备设计的文件系统

外部资源

References