6.24. E2fsprogs-1.41.12

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

Approximate build time: 0.5 SBU
Required disk space: 45 MB

6.24.1. Installation of E2fsprogs

The E2fsprogs documentation recommends that the package 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-libblkid --disable-libuuid \
    --disable-uuidd --disable-fsck

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 prevents E2fsprogs from building and installing the libuuid and libblkid libraries, the uuidd daemon, and the fsck wrapper, as Util-Linux-NG installed all of them earlier.

Compile the package:


To test the results, issue:

make check

One of the E2fsprogs tests will attempt to allocate 256 MB of memory. If you do not have significantly more RAM than this, it is recommended to enable sufficient swap space for the test. See Section 2.3, “Creating a File System on the Partition” and Section 2.4, “Mounting the New Partition” for details on creating and enabling swap space.

Install the binaries, documentation, and shared libraries:

make install

Install the static libraries and headers:

make install-libs

Make the installed static libraries writable so debugging symbols can be removed later:

chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

This package installs a gzipped .info file but doesn't update the system-wide dir file. Unzip this file and then update the system dir file using the following commands.

gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir \

If desired, create and install some additional documentation by issuing the following commands:

makeinfo -o      doc/com_err.info ../lib/et/com_err.texinfo
install -v -m644 doc/com_err.info /usr/share/info
install-info --dir-file=/usr/share/info/dir \

6.24.2. Contents of E2fsprogs

Installed programs: badblocks, chattr, compile_et, debugfs, dumpe2fs, e2freefrag, e2fsck, e2image, e2initrd_helper, e2label, e2undo, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, fsck.ext4dev, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.ext4dev, mklost+found, resize2fs, and tune2fs
Installed libraries: libcom_err.{a,so}, libe2p.{a,so}, libext2fs.{a,so} and libss.{a,so}
Installed directory: /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/ss, /usr/share/et, /usr/share/ss

Short Descriptions


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


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


Reports free space fragmentation information


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


Prints the FS type of a given filesystem, given either a device name or label


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


Replays the undo log undo_log for an ext2/ext3/ext4 filesystem found on a device. This can be used to undo a failed operation by an e2fsprogs program.


Reports on how badly fragmented a particular file might be


By default checks ext2 file systems. This is a hard link to e2fsck.


By default checks ext3 file systems. This is a hard link to e2fsck.


By default checks ext4 file systems. This is a hard link to e2fsck.


By default checks ext4 development file systems. This is a hard link to e2fsck.


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. This is a hard link to mke2fs.


By default creates ext3 file systems. This is a hard link to mke2fs.


By default creates ext4 file systems. This is a hard link to mke2fs.


By default creates ext4 development file systems. This is a hard link to mke2fs.


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


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