linux debug filesystem怎么用

linux debug filesystem怎么用,第1张

在进行系统调试的时候,有可能会使用到debug file system。

下面讲解如何具体使用debug file system

1. 在kernel中使用debug file system

make menuconfig -->Kernel hacking -->选中Debug Filesystem (CONFIG_DEBUG_FS)选项。

make menuconfig -->kernel hacking -->选中Kernel debugging (CONFIG_DEBUG_KERNEL)选 项。

注:"kernel debugging"选项必须使能,否则在进行第三步的时候,会报“mount: unknown filesystem type 'debugfs'”

2. 编译kernel,下载并且运行之。

3. 挂载debug file system

# mount -t debugfs none /sys/kernel/debug

或者

# mkdir /debug

# mount -t debugfs none /debug

进入/debug文件夹及其子文件夹获得想要的信息。

Linux ext2文件系统下恢复误删的文件

一、文件误删

如上图可得到

(1)/dev/sdb2挂载到/recover目录,且/dev/sdb2使用的是ext3 filesystem

(2)/dev/sdb1挂载到/software目录,且/dev/sdb1使用的是ext2 filesystem

如上图可得到:/software目录中有一个文件grub.conf

如上图可得到:/software目录中的文件grub.conf被删除

二、找回文件

由于目录/software中的grub.conf文件已被删除,那么应该怎么找回该文件呢?由于/dev/sdb1分区使用的是ext2 filesystem,所以我们可以使用工具:debugfs,来找回文件

注意:debugfs是linux系统自带的一个文件恢复工具,它可以恢复ext2文件系统的文件,但不能恢复ext3文件系统的文件

第一步:将要找回的文件所在的分区重新挂载成只读

(因为这样比较安全,可以防止因新的文件写入该分区而导致无法找回grub.conf文件)

[root@client ~]# mount -n -o remount,ro /dev/sdb1

注意:如果不能重新挂载,那么一定有用户正在使用该分区中的文件,我们可以使用指令:fuser -m -v /dev/sdb1来查看当前哪个用户正在使用该分区中的文件,然后使用fuser -k -m -v /dev/sdb1来杀死用户使用该分区的任何进程

第二步:使用debugfs工具恢复文件

注意两点

(1)lsdel列出已被删除的文件的节点信息;stat显示某个节点所对应的文件信息;dump表示恢复作用

(2)如果被删除的文件很多,那么通过lsdel可看出文件的时间,然后自己判断进行恢复


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8603261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存