debugfs 예제

debugfs 예제
0 August 2, 2019

예를 들어 / tmp에서 파일을 삭제했으며 파일 이름은 : test_again, txt , 삭제 된 파일의 inode찾기를 위해 ls -d / tmp를 사용하고 있습니다. 그러나 /tmp에는 삭제 한 많은 파일이 있습니다. (약 1000 개의 삭제 된 파일). 모든 것이 순조롭게 진행되면 위의 예제와 유사한 형식으로 표시되는 정보가 표시됩니다. 당신은 “ctime”, “atime”, “mtime 및 “파일의 crtime”을 볼 수 있습니다. 다음 예제에서는 “디버그프”를 사용하여 파일에 대한 다음과 같은 생성/액세스 정보를 얻습니다: ctime: 이것은 inode 또는 파일 변경 시간입니다. ctime 특성은 파일 특성이 변경될 때 업데이트됩니다. atime: 파일 액세스 시간입니다. atime 특성은 파일이 열릴 때 업데이트됩니다.

mtime: 파일 수정 시간입니다. mtime 특성은 파일이 어떤 식으로든 수정되거나 업데이트될 때 업데이트됩니다. crtime: 파일이 생성된 시간입니다. 파일의 생성 날짜 “crtime”을 찾는 첫 번째 단계는 파일의 inode를 찾는 것입니다. 이렇게하려면 우리는 단순히 “ls -i”명령을 사용할 수 있습니다. 이 예제에서는 “knowm_hosts”라는 파일에 대해 이 명령을 실행합니다. 코드를 빌드하고 실행하려면 Linux 커널 및 비지 박스 빌드를 통해 다음 명령을 QEMU 유형에서 실행하십시오: #dd if=/dev/mapper/wks01-root of=recovered.file.001 bs=4096 count=1 건너뛰기=7235938 # 파일 복구.file.001 샘플 출력: 게시물은 QEMU에서 빠른 디버그 프 트리를 만들고 빌드하고 실행하는 방법을 보여줍니다. 마운트 umount /dev/{sd*} extundelete –restore-all /dev/{sd*} 같은 것이 표시되면 (프롬프트를 얻으려면 Enter를 누르고 누려야 할 수 있음) . 디버그프 -w /dev/장치/이름/여기 디버그fs/dev/sda1 디버그프/개발/매퍼/SysVolGroup-LogVolRoot 감사 로이, 그것의 RHEL 5.5 ex ext3. 나는 최신 하나를 시도 할 것이다. 나는 inode를 사용하여 파일을 복구 할 수 있지만 실제 사건에서 우리는 삭제 된 파일의 inode를 알지 못합니다. 나는 아직 테스트 디스크를 시도하지 않은, 나는 지금 그것을 시도를 줄 것이다.

이 코드를 컴파일하고 테스트하기 위해 다음과 같은 Makefile을 만듭니다. PLS는 어떻게 할 수 있는지 말해? 나는 이것을 시도했고 “lsdel”이 당신에게 어떤 결과를 주지 않을 것이라는 것을 발견했다. 그래서 옵션 LS -d를 시도하고 일했다. 디버그프 프롬프트 내부에서 ls -d를 사용하여 디버그 버전에 관계없이 삭제된 파일의 inode를 얻을 수 있습니다. […] ftrace를 사용하려는 컴퓨터에서 디버그를 설정하는 방법을 모르는 경우 지난 달의 디버그 문서를 참조하십시오.debugfs /sys/커널/디버그프에 탑재되어 있어야 하며 추적이 활성화된 경우 […] 그렉 크로아 하트만은 2004년 12월 리눅스 커널 메일링 리스트(LKML)에 자신의 게시물을 통해 리눅스 커널에 디버그를 도입했습니다. 디버그프는 커널 개발자가 대량의 디버그 데이터를 사용자 공간으로 내보내는 데 도움이 됩니다. /proc 및 /sysfs와 달리 넣을 수 있는 정보에 대한 규칙이 없으므로 디버깅에 사용하는 것이 좋습니다. printk를 사용하면 값을 읽을 때 충분할 수 있지만 개발자는 사용자 공간에서 변수 값을 변경할 수 없습니다.

그러나 내 디렉토리에 많은 파일이있는 경우 조금 문제가 있습니다.

Posted by medmedia