6.43. E2fsprogs-1.37

The E2fsprogs package contains the utilities for handling the ext2 file system. It also supports the ext3 journaling file system.

Approximate build time: 0.6 SBU
Required disk space: 40.0 MB
Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo

6.43.1. Installation of E2fsprogs

Fix a compilation error in E2fsprogs' testsuite:

sed -i -e 's/-DTEST/$(ALL_CFLAGS) &/' lib/e2p/Makefile.in

It is recommended that E2fsprogs be built in a subdirectory of the source tree:

mkdir -v build
cd build

Prepare E2fsprogs for compilation:

../configure --prefix=/usr --with-root-prefix="" \
    --enable-elf-shlibs --disable-evms

The meaning of the configure options:


Certain programs (such as the e2fsck program) are considered essential programs. When, for example, /usr is not mounted, these programs still need to be available. They belong in directories like /lib and /sbin. If this option is not passed to E2fsprogs' configure, the programs are installed into the /usr directory.


This creates the shared libraries which some programs in this package use.


This disables the building of the Enterprise Volume Management System (EVMS) plugin. This plugin is not up-to-date with the latest EVMS internal interfaces and EVMS is not installed as part of a base LFS system, so the plugin is not required. See the EVMS website at http://evms.sourceforge.net/ for more information regarding EVMS.

Compile the package:


To test the results, issue: make check.

Install the binaries and documentation:

make install

Install the shared libraries:

make install-libs

6.43.2. Contents of E2fsprogs

Installed programs: badblocks, blkid, chattr, compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck, fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mklost+found, resize2fs, tune2fs, and uuidgen.
Installed libraries: libblkid.[a,so], libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so], and libuuid.[a,so]

Short Descriptions


Searches a device (usually a disk partition) for bad blocks


A command line utility to locate and print block device attributes


Changes the attributes of files on an ext2 file system; it also changes ext3 file systems, the journaling version of ext2 file systems


An error table compiler; it converts a table of error-code names and messages into a C source file suitable for use with the com_err library


A file system debugger; it can be used to examine and change the state of an ext2 file system


Prints the super block and blocks group information for the file system present on a given device


Is used to check, and optionally repair ext2 file systems and ext3 file systems


Is used to save critical ext2 file system data to a file


Displays or changes the file system label on the ext2 file system present on a given device


Finds a file system by label or Universally Unique Identifier (UUID)


Is used to check, and optionally repair, file systems


By default checks ext2 file systems


By default checks ext3 file systems


Saves the output of a command in a log file


Lists the attributes of files on a second extended file system


Converts a table of command names and help messages into a C source file suitable for use with the libss subsystem library


Creates an ext2 or ext3 file system on the given device


By default creates ext2 file systems


By default creates ext3 file systems


Used to create a lost+found directory on an ext2 file system; it pre-allocates disk blocks to this directory to lighten the task of e2fsck


Can be used to enlarge or shrink an ext2 file system


Adjusts tunable file system parameters on an ext2 file system


Creates new UUIDs. Each new UUID can reasonably be considered unique among all UUIDs created, on the local system and on other systems, in the past and in the future


Contains routines for device identification and token extraction


The common error display routine


Used by dumpe2fs, chattr, and lsattr


Contains routines to enable user-level programs to manipulate an ext2 file system


Used by debugfs


Contains routines for generating unique identifiers for objects that may be accessible beyond the local system