Linux-da öçürilen faýllary/bukjalary dikeltmek üçin Scalpel (Faýl ulgamyny dikeltmek guraly) guruň


Köplenç tötänleýin ýa-da ýalňyşlyk bilen faýllara “shift + delete” basýarys. Ynsan tebigaty boýunça diňe Öçürmek opsiýasyny ulanmagyň ýerine shift + Del ulanmagyň endigi bar. Aslynda bu waka birnäçe gün soň bolupdy. Bir taslama üstünde işleýärdim we iş faýlymy katalogda ýatda saklaýardym. Şol bukjada islenmeýän faýllar köpdi we hemişelik ýok edilmeli. Şeýdip, olary ýeke-ýekeden pozup başladym. Şol faýllary öçürenimde, möhüm faýlymyň birine tötänleýin shift delete basdym. Faýl meniň katalogymdan hemişelik pozuldy. Öçürilen faýllary nädip dikeltmelidigi we näme etmelidigim hakda pikir etmeýärdim. Faýly dikeltmek üçin köp wagt sarp etdim, ýöne şowlulyk ýok.

Birneme tehniki bilimleri bilip, faýl ulgamynyň we HDD-iň işleýşi hakda bilýärdim. Bir faýly tötänleýin pozanyňyzda, faýlyň mazmuny kompýuteriňizden pozulmaýar. Diňe maglumat bazasynyň bukjasyndan aýryldy we faýly bukjada görüp bilmersiňiz, ýöne ol gaty diskiňiziň bir ýerinde galýar. Esasan ulgamda saklaýyş enjamyndaky bloklar üçin sanaw görkezijisi bar. Täze faýl bilen ýazýançaňyz, blok saklaýjy enjamdan maglumatlar pozulmaýar. Şu nukdaýnazardan, öçürilen faýlymyň gaty diskiň açylmadyk ýerinde bir ýerde galyp biljekdigini goýberdim. Şeýle-de bolsa, möhüm bir faýly öçürendigiňize düşünen badyňyza derrew enjamy aýyrmak maslahat berilýär. Aýyrmak, petiklenen faýllaryň täze faýl bilen gaýtadan ýazylmagynyň öňüni almaga kömek edýär.

Bu ssenariýada, bu maglumatlary ýazmak islemedim, şonuň üçin gaty diski gurnamazdan gözlemegi makul bildim.

Adatça Windows-da ýitirilen maglumatlary dikeltmek üçin 3-nji tarap gurallaryny alýarys, ýöne Linux-da diňe az. Şeýle-de bolsa, Ubuntu-ny operasiýa ulgamy hökmünde ulanýaryn we ýitirilen faýly dikeldýän gural tapmak gaty kyn. Gözleglerimiň dowamynda gaty diskiň üstünden geçýän we ýitirilen faýly dikeldýän “Scalpel” guraly bilen tanyşdym. Scalpel guralynyň kömegi bilen ýitiren faýlymy gurdum we üstünlikli dikeltdim. Bu hakykatdanam ajaýyp gural.

Bu siziň bilen hem bolup biler. Şonuň üçin tejribämi siziň bilen paýlaşmak hakda pikir etdim. Bu makalada skalpel guralynyň kömegi bilen öçürilen faýllary nädip dikeltmelidigini görkezerin. Ine, şu ýere gidýäris.

Skalpel guraly näme?

“Scalpel” Linux we Mac operasiýa ulgamlary üçin açyk çeşme faýl ulgamyny dikeltmekdir. Gural blok maglumatlar bazasynyň ammaryna baryp, ondan öçürilen faýllary kesgitleýär we derrew dikeldýär. Faýly dikeltmekden başga-da sanly kazyýet derňewi üçin hem peýdaly.

Debian/Ubuntu we Linux Mint-da skalpeli nädip gurmaly

“Scalpel” -i gurmak üçin iş stolundan “CTrl + Alt + T” edip terminaly açyň we aşakdaky buýrugy işlediň.

$ 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 we Fedora-da skalpel gurmak

Skalpel dikeldiş guralyny gurmak üçin ilki bilen epel ammaryny işletmeli. Işledilenden soň, görkezilişi ýaly gurmak üçin ýum edip bilersiňiz.

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

Skalpel gurlansoň, tekst redaktirlemeli. Adaty tertipde skalpel programmasynyň “/ etc” katalogynda öz konfigurasiýa faýly bar we doly ýol “/etc/scalpel/scalpel.conf” ýa-da “/etc/scalpel.conf”. Hemme zadyň düşündirilendigini görüp bilersiňiz (#). Şonuň üçin skalpel işlemezden ozal dikeltmeli faýl formatyny açmaly. Şeýle-de bolsa, tutuş faýl wagt talap edýär we ullakan ýalan netijeleri berer.

Mysal üçin, diňe .jpg faýllaryny dikeltmek isleýärin, şonuň üçin skalpel konfigurasiýa faýly üçin ýönekeý .jpg faýl bölümini dikeltmek isleýärin.

# 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

Terminala gidiň we aşakdaky sintaksis ýazyň. '/ Dev/sda1', faýlyň eýýäm öçürilen enjamynyň ýerleşýän ýeri.

$ sudo scalpel /dev/sda1-o output

-O wyklýuçateli, öçürilen faýllaryňyzy dikeltmek isleýän çykyş katalogyňyzy görkezýär. Bu buýrugy işletmezden ozal boşdugyna göz ýetiriň, ýogsam size ýalňyşlyk berer. Aboveokardaky buýrugyň çykyşy.

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

Görşüňiz ýaly, skalpel indi öz işini ýerine ýetirýär we skaner etjek bolýan disk giňişligine we enjamyň tizligine baglylykda öçürilen faýlyňyzy dikeltmek üçin wagt gerek bolar.

Hemmäňize “Shift + Delete” ýerine diňe pozmagy ulanmagy endik etmegiňizi maslahat berýärin. Sebäbi aýdylyşy ýaly öňüni almak hemişe bejergiden gowudyr.