通过extundelete实现CentOS6 ext4文件系统误删除文件的恢复

news/2024/5/12 5:57:08

1.介质下载

路径:

链接:extundelete

提取码:ztj0

版本:extundelete.0.2.4

2.实验环境

1.CentOS6.8

系统版本命令:

cat /etc/redhat-release

2.磁盘:/dev/sdb

磁盘查看命令:

lsblk |grep "sdb"

3.分区大小:5G(ext4文件系统),/dev/sdb1并挂载至/tmp/sdb1

分区命令:

echo -e "o\nn\np\n1\n\n+5G\nw" | fdisk /dev/sdb

格式化命令:

mkfs.ext4 /dev/sdb1

挂载命令:

mount /dev/sdb1 /tmp/sdb1

磁盘挂载后的验证:

3.误删除文件步骤恢复

1.创建空⽂件, 空⽬录,普通⽂件,普通目录

命令:

cd /tmp/sdb1

chmod +x a.sh

./a.sh

#a.sh源码

cp /etc/passwd /tmp/sdb1
cp /etc/hosts /tmp/sdb1
echo aaa >> a.txt
mkdir -p /tmp/sdb1/a/b/c
cp a.txt /tmp/sdb1/a/b/
cp a.txt /tmp/sdb1/a/
touch kong.txt
cp kong.txt /tmp/sdb1/a/b/

共计:3个目录,8个文件

 2.模式删除/tmp/sdb1(/dev/sdb1)下的文件

命令:

cd /tmp/sdb1

rm -rf *

cd

3.卸载/dev/sdb1

df -h

umount /dev/sdb1

df -h

4.上传恢复工具软件extundelete-0.2.4.tar.bz2

命令:

rz -byE

5.解压并设置软链接

命令:

tar -jxvf extundelete-0.2.4.tar.bz2

ln -sv extundelete-0.2.4 extundelete

6.安装编译包

命令:

yum install -y gcc gcc-c++ e2fsprogs e2fsprogs-libs e2fsprogs-devel

7.编译源码包

cd /root/extundelete

./configure && make && make install && echo "Success"

8.查看哪些文件被删除

命令:

cd /root

extundelete /dev/sdb1 --inode 2          #2含义:ext4文件系统的分区根目录的inode值为2

[root@centos68 ~]# cd /root
[root@centos68 ~]# extundelete /dev/sdb1 --inode 2
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 41 groups loaded.
Group: 0
Contents of inode 2:
0000 | ed 41 00 00 00 10 00 00 a9 10 6f 64 bc 11 6f 64 | .A........od..od
0010 | bc 11 6f 64 00 00 00 00 00 00 02 00 08 00 00 00 | ..od............
0020 | 00 00 00 00 17 00 00 00 b2 20 00 00 00 00 00 00 | ......... ......
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0080 | 1c 00 00 00 f0 3e f4 4d f0 3e f4 4d cc 37 54 89 | .....>.M.>.M.7T.
0090 | 73 0b 6f 64 00 00 00 00 00 00 00 00 00 00 00 00 | s.od............
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00b0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00f0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
​
Inode is Allocated
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 4096
Access time: 1685000361
Creation time: 1685000636
Modification time: 1685000636
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 2
Blocks count: 8
File flags: 0
File version (for NFS): 0
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 8370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0
​
File name                                       | Inode number | Deleted status
.                                                 2
..                                                2
a.sh                                              11             Deleted
passwd                                            12             Deleted
hosts                                             13             Deleted
a.txt                                             14             Deleted
a                                                 128257         Deleted
kong.txt                                          15             Deleted
[root@centos68 ~]# 
​

9.执行恢复

执行恢复的方式:

1)通过inode号(extundelete /dev/sdb1 --restore-inode InodeNum)

2)通过file文件名(extundelete /dev/sdb1 --restore-file FileName)

3)通过directory目录名(extundelete /dev/sdb1 --restore-directory DirectoryName)

4)all全部恢复(extundelete /dev/sdb1 --restore-all)

本实验以4)方式实现误删文件的全部恢复

命令:

cd /root

extundelete /dev/sdb1 --restore-all

10.验证

1)执行extundelete恢复出的文件存放在当前路径的RECOVERED_FILES目录下

2)extundelete在恢复文件的时候不会恢复之前创建的空文件和空目录

备注:

1.使用extundelete命令只能恢复centos6(rhel6)版本且文件系统为ext4(3/2)类型中文件误删的恢复。

2.对于centos7文件系统(xfs),通过在其挂载文件系统,并设置为ext4(3/2)类型来进行文件误删的恢复,命令extundelete命令是恢复不了,必须得是centos6(rhel6)版本且文件系统为ext4(3/2)类型的才行。


http://wed.xjx100/news/238238.html

相关文章

多个手动下载jar包网址+例子

以下是可以下载Java的jar包的一些网站以及一个可下载的jar包例子的下载链接: 网站名网址jar包例子下载地址Maven Central Repositoryhttps://search.maven.org/https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jarGradle Plugin Porta…

怎么样判断一个公司值不值得加入

(点击即可收听) 怎么样判断一个公司值不值得加入 对于刚毕业,初入职场的同学,对于人生当中的第一份工作,真的挺重要的 虽然第一份工作决定不了什么,但是第一份好的工作,对职业生涯起很大的作用 人生中遇到一位好的导师,工作当中,那些愿意指导,循循教导的…

【C++系列P1】带上这篇基础小宝典,进发C++!(持续更新ing~)

​​​​​​​ 前言 大家好吖,欢迎来到 YY 滴 C系列 ,热烈欢迎!(持续更新ing~)本章主要内容面向刚刚学完C语言,准备或正在接触C的老铁。而往往C奇多的小特性和知识点让铁铁们头晕晕脑涨涨,因而本章收纳了…

v4L2应用开发学习!

一.什么是V4L2框架? V4L2英文全称是Video for Linux2,它是专门为视频设备设计的内核驱动。在做视频的开发中,一般我们操控V4L2的设备节点就可以直接对摄像头进行操作。通常V4L2在Linux的设备节点是**/dev/video0**。无论是MIPI摄像头还是UVC摄…

PyTorch-完整的模型训练套路

目录 1. 准备 1.1 使用Cifar10 1.2 item的用法 1.3 model的搭建 1.4 数据集、参数设置以及训练开始 1.5 测试集 1.6 使用tensorboard 1.7 保存每一轮的训练结果 2. 计算整体的正确率 3. 其他 3.1 train与eval 3.2 使用GPU训练 1. 准备 1.1 使用Cifar10 1.2 item的…

Jenkins+Gogs自动远程Docker环境部署django项目

1.Jenkins安装或确认必要插件 jenkins安装或确认必要插件gitlab、Publish Over SSH。 Dashboard--Manage Jenkins--Plugin Manager 2.Publish Over SSH配置 jenkins配置SSH连接django服务部署的对象服务器 Dashboard--Manage Jenkins--Configure System,找到 Publ…

带电接10kV空载电缆线路与架空线路连接引线(绝缘手套作业法)

一、现场复勘 1.核对线路及杆塔号 线路双重名称及杆号无误。 2.检查杆身质量 3.检查电杆埋深 4.检查导线固定情况 检查作业点导线有无烧伤、断股。 5.检查气象条件 作业前需进行湿度和风速的测量,风力大于5级,或湿度大于80%时,不宜带电作…

小航编程题库蓝桥杯stem科技素养模拟练习试卷(初级第1套)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 1. 以下选项中,( )不属于生物。 A 玫瑰花 B 河流 C 蜜蜂 D 人 2. 以下选项中,&…