ലിനക്സിൽ ഇല്ലാതാക്കിയ ഫയലുകൾ/ഫോൾഡറുകൾ വീണ്ടെടുക്കാൻ സ്കാൽപൽ (ഒരു ഫയൽസിസ്റ്റം വീണ്ടെടുക്കൽ ഉപകരണം) ഇൻസ്റ്റാൾ ചെയ്യുക


പലപ്പോഴും നമ്മൾ ആകസ്മികമായി അല്ലെങ്കിൽ തെറ്റായി ഫയലുകളിലേക്ക് 'shift + delete' അമർത്തുന്നത് സംഭവിക്കുന്നു. മനുഷ്യ സ്വഭാവമനുസരിച്ച് നിങ്ങൾക്ക് 'ഡിലീറ്റ്' ഓപ്ഷൻ ഉപയോഗിക്കുന്നതിന് പകരം 'ഷിഫ്റ്റ് + ഡെൽ' ഉപയോഗിക്കുന്ന ഒരു ശീലമുണ്ട്. സത്യത്തിൽ എനിക്ക് ഈ സംഭവം ഉണ്ടായത് കുറച്ച് ദിവസങ്ങൾക്ക് മുൻപാണ്. ഞാൻ ഒരു പ്രോജക്റ്റിൽ ജോലി ചെയ്യുകയായിരുന്നു, എന്റെ വർക്ക് ഫയൽ ഒരു ഡയറക്ടറിയിൽ സേവ് ചെയ്തു. ആ ഡയറക്uടറിയിൽ അനാവശ്യമായ നിരവധി ഫയലുകൾ ഉണ്ടായിരുന്നു, അവ ശാശ്വതമായി ഇല്ലാതാക്കേണ്ടതുണ്ട്. അങ്ങനെ ഞാൻ അവ ഓരോന്നായി ഡിലീറ്റ് ചെയ്യാൻ തുടങ്ങി. ആ ഫയലുകൾ ഇല്ലാതാക്കുമ്പോൾ, എന്റെ പ്രധാനപ്പെട്ട ഫയലുകളിലൊന്നിലേക്ക് ഞാൻ അബദ്ധത്തിൽ 'shift delete' അമർത്തി. എന്റെ ഡയറക്ടറിയിൽ നിന്ന് ഫയൽ ശാശ്വതമായി ഇല്ലാതാക്കി. ഡിലീറ്റ് ചെയ്ത ഫയലുകൾ എങ്ങനെ വീണ്ടെടുക്കാം എന്ന് ഞാൻ ആശ്ചര്യപ്പെട്ടു, എന്തുചെയ്യണമെന്ന് ഒരു സൂചനയും ഇല്ലായിരുന്നു. ഫയൽ പുനഃസ്ഥാപിക്കാൻ ഞാൻ ഏറെ സമയം ചെലവഴിച്ചു, പക്ഷേ ഭാഗ്യമുണ്ടായില്ല.

കുറച്ച് സാങ്കേതിക പരിജ്ഞാനം അറിയാമായിരുന്ന എനിക്ക് ഫയൽ സിസ്റ്റവും എച്ച്ഡിഡിയും എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് അറിയാമായിരുന്നു. നിങ്ങൾ ഒരു ഫയൽ ആകസ്മികമായി ഇല്ലാതാക്കുമ്പോൾ, ഫയലിലെ ഉള്ളടക്കം നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ നിന്ന് ഇല്ലാതാക്കപ്പെടില്ല. ഇത് ഡാറ്റാബേസ് ഫോൾഡറിൽ നിന്ന് നീക്കം ചെയ്uതു, നിങ്ങൾക്ക് ഡയറക്uടറിയിലേക്ക് ഫയൽ കാണാൻ കഴിയില്ല, പക്ഷേ അത് നിങ്ങളുടെ ഹാർഡ് ഡ്രൈവിൽ എവിടെയോ തുടരുന്നു. അടിസ്ഥാനപരമായി, സ്റ്റോറേജ് ഉപകരണത്തിലെ ബ്ലോക്കുകളിലേക്കുള്ള ലിസ്റ്റ് പോയിന്റർ സിസ്റ്റത്തിന് ഇപ്പോഴും ഡാറ്റയുണ്ട്. നിങ്ങൾ ഒരു പുതിയ ഫയൽ ഉപയോഗിച്ച് തിരുത്തിയെഴുതുന്നതുവരെ ബ്ലോക്ക് സ്റ്റോറേജ് ഉപകരണത്തിൽ നിന്ന് ഡാറ്റ ഇല്ലാതാക്കില്ല. ഈ കാഴ്ചപ്പാടിൽ, എന്റെ ഇല്ലാതാക്കിയ ഫയൽ ഹാർഡ് ഡിസ്കിന്റെ സൂചികയിലാക്കാത്ത സ്ഥലത്ത് എവിടെയെങ്കിലും നിലനിൽക്കുമെന്ന് ഞാൻ പുറത്തുവിട്ടു. എന്നിരുന്നാലും, നിങ്ങൾ ഏതെങ്കിലും പ്രധാനപ്പെട്ട ഫയൽ ഇല്ലാതാക്കിയതായി മനസ്സിലാക്കിയ ഉടൻ ഉപകരണം അൺമൗണ്ട് ചെയ്യാൻ ശുപാർശ ചെയ്യുന്നു. തടയപ്പെട്ട ഫയലുകൾ പുതിയ ഫയൽ ഉപയോഗിച്ച് തിരുത്തിയെഴുതുന്നത് തടയാൻ അൺമൗണ്ട് നിങ്ങളെ സഹായിക്കുന്നു.

ഈ സാഹചര്യത്തിൽ, ആ ഡാറ്റ അധികമായി എഴുതാൻ ഞാൻ ആഗ്രഹിക്കുന്നില്ല, അതിനാൽ അത് മൌണ്ട് ചെയ്യാതെ ഹാർഡ് ഡ്രൈവിൽ തിരയാനാണ് ഞാൻ ഇഷ്ടപ്പെട്ടത്.

സാധാരണഗതിയിൽ വിൻഡോസിൽ നഷ്ടപ്പെട്ട ഡാറ്റ വീണ്ടെടുക്കാൻ ടൺ കണക്കിന് തേർഡ് പാർട്ടി ടൂളുകൾ നമുക്ക് ലഭിക്കുന്നു, എന്നാൽ ലിനക്സിൽ കുറച്ച് മാത്രം. എന്നിരുന്നാലും ഞാൻ ഉബുണ്ടു ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റമായി ഉപയോഗിക്കുന്നു, നഷ്ടപ്പെട്ട ഫയൽ വീണ്ടെടുക്കുന്ന ഒരു ഉപകരണം കണ്ടെത്തുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്. എന്റെ ഗവേഷണത്തിനിടയിൽ, മുഴുവൻ ഹാർഡ് ഡ്രൈവിലൂടെയും പ്രവർത്തിക്കുകയും നഷ്ടപ്പെട്ട ഫയൽ വീണ്ടെടുക്കുകയും ചെയ്യുന്ന ഒരു ഉപകരണമായ 'Scalpel'-നെ കുറിച്ച് ഞാൻ മനസ്സിലാക്കി. സ്കാൽപൽ ടൂളിന്റെ സഹായത്തോടെ ഞാൻ എന്റെ നഷ്ടപ്പെട്ട ഫയൽ ഇൻസ്റ്റാൾ ചെയ്യുകയും വിജയകരമായി വീണ്ടെടുക്കുകയും ചെയ്തു. ഇത് ശരിക്കും അതിശയകരമായ ഉപകരണമാണെന്ന് ഞാൻ പറയണം.

ഇത് നിങ്ങളുടെ കാര്യത്തിലും സംഭവിക്കാം. അതുകൊണ്ട് എന്റെ അനുഭവം നിങ്ങളുമായി പങ്കുവെക്കാൻ ഞാൻ വിചാരിച്ചു. സ്കാൽപൽ ടൂളിന്റെ സഹായത്തോടെ ഇല്ലാതാക്കിയ ഫയലുകൾ എങ്ങനെ വീണ്ടെടുക്കാമെന്ന് ഈ ലേഖനത്തിൽ ഞാൻ കാണിച്ചുതരാം. അതുകൊണ്ട് ഞങ്ങൾ ഇവിടെ പോകുന്നു.

എന്താണ് Scalpel ടൂൾ?

ലിനക്uസ്, മാക് ഓപ്പറേഷൻ സിസ്റ്റങ്ങൾക്കായുള്ള ഒരു ഓപ്പൺ സോഴ്uസ് ഫയൽ സിസ്റ്റം വീണ്ടെടുക്കലാണ് സ്uകാൽപെൽ. ഉപകരണം ബ്ലോക്ക് ഡാറ്റാബേസ് സ്റ്റോറേജ് സന്ദർശിക്കുകയും അതിൽ നിന്ന് ഇല്ലാതാക്കിയ ഫയലുകൾ തിരിച്ചറിയുകയും അവ തൽക്ഷണം വീണ്ടെടുക്കുകയും ചെയ്യുന്നു. ഫയൽ വീണ്ടെടുക്കലിന് പുറമെ ഡിജിറ്റൽ ഫോറൻസിക് അന്വേഷണത്തിനും ഇത് ഉപയോഗപ്രദമാണ്.

ഡെബിയൻ/ഉബുണ്ടു, ലിനക്സ് മിന്റ് എന്നിവയിൽ സ്കാൽപെൽ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

Scalpel ഇൻസ്റ്റാൾ ചെയ്യാൻ, ഡെസ്uക്uടോപ്പിൽ നിന്ന് “CTrl+Alt+T” ചെയ്uത് ടെർമിനൽ തുറന്ന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ 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) ...
[email :~$

RHEL/CentOS, Fedora എന്നിവയിൽ സ്കാൽപെൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

സ്കാൽപെൽ വീണ്ടെടുക്കൽ ഉപകരണം ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, നിങ്ങൾ ആദ്യം എപൽ ശേഖരം പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്. ഇത് പ്രവർത്തനക്ഷമമാക്കിയാൽ, കാണിച്ചിരിക്കുന്നതുപോലെ ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾക്ക് '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!

സ്കാൽപെൽ ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ നിങ്ങൾ ടെക്സ്റ്റ് എഡിറ്റിംഗ് നടത്തേണ്ടതുണ്ട്. സ്ഥിരസ്ഥിതിയായി സ്uകാൽപൽ യൂട്ടിലിറ്റിക്ക് '/etc' ഡയറക്uടറിയിൽ അതിന്റേതായ കോൺഫിഗറേഷൻ ഫയൽ ഉണ്ട് കൂടാതെ പൂർണ്ണ പാത /etc/scalpel/scalpel.conf അല്ലെങ്കിൽ /etc/scalpel.conf ആണ്. എല്ലാം (#) കമന്റ് ചെയ്തിരിക്കുന്നത് നിങ്ങൾക്ക് ശ്രദ്ധിക്കാം. അതിനാൽ സ്കാൽപൽ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്, നിങ്ങൾക്ക് വീണ്ടെടുക്കേണ്ട ഫയൽ ഫോർമാറ്റ് അൺകമന്റ് ചെയ്യേണ്ടതുണ്ട്. എന്നിരുന്നാലും, കമന്റ് ചെയ്യാത്തത് മുഴുവൻ ഫയലും സമയമെടുക്കുന്നതും വലിയ തെറ്റായ ഫലങ്ങൾ സൃഷ്ടിക്കുന്നതുമാണ്.

ഉദാഹരണത്തിന്, എനിക്ക് ‘.jpg’ ഫയലുകൾ മാത്രമേ വീണ്ടെടുക്കാൻ താൽപ്പര്യമുള്ളൂ, അതിനാൽ സ്uകാൽപൽ കോൺഫിഗറേഷൻ ഫയലിനായി ‘.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' സ്വിച്ച് നിങ്ങളുടെ ഇല്ലാതാക്കിയ ഫയലുകൾ പുനഃസ്ഥാപിക്കാൻ ആഗ്രഹിക്കുന്ന ഒരു ഔട്ട്uപുട്ട് ഡയറക്uടറിയെ സൂചിപ്പിക്കുന്നു. ഏതെങ്കിലും കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ് ഈ ഡയറക്ടറി ശൂന്യമാണെന്ന് ഉറപ്പാക്കുക, അല്ലാത്തപക്ഷം അത് നിങ്ങൾക്ക് ഒരു പിശക് നൽകും. മുകളിലുള്ള കമാൻഡിന്റെ ഔട്ട്പുട്ട് ഇതാണ്.

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 + Delete എന്നതിനുപകരം ഡിലീറ്റ് മാത്രം ഉപയോഗിക്കുന്ന ശീലം നിങ്ങൾക്കെല്ലാവർക്കും ഉണ്ടായിരിക്കണമെന്ന് ഞാൻ ശുപാർശ ചെയ്യുന്നു. കാരണം പറഞ്ഞത് പോലെ പ്രതിരോധം എപ്പോഴും ചികിത്സയേക്കാൾ നല്ലതാണ്.