6.43. E2fsprogs-1.37

E2fsprogs 提供用于 ext2 文件系统的工具。它还支持 ext3 日志文件系统。

预计编译时间: 0.6 SBU
所需磁盘空间: 40.0 MB
安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo

6.43.1. 安装 E2fsprogs

首先修正一个 E2fsprogs 的测试错误:

sed -i -e 's/-DTEST/$(ALL_CFLAGS) &/' lib/e2p/Makefile.in

推荐在 E2fsprogs 的源码目录外面来编译它:

mkdir build
cd build

为编译 E2fsprogs 做准备:

../configure --prefix=/usr --with-root-prefix="" \
    --enable-elf-shlibs --disable-evms

配置选项的含义:

--with-root-prefix=""

有的程序(如 e2fsck)对系统来说是非常重要的,例如,在 /usr 没有挂载的情况下。这些程序和库就应放在像 /lib/sbin 这些目录中。如果没有把上面的参数传递给 E2fsprogs 的 configure 脚本,它就会把程序放在 /usr 目录下。

--enable-elf-shlibs

这会创建共享的库,供 E2fsprogs 包中的一些程序使用。

--disable-evms

这个选项禁止了企业卷管理系统(EVMS)插件的支持。因为这个插件并没有更新到适合最新的 EVMS 接口并且 EVMS 并不是基本 LFS 系统的一部分,所以我们并不需要这个插件。请参考 EVMS 网站 http://evms.sourceforge.net/ 以获得更多信息。

编译软件包:

make

要测试结果,请运行: make check

安装二进制文件和文档:

make install

安装共享库:

make install-libs

6.43.2. E2fsprogs 的内容

安装的程序: 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, uuidgen.
安装的库: libblkid.[a,so], libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so], libuuid.[a,so]

简要描述

badblocks

用来检查设备(通常是硬盘分区)上的坏块。

blkid

定位并打印出块设备属性的命令行工具。

chattr

ext2ext3 文件系统上改变文件属性。

compile_et

用来将错误代码(error-code)和相关出错信息的列表 转化为适用于 com_err 库的C语言文件。

debugfs

文件系统调试器。能用来检查和改变 ext2 文件系统的状态。

dumpe2fs

打印特定设备上现存的文件系统的超级块(super block)和块群(blocks group)的信息

e2fsck

用来检查和修复 ext2ext3文件系统。

e2image

将关键的 ext2 文件系统数据保存到一个文件中。

e2label

显示或者改变指定设备上的 ext2 文件系统标识。

findfs

通过卷标或通用唯一标识符(UUID)寻找文件系统。

fsck

用来检查或者修理文件系统。

fsck.ext2

默认检查 ext2文件系统。

fsck.ext3

默认检查 ext3 文件系统。

logsave

把一个命令的输出保存在日志文件中。

lsattr

列出 ext2 文件系统上的文件属性。

mk_cmds

将一个包含命令列表的文件转化为适用于子系统库 libss 的C源文件。

mke2fs

用来创建 ext2 或 ext3 文件系统。

mkfs.ext2

默认创建 ext2 文件系统。

mkfs.ext3

默认创建ext3 文件系统。

mklost+found

ext2 文件系统上创建一个 lost+found 目录,并给该目录预分配磁盘数据块,以减轻 e2fsck命令的负担。

resize2fs

可以用来增大或缩小 ext2文件系统。

tune2fs

调整 ext2 文件系统的可调参数。

uuidgen

创建一个新的通用唯一标识符(UUID)。这个新UUID 可以被认为是在所有已创建的UUID中独一无二的,不论是在本地的系统或者别的系统,过去还是将来。

libblkid

包含设备识别和节点释放的库函数。

libcom_err

通用错误显示库。

libe2p

用于 dumpe2fs, chattr, lsattr

libext2fs

允许用户级的程序操作 ext2 文件系统。

libss

用于 debugfs

libuuid

用来给对象产生唯一的ID使之可以在本地系统之外引用。