8.77. E2fsprogs-1.47.0

E2fsprogs 软件包包含处理 ext2 文件系统的工具。此外它也支持 ext3ext4 日志文件系统。

估计构建时间: 机械硬盘上 2.4 SBU,固态硬盘上 0.4 SBU
需要硬盘空间: 95 MB

8.77.1. 安装 E2fsprogs

E2fsprogs 文档推荐在源代码目录树中的一个子目录内构建该软件包:

mkdir -v build
cd       build

准备编译 E2fsprogs:

../configure --prefix=/usr           \
             --sysconfdir=/etc       \
             --enable-elf-shlibs     \
             --disable-libblkid      \
             --disable-libuuid       \
             --disable-uuidd         \
             --disable-fsck

配置选项的含义:

--enable-elf-shlibs

该选项表示创建该软件包中一些程序使用的共享库。

--disable-*

这些选项防止构建和安装 libuuidlibblkid 库,uuidd 守护程序,以及 fsck 包装器;因为 Util-linux 会安装更新的版本。

编译该软件包:

make

执行以下命令,以运行测试:

make check

已知一项名为 u_direct_io 的测试可能在一些系统上失败。

安装该软件包:

make install

删除无用的静态库:

rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

该软件包安装了一个 gzip 压缩的 .info 文件,却没有更新系统的 dir 文件。执行以下命令解压该文件,并更新系统 dir 文件:

gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info

如果需要,执行以下命令创建并安装一些额外的文档:

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

8.77.2. 配置 E2fsprogs

/etc/mke2fs.conf 包含 mke2fs 一些命令行选项的默认值。您可以修改这些默认值,使之符合您的需求。例如,一些工具 (未被 LFS 或 BLFS 包含) 无法识别启用了 metadata_csum_seed 特性的 ext4 文件系统。如果需要使用这样的工具,可以执行命令,从默认的 ext4 特性列表中移除该特性:

sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf

更多信息详见 man 页面 mke2fs.conf(5)

8.77.3. E2fsprogs 的内容

安装的程序: badblocks, chattr, compile_et, debugfs, dumpe2fs,e2freefrag, e2fsck, e2image, e2label, e2mmpstatus, e2scrub, e2scrub_all, e2undo, e4crypt, e4defrag, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mklost+found, resize2fs, 以及 tune2fs
安装的库: libcom_err.so, libe2p.so, libext2fs.so, 以及 libss.so
安装的目录: /usr/include/e2p, /usr/include/et, /usr/include/ext2fs, /usr/include/ss, /usr/lib/e2fsprogs, /usr/share/et, 以及 /usr/share/ss

简要描述

badblocks

在一个设备 (一般是磁盘分区) 上搜索坏块

chattr

改变 ext{234} 文件系统上文件的标志属性

compile_et

一个错误表编译器;它将包含错误编号名称和消息的表转化成 C 源代码,以和 com_err 库一起使用

debugfs

一个文件系统调试器;可以检验并修改 ext{234} 文件系统的状态

dumpe2fs

打印给定设备上文件系统的超级块和块组信息

e2freefrag

报告可用空间碎片信息

e2fsck

用于检查或修复 ext{234} 文件系统

e2image

用于将 ext{234} 文件系统关键数据保存到文件

e2label

显示或修改给定设备上的 ext{234} 文件系统标签

e2mmpstatus

检查 ext4 文件系统的MMP (多重挂载保护) 状态

e2scrub

检查已经挂载的 ext{234} 文件系统的内容

e2scrub_all

检查所有已挂载的 ext{234} 文件系统是否存在错误

e2undo

重放设备上找到的 ext{234} 文件系统撤销日志 [可以用于撤销 E2fsprogs 程序的失败操作。]

e4crypt

Ext4 文件系统加密工具

e4defrag

用于 ext4 文件系统的在线碎片整理工具

filefrag

报告特定文件碎片化程度

fsck.ext2

默认情况下检查 ext2 文件系统,是 e2fsck 的硬链接

fsck.ext3

默认情况下检查 ext3 文件系统,是 e2fsck 的硬链接

fsck.ext4

默认情况下检查 ext4 文件系统,是 e2fsck 的硬链接

logsave

将命令输出保存到日志文件

lsattr

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

mk_cmds

将包含命令名称和帮助信息的表格转换成 C 源代码文件,以便和 libss 子系统库一起使用

mke2fs

在给定设备上创建 ext{234} 文件系统

mkfs.ext2

默认情况下创建 ext2 文件系统,是 mke2fs 的硬链接

mkfs.ext3

默认情况下创建 ext3 文件系统,是 mke2fs 的硬链接

mkfs.ext4

默认情况下创建 ext4 文件系统,是 mke2fs 的硬链接

mklost+found

创建 lost+found 目录;它在 ext{234} 文件系统上为该目录预先分配磁盘块,以减轻 e2fsck 的负担

resize2fs

可以用于扩大或压缩 ext{234} 文件系统

tune2fs

调整 ext{234} 文件系统的可调参数

libcom_err

公用错误显示子程序

libe2p

dumpe2fschattr, 和 lsattr 使用

libext2fs

包含允许用户级程序操纵 ext{234} 文件系统的子程序

libss

debugfs 使用