Instalējiet Scalpel (failu sistēmas atkopšanas rīks), lai atjaunotu izdzēstos failus/mapes Linux


Daudzas reizes gadās, ka mēs nejauši vai kļūdaini nospiežam ‘shift + delete’ failos. Pēc cilvēka rakstura jums ir ieradums izmantot ‘shift + Del’, nevis izmantot tikai opciju ‘Dzēst’. Man patiešām bija šis incidents dažas dienas atpakaļ. Es strādāju pie projekta un saglabāju savu darba failu direktorijā. Šajā direktorijā bija daudz nevēlamu failu, un tie ir neatgriezeniski jāizdzēš. Tāpēc es sāku tos dzēst pa vienam. Dzēšot šos failus, es nejauši nospiedu ‘shift delete’ uz vienu no maniem svarīgiem failiem. Fails tika neatgriezeniski izdzēsts no mana direktorija. Man bija jautājums, kā atgūt izdzēstos failus, un man nebija ne jausmas, ko darīt. Es gandrīz pavadīju daudz laika faila atjaunošanai, bet neveicās.

Zinot mazliet tehnisko zināšanu, es zināju, kā darbojas failu sistēma un HDD. Nejauši izdzēšot failu, faila saturs netiek izdzēsts no datora. Tas ir tikko noņemts no datu bāzes mapes, un failu direktorijā nevar redzēt, taču tas joprojām paliek kaut kur jūsu cietajā diskā. Būtībā sistēmai ir saraksta rādītājs, kuru glabāšanas ierīcē bloķēt, joprojām ir dati. Dati netiek dzēsti no bloķēšanas krātuves ierīces, kamēr vien jūs nepārrakstīsit ar jaunu failu. Šajā brīdī es atbrīvoju, ka mans izdzēstais fails joprojām var palikt kaut kur neindeksētā cietā diska zonā. Tomēr ieteicams nekavējoties atvienot ierīci, tiklīdz saprotat, ka esat izdzēsis jebkuru svarīgu failu. Atvienošana palīdz novērst bloķēto failu pārrakstīšanu ar jaunu failu.

Šajā scenārijā es nevēlējos pārrakstīt šos datus, tāpēc es gribēju meklēt cietajā diskā, tos neuzstādot.

Parasti sistēmā Windows mēs saņemam daudzus trešo pušu rīkus, lai atgūtu zaudētos datus, bet Linux tikai nedaudz. Tomēr es izmantoju Ubuntu kā operētājsistēmu, un ir ļoti grūti atrast rīku, kas atgūtu zaudēto failu. Pētījuma laikā es uzzināju par rīku Scalpel, kas darbojas visā cietajā diskā un atgūst zaudēto failu. Es instalēju un veiksmīgi atguvu savu zaudēto failu ar Scalpel rīka palīdzību. Tas ir patiešām pārsteidzošs rīks, kas man jāsaka.

Tas var notikt arī ar jums. Tāpēc es izdomāju padalīties ar jums savā pieredzē. Šajā rakstā es parādīšu, kā atjaunot izdzēstos failus, izmantojot skalpela rīku. Tātad, šeit mēs ejam.

Kas ir skalpela rīks?

Scalpel ir atvērtā koda failu sistēmas atkopšana operētājsistēmām Linux un Mac. Rīks apmeklē bloka datu bāzes krātuvi un identificē tajā izdzēstos failus un tos uzreiz atgūst. Papildus failu atkopšanai tas ir noderīgs arī digitālās kriminālistikas izmeklēšanai.

Kā instalēt Scalpel Debian/Ubuntu un Linux Mint

Lai instalētu Scalpel, atveriet termināli, darbvirsmā veicot “CTrl + Alt + T”, un izpildiet šādu komandu.

$ 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 :~$

Skalpeļa uzstādīšana RHEL/CentOS un Fedora

Lai instalētu skalpela atkopšanas rīku, vispirms jāiespējo epel repository. Kad tas ir iespējots, varat to izdarīt, lai instalētu, kā parādīts.

# 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!

Kad skalpelis ir uzstādīts, jums jāveic teksta rediģēšana. Pēc noklusējuma skalpeļa utilītai direktorijā ‘/ etc’ ir savs konfigurācijas fails, un pilns ceļš ir “/etc/scalpel/scalpel.conf” vai “/etc/scalpel.conf”. Jūs varat pamanīt, ka viss ir komentēts (#). Tāpēc pirms skalpela palaišanas jums ir jāatceļ faila formāts, kas jums jāatgūst. Tomēr visa faila atcelšana ir laikietilpīga un radīs milzīgus nepatiesus rezultātus.

Teiksim, piemēram, es vēlos atgūt tikai “.jpg” failus, tāpēc vienkārši komentējiet skalpela konfigurācijas faila “.jpg” failu sadaļu.

# 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

Dodieties uz termināli un ierakstiet sekojošo sintaksi. ‘/ Dev/sda1’ ir ierīces atrašanās vieta, no kuras fails jau ir izdzēsts.

$ sudo scalpel /dev/sda1-o output

Slēdzis ‘-o’ norāda izejas direktoriju, kurā vēlaties atjaunot izdzēstos failus. Pirms komandas palaišanas pārliecinieties, ka šis direktorijs ir tukšs, pretējā gadījumā tas radīs kļūdu. Iepriekš minētās komandas izeja ir.

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

Kā redzat, skalpelis tagad veic procesu, un, lai izdzēstu izdzēsto failu, būs vajadzīgs laiks, atkarībā no vietas, kuru mēģināt skenēt, un mašīnas ātruma.

Es iesaku jums visiem pierast izmantot tikai dzēšanu, nevis “Shift + Delete”. Jo, kā minēts, profilakse vienmēr ir labāka par ārstēšanu.