linux 下文件恢复工具extundelete介绍

下载

http://extundelete.sourceforge.net/

bunzip2 extundelete-0.2.0.tar.bz2

tar xvf extundelete-0.2.0.tar

cd extundelete-0.2.0

make

make install

[[email protected]
yzn]# df
文件系统              
1K-块        已用     可用 已用%
挂载点
/dev/sda3            
18129292   2651744  14541764  16% /
/dev/sda1              
194442     12197    172206   7%
/boot
tmpfs                  
254804         0   
254804   0% /dev/shm
/dev/hdc              
4149676   4149676         0
100% /mnt/cdrom

[[email protected]
yzn]# extundelete /dev/sda3--restore-file
/home/yzn/helloworld/Makefile.am        
WARNING: Extended attributes are not
restored.
WARNING:
EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete
any files without further data loss.
If the partition is not currently mounted, this
message indicates 
it was improperly unmounted, and you should run
fsck before continuing.
If you decide to continue, extundelete may
overwrite some of the deleted
files and make recovering those files
impossible.  You should unmount the
file system and check it with fsck before using
extundelete.
Would
you like to continue? (y/n) 
y
Loading
filesystem metadata ... 143 groups loaded.
Loading journal descriptors ... 29535
descriptors loaded.
Writing
output to directory RECOVERED_FILES/
Restored inode 4223596 to file
RECOVERED_FILES/home/yzn/helloworld/Makefile.am

ok,这样就恢复成功了。

当然文件不能保证一定恢复成功,我的另外一个文件恢复出来是乱码,还有一个文件报错找不到inode.

从名字上就可以看出来本次给大家推荐的是一款ext3/ext4文件系统上找回被删除的文件或者文件夹的工具和之前大家使用的ext3grep差不多。但是此款工具更为简单。此款工具本人未测试
,还请大家使用过后放出测试截图或者数据

1.安装
此工具依赖两个包
e2fsprogs version 1.41 和e2fslibs  在RH/Centos系列上 名字为e2fsprogs 和
e2fsprogs-libs
下载附件中的文件
# tar
-xvf extundelete-0.2.0.tar
#
./configure
# make
&& make install
好了
安装完毕
2.如何使用
我们使用一个分区/dev/sdb1
挂在在/backup上,建立一个测试目录gnutool-delete 并建立一些文件
# mkdir
-p /backup/gnutool-delete
# cd
/backup/gnutool-delete
# man
man > file1-test.txt
# man
man > file2-test.txt
#mkdir
folder1; cd folder1; man man > file1-test.txt
现在
删除目录
# rm -rf
/backup/gnutool-delete
现在卸载文件系统或者挂载为只读
# umount
/backup or mount -o remount,ro /backup
3
我们现在使用extundelete 来找回

extundelete  会在当前目录创建一个“RECOVERED_FILES”
来放修复的文件 使用以下命令找回所有文件
extundelete
/dev/sdb1 –restore-all
也可以使用以下命令修复
指定文件
extundelete
/dev/sdb1 —-restore-directory /backup/gnutool-delete
4.找回/目录的文件
首先
挂载/分区为只读,准备一个可以读写的分区 我们以/etc/passwd文件为例
# mount
-o remount,ro /
# cd
/secondarydrive (必须可读可写)
#
extundelete / —-restore-files /etc/passwd 
# cd
RECOVERED_FILES
#
ls
好了
修复完毕

使用vim时,很讨厌rm命令的提示,每次删除一个文件时,总是提示是否删除,于是就自动将rm命令转换为rm
-fr,这会可没有讨厌的提示了。但是问题出现了,无意间的误操作,写了2天的程序就这样被删除了,痛苦不已。

于是在网上搜索如何恢复文件,虽然最后恢复出来一些重要文件,但是还是一些文件没有恢复出来。赶紧将rm命令改为原来,以免再出错。

想想也是,rm命令本来就应该谨慎使用,我想vim设计者也是这样认为的,所以每次rm时都会提示使用者,哎,误会大师了。

在这里把恢复过程写上,以示警惕自己。

恢复过程其实很简单(针对我自己的情况:vmware6.5
ubuntu 10.04 ext4)

主要参考该仁兄的文章,2011-01-12写的,比我早一天,我真是很幸运啊/(^o^)/~

http://hi.baidu.com/godor9/blog/item/c41f95cd6ed23a1193457e4c.html

1.
看你的文件系统类型,是否为ext4

#parted 接着输入p

Number 
Start   End     Size   
Type      File system    
Flags
     1      1049kB 
22.6GB  22.6GB  primary   ext4           
boot
     2      22.6GB 
23.6GB  1020MB  extended
    
5      22.6GB  23.6GB  1020MB 
logical   linux-swap(v1)

2. 如果是ext4,则可以使用extundelete
工具,该工具针对ext3和ext4文件系统

参考:http://extundelete.sourceforge.net/

下载最新版本,./configure
--prefix=/var/extundelete; make ; make install

由于担心安装extundelete后会覆盖我删除的文件,所以我安装到/var目录下,configure时出现了一个错误:Can‘t find ext2fs
library,解决方法:sudo apt-get install e2fslibs-dev e2fslibs-dev,然后make,make
install即可

3.
生产可执行文件extundelete后,使用它来恢复删除的文件:

#./extundelete /dev/sda1 --restore-all

需要一段时间,把以前删除的文件只要能恢复的全恢复出来,执行完毕后在当前目录生产一个RECOVERED_FILES目录,里面即是恢复出来的文件,还包括文件夹哦/(^o^)/~,很方便查找。如果你还记得删除文件中一些内容,直接grep就可以了,很快能找到删除的文件,如果找到的Binary
file,那只能杯具了。

注意:在参考那位仁兄的文章时,并没有进入单用户模式,安装完extundelete后直接运行恢复;也没有umount
 /home; 提示umount: /home: not mounted。

时间: 2025-01-10 18:11:32

linux 下文件恢复工具extundelete介绍的相关文章

Linux下文件查找工具介绍

文件查找工具 locate find locate: 查询系统预建的文件索引数据库      1. /var/lib/mlocate/mlocate.db     2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb). locate的特点:查找速度快        模糊查找        非实时查找        搜索的是文件的全路径,不仅仅是文件名        可能只搜索用户具备读取和执行权限的目录 基本语法:   -i :不区分大小写的搜索  

linux下文件的权限

最近搞了一批权限最小化的问题,这里专门进行一下linux下文件权限的总结,其实非常简单. 在介绍linux下文件的情况,需要先介绍一个概念,用户.用户组. 和win一样,linux也是需要用户才能登录的.不同的是在linux中,还存在一个概念:用户组.也就是当前用户所属的属组.为什么要引入这样一个看似无用的用户组呢?这主要是为了在linux下,团队协作的方便.每一个用户都有属于自己独特的权限控制.但是有时候,有一些公有的文件或文件夹,这个你也用,我也用,但是我们并不希望所有人都能用.(防盗连接:

Linux下VI命令详细介绍

vi 是"Visual Interface" 的简称,它在Linux 上的地位就仿佛Edit 程序在DOS上一样.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的. vi 不是一个排版程序,它不象Word 或WPS 那样可以对字体.格式.段落等其他属性进行编排,它只是一个文本编辑程序. vi 没有菜单,只有命令,且命令繁多.限于篇幅,本文只介绍常用的命令. Vi 有三种基本工作模式:命令行模式,文本输入模式和末行模

Ext分区文件恢复工具extundelete

 Ext分区文件恢复工具extundelete Ext是延伸文件系统(Extended system)的缩写.它是为Linux内核开发的第一个文件系统.它有多个版本.现在常见的是Ext3和Ext4.由于该文件系统使用日志记录数据的修改,所以恢复被删除的数据也较为容易.Kali Linux提供一款专用工具extundelete,用来实现Ext3/4文件系统中删除文件的恢复. 在使用的时候,用户首先使用该工具查看超级块和日志块,以及特定节点和块的信息.然后,可以指定要恢复的文件以及文件夹.在恢复的时

(转)linux下文件删除的原理精华讲解(考试题答案系列)

linux下文件删除的原理精华讲解(考试题答案系列) 说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410/791245 5.描述linux下文件删除的原理(记时3分钟)<?xml:namespace prefix="o"> ?xml:namespace> Linux文件删除原理:     Linux是通过link的数量来

linux下文件的复制、移动与删除

linux下文件的复制.移动与删除命令为:cp,mv,rm一.文件复制命令cp   命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)             cp [option] source1 source2 source3 ... directory   参数说明:   -a:是指archive的意思,也说是指复制所有的目录   -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身   -f:强制(force),

【大话QT之五】Windows与Linux下文件操作监控的实现

一.需求分析: 随着渲染业务的不断进行,数据传输渐渐成为影响业务时间最大的因素.究其原因就是因为数据传输耗费较长的时间.于是,依托于渲染业务的网盘开发逐渐成为迫切需要解决的需求.该网盘的实现和当前市场上网盘实现有一些的不同,主要在客户端与服务器端的操作需要双向进行,即:用户在客户端的操作需要及时同步到服务器端:在服务器端作业渲染生成的文件要及时同步到客户端.即:用户不在需要单独的下载数据,而是在作业运行的同时,渲染就过就会自动同步到客户端,大大缩短了等待时间.当然,无论是在客户端还是在服务端都面

Gnu Linux下文件的字符编码及转换工具

/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

dos2unix,去掉Linux下文件中的^M

Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一样呢?原来是由于DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致造成的. 对于回车符的定义:windows:0D0Aunixlinux: 0AMAC: 0D Linux下专门有两个工具可以互换Windows格式和Linux格式,分别是dos2unix和unix2dos 那么,如何去除L