加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

误删除 Linux 系统文件了?这个方法教你解决

发布时间:2018-12-23 06:08:30 所属栏目:Windows 来源:运维人生
导读:误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~ 说在前面的话 针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收站,删除后的文件可以到垃圾箱寻

误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~

说在前面的话

针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收站,删除后的文件可以到垃圾箱寻回,要知道linux文件修复比较费劲,网络上面的文档也是五花八门。所以本次研究一种比较靠谱的文件和目录恢复方法,也给维护人员留一条后路。

分析对比debugfs. testdisk 6.14. extundelete,对比各自官网介绍和操作说明本次决定研究extundelete对文件和目录的恢复操作。

extundelete下载官网地址:https://pkgs.org/download/extundelete

误删除 Linux 系统文件了?这个方法教你解决

Linux下文件误删除,使用extundelete恢复测试过程

给虚拟主机添加一块磁盘,磁盘为/dev/sdb,如下:

误删除 Linux 系统文件了?这个方法教你解决

格式化磁盘,并进行挂载

  1. # mkfs.ext4 /dev/sdb # mkdir /usr/local/dbdata/ # mount /dev/sdb /usr/local/dbdata/ 

误删除 Linux 系统文件了?这个方法教你解决

测试误操作删除以下文件

  1. /usr/local/dbdata/gperftools-2.4.tar.gz #文件 /usr/local/dbdata/pcre-8.32 #目录 

执行误操作:

  1. # rm -rf /usr/local/dbdata/gperftools-2.4.tar.gz /usr/local/dbdata/pcre-8.32 

将误操作所在分区进行只读保护

如果确定文件被误删,在没有备份的情况下请马上对分区实施写入保护(预防新的写入覆盖误删的块数据,因此权限给只读):

  1. # mount -o remount,ro /dev/sdb # mount -o remount,ro /usr/local/dbdata/ 

数据恢复工具安装

工具安装部署

官方网站是http://extundelete.sourceforge.net/,其目前的稳定版本是extundelete-0.2.4.

工具下载

  1. # wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 

解压安装

依赖包

  1. # yum -y install gcc-c++ e2fsprogs.x86_64 e2fsprogs-devel.x86_64 # tar -jxvf extundelete-0.2.4.tar.bz2 # cd extundelete-0.2.4 # ./configure # make && make install 

验证安装结果

  1. # extundelete -v 

文件恢复过程

恢复指定文件:

原理:从根节点(inode=2)开始找到被删除文件的i节点,,然后recover i节点。

以下是模拟删除gperftools-2.4.tar.gz(文件)和pcre-8.32 (目录)

先检测被删除的文件有哪些:

  1. # extundelete /dev/sdb --inode 2 

误删除 Linux 系统文件了?这个方法教你解决

从圈出来的可以看到,有以下两个

gperftools-2.4.tar.gz 15 Deleted pcre-8.32 655361 Deleted

注意:恢复过程不要在误删分区进行,谨防inode. block块相互覆盖

先恢复文件(可根据文件名进行恢复):

# extundelete /dev/sdb --restore-file gperftools-2.4.tar.gz

误删除 Linux 系统文件了?这个方法教你解决

恢复目录(根据目录名恢复):

# extundelete /dev/sdb --restore-directory pcre-8.32

误删除 Linux 系统文件了?这个方法教你解决

最后会在当前目录下看到一个名为RECOVERED_FILES的目录,在目录里就可以看到被误删除的文件以及目录:

说在后面的话

误删除 Linux 系统文件了?这个方法教你解决

根据上面操作证明extundelete 工具可以实现对误删数据的恢复,而且操作简单。

总结:

  1. 使用rm一定要谨慎
  2. 磁盘按照功能进行分区是必要的
  3. 最少掌握一种数据恢复方式

【编辑推荐】

  1. 80%的 Linux 运维都不懂的内核问题
  2. 又一批Linux内核组件与工具开源!来自Facebook!
  3. 如何用dm-crypt加密Linux上的分区?
  4. 如何在Linux中从一个PDF文件中移除密码
  5. Linux 基金会推出 ACT 项目,帮助开发者遵守开源许可证
  6. udev 入门:管理设备事件的Linux子系统
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读