# E2fsprogs-&e2fsprogs-version;

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

## 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-fsck \
        --disable-uuidd

## The meaning of the configure options:

`--with-root-prefix=""`

- 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.

`--enable-elf-shlibs`

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

Compile the package:

    make

To test the results, issue: `make check`.

Install the binaries, documentation and shared libraries:

    make install

Install the static libraries and headers:

    make install-libs

## Contents of E2fsprogs

Installed programs Installed libraries Installed directories
- 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 libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], and libss.[a,so] /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/ss, /usr/share/et, /usr/share/ss

Short Descriptions

`badblocks`

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

`chattr`

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

`compile_et`

- 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

`debugfs`

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

`dumpe2fs`

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

`e2freefrag`

- Reports free space fragmentation information

`e2fsck`

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

`e2image`

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

`e2initrd_helper`

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

`e2label`

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

`e2undo`

- Replays an undo log for an ext2/ext3/ext4 filesystem

`filefrag`

- Reports on how badly fragmented a particular file might be

`fsck.ext2`

- By default checks `ext2` file systems

`fsck.ext3`

- By default checks `ext3` file systems

`fsck.ext4`

- By default checks `ext4` file systems

`fsck.ext4dev`

- By default checks `ext4dev` file systems

`logsave`

- Saves the output of a command in a log file

`lsattr`

- Lists the attributes of files on a second extended file system

`mk_cmds`

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

`mke2fs`

- Creates an `ext2`, `ext3` or `ext4` file system on the given device

`mkfs.ext2`

- By default creates `ext2` file systems

`mkfs.ext3`

- By default creates `ext3` file systems

`mkfs.ext4`

- By default creates `ext4` file systems

`mkfs.ext4dev`

- By default creates `ext4dev` file systems

`mklost+found`

- 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`

`resize2fs`

- Can be used to enlarge or shrink an `ext2` file system

`tune2fs`

- Adjusts tunable file system parameters on an `ext2` file system

`libcom_err`

- The common error display routine

`libe2p`

- Used by `dumpe2fs`, `chattr`, and `lsattr`

`libext2fs`

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

`libss`

- Used by `debugfs`