E2fsprogs


e2fsprogs is a set of utilities for maintaining the ext2, ext3 and ext4 file systems. Since those file systems are often the default for Linux distributions, it is commonly considered to be essential software.

List of utilities

Included with e2fsprogs, ordered by ASCIIbetical order, are:
;badblocks : search a device for bad blocks
;blkid : locate/print block device attributes
;chattr : change file attributes on a Linux file system
;debugfs : used to manually view or modify internal structures of the file system
;dumpe2fs : which prints superblock and block group information.
;e2freefrag : report free space fragmentation information
;e2fsck : an fsck program that checks for and corrects inconsistencies
;e2image : save critical ext2/ext3/ext4 filesystem metadata to a file
;e2label : change the label on an ext2/ext3/ext4 filesystem
;e2undo : replay an undo log for an ext2/ext3/ext4 filesystem
;e4defrag : online defragmenter for ext4 filesystem
;filefrag : report on file fragmentation
;findfs : find a filesystem by label or UUID
;findsuper : quick hacked up program to find ext2 superblocks
;logsave : save the output of a command in a logfile
;lsattr : list file attributes on a Linux second extended file system
;mke2fs : used for creating ext2, ext3 and ext4 file systems
;resize2fs : which can expand and shrink ext2, ext3 and ext4 file systems. On-line support was added in 2006.
;tune2fs : used to modify file system parameters
Many of these utilities are based on the libext2fs library.

Usage

Despite what its name might suggest, e2fsprogs works not only with ext2, but also with ext3 and ext4. Although ext3's journaling capability can reduce the need to use e2fsck, it is sometimes still necessary to help protect against kernel bugs or bad hardware.
time/Inode Count
With ext4 the e2fsck runtime should come down considerably, as you can see from the graph.
As the userspace companion for the ext2, ext3, and ext4 drivers in the Linux kernel, the e2fsprogs are most commonly used with GNU/Linux. However, they have been ported to other systems, such as FreeBSD and Darwin.