6.21. E2fsprogs-1.41.10

E2fsprogs 软件包包含处理ext2 文件系统的工具。 它还支持ext3 和 ext4 日志文件系统。

预计编译时间: 0.5 SBU 包括测试
所需磁盘空间: 45 MB 包括测试

6.21.1. 安装 E2fsprogs

E2fsprogs 文档建议这个软件包在源文件目录树的子目录下编译:

mkdir -v build
cd build

为编译 E2fsprogs 做准备:

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

配置选项的含义:

--with-root-prefix=""

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

--enable-elf-shlibs

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

--disable-*

该选项阻止 E2fsprogs 编译和安装 libuuidlibblkid 库, uuidd,和 fsck,因为前面 Util-Linux-NG 已经安装了它们。

编译这个软件包:

make

要测试结果,请运行:

make check

E2fsprogs 的一个测试会尝试分配 256 MB 内存。 如果你没有充足的RAM空间, 推荐打开足够的交换分区。 建立和启用交换空间的细节,请参考 Section 2.3, “在这个分区上创建文件系统”Section 2.4, “挂载这个新分区”

安装执行文件,文档,和共享库:

make install

安装静态库和头文件:

make install-libs

使安装的静态库可写,以便以后可以删除调试符号:

chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

这个软件包安装了一个压缩的.info 文件,但是它并不更新全系统的 dir 文件。 Unzip 这个文件,并更新系统的 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

6.21.2. E2fsprogs 的内容

安装的程序: badblocks, chattr, compile_et, debugfs, dumpe2fs, e2freefrag, e2fsck, e2image, e2initrd_helper, e2label, e2undo, filefrag, fsck.ext2, fsck.ext3, fsck.ext4, fsck.ext4dev, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.ext4dev, mklost+found, resize2fs, and tune2fs
安装的库:: libcom_err.{a,so}, libe2p.{a,so}, libext2fs.{a,so} and libss.{a,so}

简要描述

badblocks

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

chattr

在 ext2 和 ext3 文件系统上改变文件属性

compile_et

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

debugfs

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

dumpe2fs

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

e2freefrag

报告空闲空间的碎片信息

e2fsck

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

e2image

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

e2initrd_helper

显示指定的文件系统的 FS 类型,给出的可以是设备名或标识

e2label

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

e2undo

为一个设备上的ext2/ext3/ext4文件系统,记录撤销日志 undo_log。 这可以用e2fsprogs程序来撤销一个错误操作。

filefrag

报告一个特定文件可能被破坏的如何严重

fsck.ext2

默认检查 ext2 文件系统。它是指向 e2fsck 的一个硬链接

fsck.ext3

默认检查 ext3 文件系统。它是指向 e2fsck 的一个硬链接

fsck.ext4

默认检查 ext4 文件系统。它是指向 e2fsck 的一个硬链接

fsck.ext4dev

默认检查 ext4 开发文件系统。它是指向 e2fsck 的一个硬链接

logsave

将一个命令的输出保存到一个日志文件。

lsattr

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

mk_cmds

将一个包含命令名和帮助信息的列表转化为适用于libss子系统库的 C 源文件

mke2fs

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

mkfs.ext2

默认创建ext2 文件系统,它是mke2fs 的一个硬链接。

mkfs.ext3

默认创建ext3 文件系统,它是mke2fs 的一个硬链接。

mkfs.ext4

默认创建ext4 文件系统,它是mke2fs 的一个硬链接。

mkfs.ext4dev

默认创建ext4 开发文件系统,它是mke2fs 的一个硬链接。

mklost+found

用来在ext2 文件系统上创建 lost+found 目录, 通过预先分配磁盘块到这个目录来减轻e2fsck的负担。

resize2fs

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

tune2fs

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

libcom_err

通用错误显示库

libe2p

用于 dumpe2fs, chattr,和 lsattr

libext2fs

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

libss

用于 debugfs