한국어

tc_backup

아래에용은 kldp.org 에서도 발견할 수 있음
여기 수록된 내용은 woogi 라는 닉네임 사용자가 oops.org에 올린 내용

----------------------------------------------------------------------
리눅스에서의 파일 삭제는 신중을 기해야 한다. 왜냐면 삭제된 파일은 복구
할 수 없기 때문이다. 이것이 정석이였습니다.

물론 rm 의 소프트링크나 다른 삭제 프로그램으로 대체하는 프로그램들도 있습
니다만 rm 자체의 복구는 없다고 알고 있으신 분들이 대부분 일 겁니다.

해답은

debugfs 라는 명령어 입니다. (man page 참조)

실제 사용예를 들어 설명하겠습니다.

가정1) /home/pds/portsentry.tar.gz 라는 파일이 있음.
가정2) /home 파티션은 hda8 입니다. (df -h 로 확인)
가정3) rm -f /home/pds/portsentry.tar.gz 명령으로 지웠음.
가정4) root 로 작업.

복구 절차.

1. #debugfs /dev/hda8

=> 설명 : hda8 파티션에 대해서 검사를 한다.

2. debugfs:

=> 대기상태를 뜻함. 이곳에서 lsdel 을 입력하고 엔터.
계속...

debugfs: lsdel
99 deleted inodes found.
 Inode  Owner  Mode    Size    Blocks    Time deleted
108123      0 100644    239    1/   1 Thu Jan  3 01:25:33 2002
 18417      0 100644 426625  420/ 420 Thu Jan  3 01:26:34 2002
 45007      0 100644    343    1/   1 Thu Jan  3 01:29:59 2002
 28691      0 100400    879    1/   1 Thu Jan  3 01:38:29 2002
 18394      0  40755      0    1/   1 Thu Jan  3 01:58:54 2002
  ..
  .
 14356      0 100644   2325    3/   3 Fri Jan 25 16:13:24 2002
 61239      0 100644  43034   44/  44 Fri Jan 25 16:13:31 2002
debugfs: 

위와 같은 상태로 나오고 다시 대기상태로 됩니다. 실제로는 너무 많이 나오더
군요.. (내가 그렇게 많이 지웠었나? '.'a)

이제 이 목록중에서 하나를 선택해서 살려야 합니다. 다행히도 살리고자 하는
파일은 가장 최근에 지운 파일이므로 가장 아래쪽에 있는 것이겠죠.

debugfs: dump <61239> /home/debugfs/portsentry.tar.gz

=> Inode 값을 <> 안에 적어줍니다. 뒤에는 복구할 파일 이름을 적어주시면 됩
니다.
=> 복구할 파일은 다른 디렉토리로 지정해 주시는게 좋습니다. 별 상관은 없지
만...

#cd /home/debugfs
#tar -zxvf portsentry.tar.gz  // 정상적으로 압축이 풀리더군요.

=> 아주 훌륭하게 복구가 되었더군요. ^^v

임의로 portsentry.tar.gz 를 지워서 테스트를 한 것입니다.

debugfs:  상태에서 사용할 수 있는 명령어는 help 를 쳐보면 알 수 있습니다.
끝내는 것은 q, quit 입니다.



아래는 debugfs: 에서 사용가능한 명령어들 입니다.
---------------------------------------------------------------------

Available debugfs requests:

show_debugfs_params, params
                         Show debugfs parameters
open_filesys, open       Open a filesystem
close_filesys, close     Close the filesystem
feature, features        Set/print superblock features
dirty_filesys, dirty     Mark the filesystem as dirty
init_filesys             Initalize a filesystem (DESTROYS DATA)
show_super_stats, stats  Show superblock statistics
ncheck                   Do inode->name translation
icheck                   Do block->inode translation
change_root_directory, chroot
                         Change root directory
change_working_directory, cd
                         Change working directory
list_directory, ls       List directory
show_inode_info, stat    Show inode information
link, ln                 Create directory link
unlink                   Delete a directory link
mkdir                    Create a directory
rmdir                    Remove a directory
rm                       Remove a file (unlink and kill_file, if
appropriate)
kill_file                Deallocate an inode and its blocks
clri                     Clear an inode's contents
freei                    Clear an inode's in-use flag
seti                     Set an inode's in-use flag
testi                    Test an inode's in-use flag
freeb                    Clear a block's in-use flag
setb                     Set a block's in-use flag
testb                    Test a block's in-use flag
modify_inode, mi         Modify an inode by structure
find_free_block, ffb     Find free block(s)
find_free_inode, ffi     Find free inode(s)
print_working_directory, pwd
                         Print current working directory
expand_dir, expand       Expand directory
mknod                    Create a special file
list_deleted_inodes, lsdel
                         List deleted inodes
write                    Copy a file from your native filesystem
dump_inode, dump         Dump an inode out to a file
cat                      Dump an inode out to stdout
lcd                      Change the current directory on your native
filesystem
rdump                    Recursively dump a directory to the native
filesystem
help                     Display info on command or topic.
list_requests, lr, ?     List available commands.
quit, q                  Leave the subsystem.






//////////////////////////////////////////////////




debugfs는 ext2 /ext3파일시스템을 디버깅하거나 복구하는 툴입니다.

하지만 아쉽게도 리눅스9이하의 시스템에서는 ext2만 지원하여 ext3 파일시스템은 logdump명령어를 사용해야 한다.

debugfs를 실행하는 방법에는 2가지가 있다.

첫뻔째 읽기전용으로 파일시스템을 여는 방법

두번째 읽기 쓰기모드로 여는 방법으로 옵션으로 -w 사용

사용방법

debugfs [블록사이즈][슈퍼블록][옵션][장치명]

# debugfs /dev/hda1       파일시스템 오픈

debugfs: ls                          파일리스트 확인

debugfs: quit                     종료


삭제된 파일 debugfs로 복구하기

# rm -f named.conf

# cd /var/

#mkdir rescue

#cd rescue

#debugfs -w /dev/hda1

debugfs:  lsdel

삭제된 파일의 inode값을 확인

debugfs:   dump <134424> /var/rescue/rescue1.file

debugfs:    quit

# ls -l

-rw-rw-r        1 root          root              32252  may   3   12:33  rescue1.file

#mv rescue.file  named.conf

#cp named.conf /etc/

삭제된 디렉토리전체 복구하기

삭제된 디렉토리를 복구하는 명령어는debugfs의 rdump명령이다.

#debugfs /dev/hda1

debugfs:   ls

삭제된 디렉토리 확인

debugfs:  rdump  network1 /var/rescue/network1

debugfs: quit

 

특정파일시스템에 존재하는 inode 상세정보 확인

debugfs: show_inode_info 파일명

슈퍼블럭 정보 확인

debugfs:stats

또는 dumpe2fs



http://www.ricky.co.kr/jsboard/read.php?table=system&no=8&page=2
http://cafe.naver.com/network1.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=606

조회 수 :
40969
등록일 :
2008.02.23
13:36:06 (*.234.246.12)
엮인글 :
https://www.rain9.com/xe/tc_backup/1910/a84/trackback
게시글 주소 :
https://www.rain9.com/xe/tc_backup/1910
List of Articles
번호 제목 글쓴이 날짜 조회 수
40 Linux httpd.conf 한글 주석 엔신 2008-02-23 13518
» Linux 삭제 파일 복구하기 debugfs 엔신 2008-02-23 40969
38 Linux 제로보드4 관리자 비밀번호 분실시 해결법 [1] 엔신 2008-02-21 12059
37 Linux fedora linux 리눅스에서 텔넷(SSH) 한글 깨질 때 [2] 엔신 2008-02-16 15384
36 Linux SCP 엔신 2008-02-15 10866
35 Linux ssh 터널링 (방화벽우회, 프록시) 엔신 2008-02-15 20846
34 Linux mx레코드변경값확인하기 엔신 2008-02-13 9717
33 Ambiguous 통신관련 민원처리기관 엔신 2007-12-15 11371
32 Ambiguous 초고속 인터넷 해지시 위약금 관련 QA 엔신 2007-12-15 11347
31 Ambiguous 초고속 인터넷 해지시 위약금 산출 방식 엔신 2007-12-15 12687
30 Ambiguous 초고속 인터넷 해지시 위약금 가이드라인 엔신 2007-12-15 9524
29 Windows 윈도우XP 시디키 바꾸기 엔신 2007-12-14 15183
28 Windows 비스타(vista) 시각효과 최적화하기 엔신 2007-12-01 13383
27 ETC 물품 [4] 엔신 2007-08-28 8190
26 Windows 64비트 운영체제에서 아크로뱃 설치시 adobepdf.dll 파일이 없다고 할 때 [5] file 엔신 2007-07-25 37656
25 Linux 윈도우에서 우분투(ubuntu) 원격 접속하기 file 엔신 2007-07-25 13324
24 Linux 우분투(ubuntu)에 gcc 설치하기 엔신 2007-07-25 11556
23 Ambiguous 파폭 북마크를 익스 즐겨찾기로 보내기 엔신 2007-07-23 10606
22 Linux 우분투, SSH에서 한글 깨짐 문제 해결하기 엔신 2007-05-04 31318
21 Linux su sudo 차이점 엔신 2007-05-04 11303