内容简介:如果
e2image
e2Image 程序将位于设备上的 ext2 、 ext3 或 ext4 文件系统元数据保存到由图像文件指定的文件中。通过对这些程序使用 -i 选项, image 文件可以由 dupe2fs 和调试器来检查。这可以帮助专家恢复严重损坏的文件系统。
如果 image 文件是 ”-“ ,那么 e2image 的输出将被发送到标准输出,以便输出可以管道到另一个程序,如 gzip(1) 。 ( 请注意,目前只有在使用 -r 选项创建原始 image 文件时才支持这一点,因为创建普通 image 文件或 QCOW 2 映像的过程目前需要对文件进行随机访问,这不能使用管道进行。 )
最好为系统上的所有文件系统创建映像文件,并定期保存分区布局 ( 可以使用 fdisk-l 命令生成 ) 。 image 文件应该存储在它所包含的数据的文件系统以外的其他文件系统上,以确保在文件系统严重损坏的情况下可以访问这些数据。
为了节省磁盘空间, e2Image 将 image 文件创建为稀疏文件,或以 QCOW2 格式创建。因此,如果需要将稀疏 image 文件复制到另一个位置,则应该首先对其进行压缩,或者使用 GNU 版本的 cp ” sparse=always” 选项。这不适用于 QCOW2 映像,它并不稀疏。
ext2 映像文件的大小主要取决于文件系统的大小和正在使用的 inode 数量。对于一个典型的 10GB 文件系统, 120 万个节点中有 20 万个节点在使用, image 文件将大约为 35 兆字节;在 55 万个节点中使用 15000 个节点的 4G 文件系统将产生一个 3MB 的 image 文件。 image 文件通常是可压缩的;占用磁盘上 32 MB 空间的 image 文件通常会压缩到 3 或 4MB 。
此命令的适用范围: RedHat 、 RHEL 、 Ubuntu 、 CentOS 、 SUSE 、 openSUSE 、 Fedora 。
1
e2image [ -rsI ] device image-file
2、选项列表
|
-I |
将文件中的元数据恢复到分区 |
|
-r |
创建 raw 格式的 image |
|
-Q |
创建 QCOW2 格式的 image |
3
1) “ -I ”选项
“-I” 选项将导致 e2Image 将存储在映像文件中的元数据重新安装到设备上。它可用于在紧急情况下将文件系统元数据还原回设备。只有当其他选择失败时,才应该使用 ”-I” 选项作为一种绝望措施。如果文件系统在创建 image 文件后发生了更改,数据将丢失。通常,您应该首先对文件系统进行完整的映像备份,以便以后尝试其他恢复策略。
2 )“ -r ”选项
“ -r ”选项将创建一个原始 image 文件,而不是普通的 image 文件。原始 image 文件与普通 image 文件有两种不同之处。首先,将文件系统元数据放置在适当的位置,以便 e2fsck 、 dupe2fs 、调试器等。可以直接在原始 image 文件上运行。为了尽量减少原始映像文件占用的磁盘空间,将该文件创建为稀疏文件。 ( 请注意使用不了解如何创建稀疏文件的实用程序复制或压缩 / 解压缩该文件;该文件将与文件系统本身一样大! ) 其次,原始 image 文件还包括标准 image 文件没有的间接块和目录块,尽管这在将来可能会发生变化。
当将文件系统作为 bug 报告的一部分发送给维护人员时,有时会使用原始映像文件到 e2fsprogs 。当以这种方式使用时,建议的命令如下 ( 用适当的设备替换 hda1) :“ e2image -r /dev/hda1 - | bzip2 > hda1.e2i.bz2 ”。这将只发送元数据信息,没有任何数据块。但是,目录块中的文件名仍然可以显示关于文件系统内容的信息, bug 报告人员可能希望将这些信息保密。要解决此问题,可以指定“ -s ”选项。这将导致 e2Image 对目录条目进行置乱,并在写入 image 文件之前将目录块中任何未使用的部分清零。但是,“ -s ”选项将防止分析与散列树索引目录相关的问题
请注意,即使您将 “/dev/hda 1” 替换为另一个原始磁盘映像或先前由 e2Image 创建的 QCOW2 映像,这也是可行的。
3 )“ -Q ”选项
“ -Q ”选项将创建一个 QCOW2 image 文件,而不是普通的或原始的 image 文件。 QCOW2 image 包含原始 image 所做的所有信息,但是与原始 image 不同的是,它并不稀疏。 QCOW 2 映像通过将数据以特殊格式存储,并将数据紧密地打包在一起,从而将磁盘空间的数量降到最低,从而避免了漏洞,同时仍然最小化了大小。
为了将文件系统作为 bug 报告的一部分发送给维护人员到 e2fsprogs ,请使用以下命令:“ e2image -Q /dev/hda1 hda1.qcow2 “、” bzip2 -z hda1.qcow2 ”。这将只发送元数据信息,没有任何数据块。但是,目录块中的文件名仍然可以显示关于文件系统内容的信息, bug 报告人员可能希望将这些信息保密。要解决此问题,可以指定“ -s ”选项。这将导致 e2Image 对目录条目进行置乱,并在写入 image 文件之前将目录块中任何未使用的部分清零。但是,“ -s ”选项将防止分析与哈希树索引目录相关的问题 .
请注意, e2Image 创建的 qcow2 映像是规则的 qcow2 映像,可以通过知道 qcow2 格式的 工具 进行处理,例如 qemu-img 。
4
保存 sdb4 元数据
[root@localhost ~]# e2image /dev/sdb4 sdb4
e2image 1.41.12 (17-May-2010)
[root@localhost ~]# file sdb4
sdb4: Linux rev 1.0 ext2 filesystem data
以上所述就是小编给大家介绍的《Linux基础命令---e2image》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First JavaScript Programming
Eric T. Freeman、Elisabeth Robson / O'Reilly Media / 2014-4-10 / USD 49.99
This brain-friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be read......一起来看看 《Head First JavaScript Programming》 这本书的介绍吧!