6.30. E2fsprogs-1.39

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

预计编译时间: 0.4 SBU
所需磁盘空间: 31.2 MB

6.30.1. 安装 E2fsprogs

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

mkdir -v 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

E2fsprogs 的一个测试会尝试分配 256 MB 内存。如果你没有充足的RAM空间,推荐打开足够的交换分区。参见节 2.3, "在新分区上创建文件系统"节 2.4, "挂载新分区" 获取关于创建和激活交换分区的细节。

安装二进制文件和文档:

make install

安装共享库:

make install-libs

6.30.2. E2fsprogs 的内容

安装的程序: badblocks, blkid, chattr, compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, filefrag, 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 文件系统标识

filefrag

报告一个文件的碎片情况

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

用来给对象产生通用唯一标识符(UUID)使之可以在本地系统之外引用