误删后首先要保护现场,umount误删文件所在的卷!在系统卷上误删文件不在这篇文章的讨论范围。
本文介绍如何用extundelete恢复linux系统被删除的文件(ext3 and ext4),具体安装和使用请参考http://extundelete.sourceforge.net/。
在http://extundelete.sourceforge.net/上,没有具体讲如何安装e2fsprogs的开发包e2fsprogs-devel。许多公司在生产环境的机器是无法连接互联网的,本文记录了在离线状况下如何安装e2fsprogs的开发包e2fsprogs-devel,然后通过extundelete恢复误删目录。
一、离线安装e2fsprogs的开发包e2fsprogs-devel
1、检查依赖库的版本,确认其符合e2fsprogs version 1.41 or newer的前提条件。
命令:rpm -qa:grep e2fsprogs
输出:e2fsprogs-1.41.12-22.el6.x86_64
e2fsprogs-libs-1.41.12-22.el6.x86_64
2、下载e2fsprogs-devel-1.41.12-22.el6.x86_64.rpm
http://mirror.neu.edu.cn/centos/6/os/x86_64/Packages/
注意版本要匹配,版本高了或低了都可能导致安装失败。比如e2fsprogs-devel-1.41.12-12.el6.x86_64.rpm会要求安装e2fsprogs-libs-1.41.12-12.el6.x86_64。
3、安装e2fsprogs-devel
命令:rpm -i e2fsprogs-devel-1.41.12-22.el6.x86_64.rpm
二、使用extundelete恢复一个被rm -Rf 删除的目录badluck
1、umount badluck所在的卷,比如挂载在/newbie上的卷/dev/unlucky_lv
命令:umount /newbie
2、检查badluck的状态
命令:extundelete /dev/unluck_lv --inode 2
显示:Filename badluck的deleted status是deleted
3、建一个临时目录/someWhereBigEnough/tmpRecoveredDir用于存储恢复后的目录,注意临时目录空闲磁盘空间要足够大
4、顺序执行
命令:cd /someWhereBigEnough/tmpRecoveredDir
命令:extundelete /dev/unlucky_lv --restore-directory badluck
确认恢复没问题后可以挂上问题卷/dev/unlucky_lv把/someWhereBigEnough/tmpRecoveredDir\badluck目录拷回到原来位置。
本文为原创,转载和引用请注明出处
网友评论