This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

ext4

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page contains changes which are not marked for translation.


Resources

ext4 (fourth extended file system) is an open source disk filesystem and most recent version of the extended series of filesystems. It is the primary file system in use by many Linux systems rendering it to be arguably the most stable and well tested file system supported in Linux.

Installation

Kernel

Activate the following kernel options for ext4 support:

KERNEL Enabling ext4 support
File systems  --->
   <*> The Extended 4 (ext4) filesystem

Support for optional ext4 features:

KERNEL Enabling optional features for ext4
File systems  --->
   [*]   Ext4 POSIX Access Control Lists
   [*]   Ext4 Security Labels
   [ ]   EXT4 debugging support
Optional ext4 support definitions
Option Description
Ext4 POSIX Access Control Lists Enable ACL permissions.
Ext4 Security Labels Enable POSIX capabilities support.
EXT4 debugging support (Not recommend) Use when debugging ext4 (advanced users only).

Large drive support

When the system has large disks (2 TB or greater) and a 32-bit (x86) kernel is being used, the following option must be enabled:

KERNEL Enabling large drives for x86 kernels
-*- Enable the block layer  --->
    [*]   Support for large (2TB+) block devices and files

USE flags

The sys-fs/e2fsprogs package contains the utilities to work with the filesystem. In Gentoo Linux sys-fs/e2fsprogs is part of the system set and should be already installed on the system.

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

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)
tools Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)

Emerge

After setting the USE flag update the system so the changes take effect:

root #emerge --ask --changed-use --deep @world

Usage

Creation

Warning
The mkfs.ext4 command irreversibly destroys any content of the partition it is told to format. Be sure to select the right partition!

To create an ext4 filesystem on the /dev/sda1 partition:

root #mkfs.ext4 /dev/sda1

Please replace /dev/sda1 with the actual partition to format.

By default, 5% of available disk space is reserved for the root user. This is usually a good thing for the partition where the / directory is mounted, but it may be not desirable on other partitions. To lose reserve disk space for the root user use mkfs.ext4's -m 0 option:

root #mkfs.ext4 -m 0 /dev/sda1

See also

  • JFS - A GPL licensed, 64-bit journaling filesystem developed by IBM.
  • Btrfs - A copy-on-write B-tree filesystem with advanced features (an entirely open source licensed ZFS alternative).
  • XFS - A GPL licensed, 64-bit journaling filesystem created by Silicon Graphics.
  • F2FS - A Flash-Friendly File System created by Samsung for the Linux kernel.

External resources