6.17. E2fsprogs-1.41.3

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

预计编译时间: 0.7 SBU 包括测试组件
所需磁盘空间: 54 MB 包括测试组件

6.17.1. 安装 E2fsprogs

在 E2fsprogs 的测试套件中,修复一个硬编码路径到 /bin/rm


sed -i 's@/bin/rm@/tools&@' lib/blkid/test_probe.in

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


mkdir -v build

cd build

为编译 E2fsprogs 做准备:


../configure --prefix=/usr --with-root-prefix="" \

    --enable-elf-shlibs

配置选项的含义:

--with-root-prefix=""

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

--enable-elf-shlibs

这会创建共享的库,供 E2fsprogs 包中的一些程序使用。

编译软件包:


make

要测试结果,请运行:


make check

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

安装二进制文件、文档和共享库:


make install

安装静态库和头文件:


make install-libs

使安装的静态库可写以便调试符号一会儿可以被移除。


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

这个软件包安装一个被 gzip 压缩过的 .info 文件,但并不更新系统目录文件。用下面的命令解压缩这个文件并更新目录文件。


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



install -v -m644 -D ../doc/libblkid.txt \

        /usr/share/doc/e2fsprogs-1.41.3/libblkid.txt

6.17.2. E2fsprogs 的内容

安装的程序: badblocks, blkid, chattr, compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, e2undo, filefrag, findfs, fsck, fsck.ext2, fsck.ext3, fsck.ext4, fsck.ext4dev, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, fsck.ext4, fsck.ext4dev, mklost+found, resize2fs, tune2fs, uuidd, and uuidgen.
安装的库: libblkid.{a,so}, libcom_err.{a,so}, libe2p.{a,so}, libext2fs.{a,so}, libss.{a,so}, and 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 文件系统标识

e2undo

当一个设备上建立 ext2/ext3/ext4 文件系统时要重建撤销日志。这样做的目的是,运行 e2fsprogs 程序操作失败时可以根据撤销日志进行恢复。

filefrag

报告一个文件的碎片情况

findfs

通过卷标或通用唯一标识符(UUID)寻找文件系统

fsck

用来检查或者修理文件系统

fsck.ext2

默认检查 ext2 文件系统。这是一个到 fsck 的硬链接。

fsck.ext3

默认检查 ext3 文件系统。这是一个到 fsck 的硬链接。

fsck.ext4

默认检查 ext4 文件系统。这是一个到 fsck 的硬链接。

fsck.ext4dev

默认检查 ext4 开发文件系统。这是一个到 fsck 的硬链接。

logsave

把一个命令的输出保存在日志文件中

lsattr

列出在第二个扩展文件系统上的文件属性

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 文件系统的可调参数

uuidd

在安全和 guranteed-unique fashion 中,一个 UUID 库所使用的守护进程被用于产生 time-based UUIDs

uuidgen

创建一个新的通用唯一标识符(UUID)。这个新 UUID 可以被认为是在所有已创建的 UUID 中独一无二的,不论是在本地的系统或者别的系统,过去还是将来。

libblkid

包含设备识别和节点释放的库函数

libcom_err

通用错误显示库

libe2p

用于 dumpe2fschattrlsattr

libext2fs

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

libss

用于 debugfs

libuuid

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


Host by Alair