8.73. E2fsprogs-1.46.1

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

估计构建时间: 机械硬盘上 4.4 SBU,固态硬盘上 1.5 SBU
需要硬盘空间: 102 MB

8.73.1. 安装 E2fsprogs

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

mkdir -v build
cd       build

准备编译 E2fsprogs:

../configure --prefix=/usr           \
             --bindir=/bin           \
             --with-root-prefix=""   \
             --enable-elf-shlibs     \
             --disable-libblkid      \
             --disable-libuuid       \
             --disable-uuidd         \
             --disable-fsck

配置选项的含义:

--with-root-prefix=""--bindir=/bin

某些程序 (例如 e2fsck 程序) 被认为是关键的。在 /usr 尚未挂载等情况下,这些程序仍然必须可用。它们应该放置在 /lib/sbin 等目录中。如果没有向 e2fsprogs 配置脚本传递该参数,这些程序会被安装到 /usr 目录。

--enable-elf-shlibs

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

--disable-*

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

编译该软件包:

make

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

make check

已知一项名为 m_rootdir_acl 的测试会失败。

在机械硬盘上,测试使用的时间略超过 4 SBU。在 SSD 上测试时间短很多 (只要约 1.5 SBU)。

安装该软件包:

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.73.2. 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

ext2 文件系统上修改文件属性,也适用于 ext3 文件系统,即ext2 文件系统的日志版本

compile_et

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

debugfs

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

dumpe2fs

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

e2freefrag

报告可用空间碎片信息

e2fsck

用于检查或修复 ext2 文件系统和 ext3 文件系统

e2image

用于将 ext2 文件系统关键数据保存到文件

e2label

显示或修改给定设备上的 ext2 文件系统标签

e2mmpstatus

检查 ext4 文件系统的 MMP 状态

e2scrub

检查某个已挂载的 ext2,ext3 或 ext4 文件系统

e2scrub_all

检查所有已挂载的 ext2,ext3 或 ext4 文件系统

e2undo

重放设备上找到的 ext2/ext3/ext4 文件系统撤销日志 undo_log [可以用于撤销 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

在给定设备上创建 ext2ext3 文件系统

mkfs.ext2

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

mkfs.ext3

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

mkfs.ext4

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

mklost+found

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

resize2fs

可以用于扩大或压缩 ext2 文件系统

tune2fs

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

libcom_err

公用错误显示子程序

libe2p

dumpe2fschattr, 和 lsattr 使用

libext2fs

包含允许用户级程序操纵 ext2 文件系统的子程序

libss

debugfs 使用