#### Linux From Scratch - Version 11.1

### Chapter 8. Installing Basic System Software

- Prev

  Util-linux-2.37.4

- Next

  Sysklogd-1.5.1

- Up
- Home

# 8.73. E2fsprogs-1.46.5

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: 4.4 SBU on a spinning disk, 1.3 SBU on an SSD
Required disk space: 93 MB

## 8.73.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           \
                 --sysconfdir=/etc       \
                 --enable-elf-shlibs     \
                 --disable-libblkid      \
                 --disable-libuuid       \
                 --disable-uuidd         \
                 --disable-fsck

The meaning of the configure options:

`--enable-elf-shlibs`

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

`--disable-*`

  This prevents e2fsprogs from building and installing the `libuuid` and `libblkid` libraries, the `uuidd` daemon, and the fsck wrapper, as util-linux installs more recent versions.

Compile the package:

    make

To run the tests, issue:

    make check

One test, u_direct_io, is known to fail on some systems.

Install the package:

    make install

Remove useless static libraries:

    rm -fv /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 /usr/share/info/libext2fs.info

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 /usr/share/info/com_err.info

## 8.73.2. Contents of E2fsprogs

Installed programs: badblocks, chattr, compile_et, debugfs, dumpe2fs, e2freefrag, e2fsck, e2image, e2label, e2mmpstatus, e2scrub, e2scrub_all, e2undo, e4crypt, e4defrag, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mklost+found, resize2fs, and tune2fs
Installed libraries: libcom_err.so, libe2p.so, libext2fs.so, and libss.so
Installed directories: /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/ss, /usr/lib/e2fsprogs, /usr/share/et, and /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` file systems and `ext3` file systems
e2image | Is used to save critical `ext2` file system data to a file
e2label | Displays or changes the file system label on the `ext2` file system present on a given device
e2mmpstatus | Checks MMP status of an ext4 filesystem
e2scrub | Checks the contents of a mounted ext[234] filesystem
e2scrub_all | Checks all mounted ext[234] filesystems for errors
e2undo | 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.]
e4crypt | Ext4 filesystem encryption utility
e4defrag | Online defragmenter for ext4 filesystems
filefrag | Reports on how badly fragmented a particular file might be
fsck.ext2 | By default checks `ext2` file systems and is a hard link to e2fsck
fsck.ext3 | By default checks `ext3` file systems and is a hard link to e2fsck
fsck.ext4 | By default checks `ext4` file systems and is a hard link to e2fsck
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` or `ext3` file system on the given device
mkfs.ext2 | By default creates `ext2` file systems and is a hard link to mke2fs
mkfs.ext3 | By default creates `ext3` file systems and is a hard link to mke2fs
mkfs.ext4 | By default creates `ext4` file systems and is a hard link to mke2fs
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

- Prev

  Util-linux-2.37.4

- Next

  Sysklogd-1.5.1

- Up
- Home