%general-entities; ]> e2fsprogs &e2fsprogs-version;
&e2fsprogs-url;
E2fsprogs-&e2fsprogs-version; E2fsprogs <para>The E2fsprogs package contains the utilities for handling the <systemitem class="filesystem">ext2</systemitem> file system. It also supports the <systemitem class="filesystem">ext3</systemitem> and <systemitem class="filesystem">ext4</systemitem> journaling file systems.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&e2fsprogs-ch6-sbu;</seg> <seg>&e2fsprogs-ch6-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of E2fsprogs First fix a problem with running regression tests in the LFS chroot environment: sed -i -e 's|^LD_LIBRARY_PATH.*|&:/tools/lib|' tests/test_config 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: LIBS=-L/tools/lib \ CFLAGS=-I/tools/include \ PKG_CONFIG_PATH=/tools/lib/pkgconfig \ ../configure --prefix=/usr \ --bindir=/bin \ --with-root-prefix="" \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ --disable-fsck The meaning of the environment variable and configure options: PKG_CONFIG_PATH, LIBS, CFLAGS These variables enable e2fsprogs to be built using the package built earlier. --with-root-prefix="" and --bindir=/bin 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. --disable-* This prevents E2fsprogs from building and installing the libuuid and libblkid libraries, the uuidd daemon, and the fsck wrapper, as Util-Linux installed all of them earlier. Compile the package: make 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, be sure to enable sufficient swap space for the test. See and for details on creating and enabling swap space. Additionally, three tests try to allocate a two terabyte partition and will fail unless you have at least that much unused disk space available. 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 /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 Contents of E2fsprogs Installed programs Installed libraries Installed directory badblocks, chattr, compile_et, debugfs, dumpe2fs,e2freefrag, e2fsck, e2image, e2label, e2undo, e4defrag, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, fsck.ext4dev, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.ext4dev, resize2fs, and tune2fs libcom_err.{a,so}, libe2p.{a,so}, libext2fs.{a,so}, libquota.a, and libss.{a,so} /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/quota, /usr/include/ss, /usr/share/et, /usr/share/ss Short Descriptions badblocks Searches a device (usually a disk partition) for bad blocks badblocks chattr Changes the attributes of files on an ext2 file system; it also changes ext3 file systems, the journaling version of ext2 file systems chattr 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 compile_et debugfs A file system debugger; it can be used to examine and change the state of an ext2 file system debugfs dumpe2fs Prints the super block and blocks group information for the file system present on a given device dumpe2fs e2freefrag Reports free space fragmentation information e2freefrag e2fsck Is used to check, and optionally repair ext2 file systems and ext3 file systems e2fsck e2image Is used to save critical ext2 file system data to a file e2image e2label Displays or changes the file system label on the ext2 file system present on a given device e2label 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. e2undo e4defrag Online defragmenter for ext4 filesystems e4defrag filefrag Reports on how badly fragmented a particular file might be filefrag fsck.ext2 By default checks ext2 file systems. This is a hard link to e2fsck. fsck.ext2 fsck.ext3 By default checks ext3 file systems. This is a hard link to e2fsck. fsck.ext3 fsck.ext4 By default checks ext4 file systems. This is a hard link to e2fsck. fsck.ext4 fsck.ext4dev By default checks ext4 development file systems. This is a hard link to e2fsck. fsck.ext4dev logsave Saves the output of a command in a log file logsave lsattr Lists the attributes of files on a second extended file system lsattr mk_cmds Converts a table of command names and help messages into a C source file suitable for use with the libss subsystem library mk_cmds mke2fs Creates an ext2 or ext3 file system on the given device mke2fs mkfs.ext2 By default creates ext2 file systems. This is a hard link to mke2fs. mkfs.ext2 mkfs.ext3 By default creates ext3 file systems. This is a hard link to mke2fs. mkfs.ext3 mkfs.ext4 By default creates ext4 file systems. This is a hard link to mke2fs. mkfs.ext4 mkfs.ext4dev By default creates ext4 development file systems. This is a hard link to mke2fs. mkfs.ext4dev 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 mklost+found resize2fs Can be used to enlarge or shrink an ext2 file system resize2fs tune2fs Adjusts tunable file system parameters on an ext2 file system tune2fs libcom_err The common error display routine libcom_err libe2p Used by dumpe2fs, chattr, and lsattr libe2p libext2fs Contains routines to enable user-level programs to manipulate an ext2 file system libext2fs libquota Provides an interface for creating and updating quota files and ext4 superblock fields libquota libss Used by debugfs libss