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

news2025/2/22 16:22:28

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://www.coloradmin.cn/o/587483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql数据备份-主从同步恢复

【1】数据库备份和恢复 1、xtrabackup-物理备份 全量备份主库数据:xtrabackup --backup --userroot --passwordxxx --port3306 --target-dir/comProject/backup/db/full_20220831 将full_20220831文件上传到从库服务器上 关闭存库服务:service mysqld …

将一维数组作为一列合并到二维数组中的numpy.column_stack()方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将一维数组作为一列合并到二维数组中 numpy.column_stack() 选择题 关于以下代码说法错误的一项是? import numpy as np a np.array([0,0]) b np.array([[1,2],[3,4]]) print("【显示…

C++ 线性数据结构系列之低调而强大的单调栈

1. 前言 单调栈是在栈基础上进行变化后的数据结构。除了遵循栈的先进后出的存储理念,在存储过程中还需保持栈中数据的有序性。 根据栈中数据排序的不同,单调栈分为: 单调递增栈:从栈顶部向栈的底部,数据呈递增排序。…

【JY】ABAQUS正交各向异性弹性本构模型

写在前文 材料的线弹性本构模型能够很好的描述处于工作荷载水平下的材料性能情况,后续材料的塑性理论也需要在弹性本构模型的基础上进行开展。由于砌体结构所采用的砌体材料具有明显的正交各项异性,故先从正交各向异性弹性入手,根据弹性理论中…

Java基础篇 | Java开发环境的搭建

✅作者简介:大家好,我是Cisyam,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Cisyam-Shark的博客 💞当前专栏: Java从入门到精通 ✨特色…

中创“六一”公益关爱活动 | 慈善守护童心,爱心筑梦未来

每一个孩子都是一朵花 有的盛开在春天,有的绽放在夏天 每一朵花,都有与众不同的美好 年年盛夏,如约出发: 在第73个“六一国际儿童节”来临之际,中创算力开展“六一公益关爱活动”,希望通过这样一个爱心…

我用低代码结合ChatGPT开发,每天多出1小时摸鱼

👉腾小云导读 GPT 出现之后,很多人推测大量的软件都会因为其出现而重写。本文主要是低代码平台与 ChatGPT 结合的一些思考以及实践。期望与各位读者一起搭上 AI 这列快车,为开发提提速~ 👉目录 1 背景 2 Demo 演示 3 思…

2022年软件测试人员调查统计——数据统计

1、软件测试从业人员的年龄分布 测试行业的主力军年龄分布主要是集中在 26-30 岁这个区间,这部分的群体承担着行 业发展的主导力量,占 43.2%。根据数据显示,被调查者中占比最多的是 26-30 岁区间的软件测试从业人员,26-30 岁的测试…

14 种免费 GIS 软件:在开源中绘制世界地图

如果你想绘制一幅世界地图,会选择什么GIS软件呢,ArcGIS、GlobalMapper这些都是国外比较出名的商业GIS软件,当然在国内很容易找到可用的版本,但是也可以使用免费的GIS软件完成所有操作。 这些免费的GIS软件为您提供了完成工作的效…

使用 VSCode SSH 公网远程连接本地服务器开发 - cpolar内网穿透

文章目录 前言视频教程1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转…

Socket(六)

文章目录 1. 构造服务器Socket2. 构造但不绑定端口3. 获得服务器Socket的有关信息4. Socket选项5. SO_TIMEOUT6. SO_REUSEADDR7. SO_RCVBUF8. 服务类型 1. 构造服务器Socket 有四个公共的ServerSocket构造函数 public ServerSocket(int port) throws BindException, IOExcept…

第33步 机器学习分类实战:误判病例分析

填最后一个坑,如何寻找误判的病例。 之前我们在介绍AUC的时候,提到了两个函数:predict和predict_proba,复习一下: auc_test roc_auc_score(y_test, y_testprba) roc_auc_score的参数呢,包括两个&#…

用一杯星巴克的钱,训练自己私有化的ChatGPT

点击蓝字 关注我们 文章摘要:用一杯星巴克的钱,自己动手2小时的时间,就可以拥有自己训练的开源大模型,并可以根据不同的训练数据方向加强各种不同的技能,医疗、编程、炒股、恋爱,让你的大模型更“懂”你….…

想知道如何给游戏视频配音?有三个好方法教给你

现在越来越多的小伙伴会在闲暇之余打打游戏,也会观看一些游戏视频,其中不少游戏视频都有配音。游戏视频配音是一项有趣而富有创造力的任务,它可以让你为游戏画面注入声音,增强观众的体验。无论你是一个游戏爱好者还是一个内容创作…

前端vscode插件bito

GPT-4和ChatGPT越来越火,前端人员是否也能在日常工作中尝试体验其带来的乐趣呢? 答案是可以的!安排!! 今天介绍一款vscode的插件 【bito】。 安装 安装后只需要自己注册一下,创建一个workspace就可以使用…

【满分】【华为OD机试真题2023B卷 JAVAJS】经典屏保

华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 经典屏保 知识点循环迭代编程基础 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: DVD机在视频输出时,为了保护电视显像管,在待机状态会显示“屏保动画”,如下图所示,DVD Logo在屏幕内来回运动,碰到边缘会反弹…

凡亿教育荣获2023 STM32峰会“生态合作伙伴”奖项

作为中国知名的电子设计在线教育领域的优秀企业,凡亿教育喜迎好消息!2023年5月12日,STM32峰会在深圳重磅回归,凡亿教育荣获STM32峰会颁发的“生态合作伙伴”奖项,这一殊荣充分肯定了凡亿教育在STM32生态系统中的杰出贡…

C进阶:数据在内存中的存储(1)

引入: 大家好,感谢大家最近的支持,今天也是开始了C进阶一系列的博文的创作,欢迎大佬们来指点,欢迎来一起沟通!!! 数据类型的介绍 我们都知道:C语言具有以下几种数据类…

拼多多继续ALL IN

2023年注定是中国电商不平凡的一年。 随着网购用户数量见顶,经济形势进入新常态,电商平台已经来到了短兵相接的肉搏战阶段。 此刻的618大促,硝烟弥漫,刀光剑影,电商“决战”似乎是迫在眉睫。对各个平台来说&#xff0c…

SpringBoot:WebSocket实现消息撤回、图片撤回

下面只是讲述一下实现思路,代码基本没有哈!有时间单独发表一篇关于websocket的相关操作的博客。 1. 消息撤回、图片撤回 个人觉得关于撤回,需要下述几个过程: 发送的消息的标签上可以定义一个属性,这个属性的值应该是…