E2fsprogs

e2fsprogs (sometimes called the e2fs programs) 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:
 * : search a device for bad blocks
 * : locate/print block device attributes
 * : change file attributes on a Linux file system
 * : used to manually view or modify internal structures of the file system
 * : which prints superblock and block group information.
 * : report free space fragmentation information
 * : an fsck program that checks for and corrects inconsistencies
 * : save critical ext2/ext3/ext4 filesystem metadata to a file
 * : change the label on an ext2/ext3/ext4 filesystem
 * : check a filesystem "online" (i.e. without having to unmount it) in the case where the filesystem is on an LVM LV
 * : replay an undo log for an ext2/ext3/ext4 filesystem
 * : online defragmenter for ext4 filesystem
 * : report on file fragmentation
 * : find a filesystem by label or UUID
 * : quick hacked up program to find ext2 superblocks
 * : save the output of a command in a logfile
 * : list file attributes on a Linux second extended file system
 * : used for creating ext2, ext3 and ext4 file systems
 * : which can expand and shrink ext2, ext3 and ext4 file systems. On-line support was added in 2006.
 * : used to modify file system parameters

Many of these utilities are based on the  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, it is sometimes still necessary to help protect against kernel bugs or bad hardware.



With ext4 the e2fsck runtime should come down considerably, as can be seen 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 Linux. However, they have been ported to other systems, such as FreeBSD and Darwin.