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: 48.4 MB |
Official download location for E2fsprogs (1.34):
http://download.sourceforge.net/e2fsprogs/
For its installation E2fsprogs depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo.
It is recommended to build E2fsprogs outside of the source tree:
mkdir ../e2fsprogs-build cd ../e2fsprogs-build |
Prepare E2fsprogs for compilation:
../e2fsprogs-1.34/configure --prefix=/usr --with-root-prefix="" \ --enable-elf-shlibs |
The meaning of the configure options:
--with-root-prefix="": Certain programs (such as the e2fsck program) are considered essential programs. When, for example, /usr isn't mounted, these essential programs have to be available. They belong in directories like /lib and /sbin. If this option isn't passed to E2fsprogs's configure, the programs are placed in the /usr directory, which is not what we want.
--enable-elf-shlibs: This creates the shared libraries which some programs in this package make use of.
Compile the package:
make |
This package has a test suite available which can perform a number of checks to ensure it built correctly. Should you choose to run it, the following command will do so:
make check |
Install most of the package:
make install |
And install also the shared libraries:
make install-libs |
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]
badblocks searches a device (usually a disk partition) for bad blocks.
blkid is a command line utility to locate and print block device attributes.
chattr changes the attributes of files on a second extended (ext2) file system.
compile_et is 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 is 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.
e2fsck is used to check, and optionally repair, second extended (ext2) file systems, and also ext3 file systems.
e2image is used to save critical ext2 file system data to a file.
e2label will display or change the file system label on the ext2 file system present on a given device.
findfs finds a file system by label or UUID.
fsck is used to check, and optionally repair, file systems. By default it checks the file systems listed in /etc/fstab
logsave saves the output of a command in a logfile.
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 is used to create a second extended file system on the given device.
mklost+found is used to create a lost+found directory on a second extended 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 is used adjust tunable file system parameters on a second extended file system.
uuidgen creates new universally unique identifiers (UUID). 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.
libblkid contains routines for device identification and token extraction.
libcom_err is the common error display routine.
libe2p is used by dumpe2fs, chattr, and lsattr.
libext2fs contains routines to enable user-level programs to manipulate an ext2 file system.
libss is used by debugfs.
libuuid contains routines for generating unique identifiers for objects that may be accessible beyond the local system.