본문 바로가기
IT-개발,DB

[LINUX] 지운파일 복구하기

by SB리치퍼슨 2012. 10. 23.

리눅스 화일시스템의 성격상 일단 삭제한 화일을 복구한다는 건 
굉장히 어려운 것으로 알려져 있습니다. 최근에 와서는 삭제복구 
유틸리티들이 여러가지 나오고 있지만 막상 시스템에서 작업을 
하다가 중요한 화일을 자기도 모르게 삭제했을 때 당장 쓸 수 
있는 방법은 거의 없는 것이 사실이죠. 아마 많은 분들이 이미 
당하신 일일 겁니다. 저도 실제로 곤경에 처해서 황당해 하다가 
이 팁을 발견하게 되었습니다. 알고보면 아주 간단합니다. 저도 
외국사람이 알려준 방법을 그대로 쓴 것인데 아래 그 요령을 
기술합니다. 

1) /sbin/debugfs /dev/hda7 
2) debug: lsdel 
1 deleted inodes found. 
Inode Owner Mode Size Blocks Time deleted 
25 0 100644 5 1/ 1 Fri Mar 30 19:37:53 2001 

3) debug: dump <25> /root/testing.dump 

1) 우선 슈퍼유저가 되어야 debugfs 를 쓸 수 있습니다. 
2) 지금 어떤 화일을 삭제했는데 그것이 /dev/hda7 파티션상에 있던 
화일이라고 하면 1번과 같은 명령을 내립니다. 
3) 그럼 "debug : " 프롬프트가 나타나는데 거기에서 lsdel이라는 명령을 
내립니다. (이것은 delete한 것을 ls하라는 것입니다.) 
4) 그러면 그 아래 나오는 것과 같은 결과값이 나오는데 만일 삭제한 
화일이 여럿이라면 이를 추정해서 살리는 것 외에는 다른 방법이 
없습니다. 대충 화일의 사이즈를 알 수 있다면 살리는 데 큰 문제는 
없습니다. 
5) 어떤 inode 번호에 해당하는 것을 살려야 겠다고 결정하면 
3번과 같은 명령을 내려 덤프시킵니다. 이 때 덤프해서 저장할 화일은 
반드시 원래 삭제된 화일이 있던 곳과는 다른 파티션으로 옮겨서 
저장해야 합니다. 혹시 다른 화일을 복구한 것이라면 자칫하면 원래 
복구해야 할 화일을 덮어쓰는 경우가 있을 수 있으니까요. 

제 경우는 아주 중요한 화일을 다른 것들과 함께 삭제해 버리고 나서 
그 중요한 화일이 사라진 것을 알게 되어 바로 이 방법을 써서 성공적으로 
복구할 수 있었습니다. 다행히 문제의 화일 사이즈가 삭제한 화일중에서 
가장 컸기 때문에 쉽게 복구할 수 있었지요. 혹시 비슷한 어려움에 빠진 
분들에게 도움이 되기 바랍니다.




반응형

댓글