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.
Included with e2fsprogs, ordered by ASCIIbetical order, are:badblocks
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
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
used to modify file system parameters
Many of these utilities are based on the libext2fs library.
Despite what its name might suggest, e2fsprogs works not only with ext2 and ext3, but also with 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.
With ext4 the e2fsck runtime should come down considerably.
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.