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)使之可以在本地系统之外引用
文章导航