웹사이트 검색

Linux에서 삭제된 파일/폴더를 복구하기 위해 Scalpel(파일 시스템 복구 도구) 설치


실수로 또는 실수로 파일에서 'shift + 삭제'를 누르는 경우가 많습니다. 인간의 본성상 '삭제' 옵션만 사용하는 대신 'shift + Del'을 사용하는 습관이 있습니다. 사실 며칠 전에 이런 사건이 있었습니다. 저는 프로젝트 작업을 하고 있었고 작업 파일을 디렉토리에 저장했습니다. 해당 디렉토리에는 원치 않는 파일이 많이 있으므로 영구적으로 삭제해야 합니다. 그래서 하나씩 삭제하기 시작했어요. 해당 파일을 삭제하는 동안 중요한 파일 중 하나에서 실수로 'Shift 삭제'를 눌렀습니다. 파일이 내 디렉토리에서 영구적으로 삭제되었습니다. 삭제된 파일을 복구하는 방법이 궁금했지만 무엇을 해야 할지 전혀 몰랐습니다. 파일을 복원하는 데 거의 많은 시간을 보냈지만 운이 없었습니다.

약간의 기술 지식을 바탕으로 파일 시스템과 HDD 작동 방식에 대해 알고 있었습니다. 실수로 파일을 삭제해도 파일 내용은 컴퓨터에서 삭제되지 않습니다. 데이터베이스 폴더에서 제거되어 디렉토리에 있는 파일을 볼 수 없지만 하드 드라이브 어딘가에 여전히 남아 있습니다. 기본적으로 시스템에는 여전히 데이터가 있는 저장 장치의 블록에 대한 목록 포인터가 있습니다. 새 파일로 덮어쓸 때까지 블록 스토리지 장치에서 데이터는 삭제되지 않습니다. 이 시점에서 나는 삭제된 파일이 하드 디스크의 색인화되지 않은 영역 어딘가에 여전히 남아 있을 수 있다는 사실을 발표했습니다. 그러나 중요한 파일을 삭제했다는 것을 알게 되는 즉시 장치를 마운트 해제하는 것이 좋습니다. 마운트 해제를 사용하면 차단된 파일을 새 파일로 덮어쓰는 것을 방지할 수 있습니다.

이 시나리오에서는 해당 데이터를 덮어쓰고 싶지 않았기 때문에 데이터를 마운트하지 않고 하드 드라이브에서 검색하는 것을 선호했습니다.

일반적으로 Windows에는 손실된 데이터를 복구하기 위한 수많은 타사 도구가 있지만 Linux에서는 소수에 불과합니다. 그런데 저는 Ubuntu를 운영체제로 사용하는데, 손실된 파일을 복구하는 도구를 찾기가 매우 어렵습니다. 조사하는 동안 전체 하드 드라이브를 실행하여 손실된 파일을 복구하는 도구인 '메스'에 대해 알게 되었습니다. 메스 도구를 사용하여 손실된 파일을 설치하고 성공적으로 복구했습니다. 정말 놀라운 도구라고 말하고 싶습니다.

이런 일은 당신에게도 일어날 수 있습니다. 그래서 나는 내 경험을 당신과 공유하려고 생각했습니다. 이 기사에서는 메스 도구를 사용하여 삭제된 파일을 복구하는 방법을 보여 드리겠습니다. 자, 여기 갑니다.

메스 도구 란 무엇입니까?

ScalpelLinuxMac 운영 체제를 위한 오픈 소스 파일 시스템 복구입니다. 이 도구는 블록 데이터베이스 저장소를 방문하여 삭제된 파일을 식별하고 즉시 복구합니다. 파일 복구 외에도 디지털 포렌식 조사에도 유용합니다.

Debian/Ubuntu 및 Linux Mint에 Scalpel을 설치하는 방법

Scalpel을 설치하려면 데스크톱에서 “CTrl+Alt+T”를 눌러 터미널을 열고 다음 명령을 실행하세요.

sudo apt-get install scalpel
샘플 출력
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  scalpel
0 upgraded, 1 newly installed, 0 to remove and 390 not upgraded.
Need to get 0 B/33.9 kB of archives.
After this operation, 118 kB of additional disk space will be used.
Selecting previously unselected package scalpel.
(Reading database ... 151082 files and directories currently installed.)
Unpacking scalpel (from .../scalpel_1.60-1build1_i386.deb) ...
Processing triggers for man-db ...
Setting up scalpel (1.60-1build1) ...
tecmint@tecmint-Latitude-D630:~$

RHEL/CentOS 및 Fedora에 Scalpel 설치

메스 복구 도구를 설치하려면 먼저 epel 저장소를 활성화해야 합니다. 활성화되면 'yum'을 실행하여 표시된 대로 설치할 수 있습니다.

yum install scalpel
샘플 출력
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.01link.hk
 * epel: mirror.nus.edu.sg
 * epel-source: mirror.nus.edu.sg
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package scalpel.i686 0:2.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================
 Package		Arch		Version			Repository		Size
==========================================================================================================================================================
Installing:
 scalpel                i686            2.0-1.el6               epel                    50 k

Transaction Summary
==========================================================================================================================================================
Install       1 Package(s)

Total download size: 50 k
Installed size: 108 k
Is this ok [y/N]: y
Downloading Packages:
scalpel-2.0-1.el6.i686.rpm                                                           |  50 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : scalpel-2.0-1.el6.i686							1/1 
  Verifying  : scalpel-2.0-1.el6.i686                                                   1/1 

Installed:
  scalpel.i686 0:2.0-1.el6                                                                                                                                

Complete!

메스를 설치한 후에는 텍스트 편집을 수행해야 합니다. 기본적으로 메스 유틸리티는 '/etc' 디렉토리에 자체 구성 파일이 있으며 전체 경로는 "/etc/scalpel/scalpel.conf" 또는 "/etc입니다. /scalpel.conf“. 모든 항목이 주석 처리되어 있는 것을 확인할 수 있습니다(#). 따라서 메스를 실행하기 전에 복구해야 하는 파일 형식의 주석 처리를 해제해야 합니다. 그러나 전체 파일의 주석 처리를 제거하면 시간이 많이 걸리고 엄청난 잘못된 결과가 생성됩니다.

예를 들어 '.jpg' 파일만 복구하고 싶으므로 메스 구성 파일에 대한 '.jpg' 파일 섹션의 주석 처리를 제거하면 됩니다.

GIF and JPG files (very common)
        gif     y       5000000         \x47\x49\x46\x38\x37\x61        \x00\x3b
        gif     y       5000000         \x47\x49\x46\x38\x39\x61        \x00\x3b
        jpg     y       200000000       \xff\xd8\xff\xe0\x00\x10        \xff\xd9

터미널로 이동하여 다음 구문을 입력하십시오. '/dev/sda1'은 파일이 이미 삭제된 기기의 위치입니다.

sudo scalpel /dev/sda1-o output

'-o' 스위치는 삭제된 파일을 복원하려는 출력 디렉터리를 나타냅니다. 명령을 실행하기 전에 이 디렉터리가 비어 있는지 확인하십시오. 그렇지 않으면 오류가 발생합니다. 위 명령의 출력은 다음과 같습니다.

Scalpel version 1.60
Written by Golden G. Richard III, based on Foremost 0.69.

Opening target "/dev/sda1"

Image file pass 1/2.
/dev/sda1:   6.1% |***** 		|    6.6 GB    39:16 ETA

보시다시피 메스는 이제 프로세스를 수행하고 있으며 스캔하려는 디스크 공간과 시스템 속도에 따라 삭제된 파일을 복구하는 데 시간이 걸립니다.

Shift + 삭제” 대신 삭제만 사용하는 습관을 들이시기를 바랍니다. 말했듯이 예방은 항상 치료보다 낫기 때문입니다.