লিনাক্সে মুছে ফেলা ফাইল/ফোল্ডারগুলি পুনরুদ্ধার করতে স্কাল্পেল (একটি ফাইল সিস্টেম পুনরুদ্ধার সরঞ্জাম) ইনস্টল করুন


অনেক সময় এমন হয় যে আমরা দুর্ঘটনাক্রমে বা ভুল করে ফাইলগুলিতে "শিফট + মুছুন" টিপুন। মানব স্বভাব অনুসারে আপনার কেবলমাত্র ‘মুছুন’ বিকল্পটি ব্যবহার করার পরিবর্তে ‘শিফট + ডেল’ ব্যবহার করার অভ্যাস রয়েছে। আমি আসলে কিছুদিন আগে এই ঘটনাটি করেছি। আমি একটি প্রকল্পে কাজ করছি এবং আমার কাজের ফাইলটি একটি ডিরেক্টরিতে সংরক্ষণ করেছি। এই ডিরেক্টরিতে অনেক অযাচিত ফাইল ছিল এবং স্থায়ীভাবে মুছতে হবে। তাই আমি একে একে মুছে ফেলতে শুরু করি। এই ফাইলগুলি মুছে ফেলার সময়, আমি ঘটনাক্রমে আমার একটি গুরুত্বপূর্ণ ফাইলটিতে "শিফট মোছা" চাপলাম। ফাইলটি আমার ডিরেক্টরি থেকে স্থায়ীভাবে মুছে ফেলা হয়েছে। আমি কীভাবে মুছে ফেলা ফাইলগুলি পুনরুদ্ধার করব এবং কী করণীয় সে সম্পর্কে কোনও ধারণা নেই। আমি ফাইলটি পুনরুদ্ধার করতে প্রায় সময় ব্যয় করেছি তবে ভাগ্য নেই।

কিছুটা প্রযুক্তিগত জ্ঞান জেনে আমি জানতাম কীভাবে ফাইল সিস্টেম এবং এইচডিডি কাজ করে। আপনি যখন কোনও ফাইল দুর্ঘটনাক্রমে মুছবেন তখন ফাইলের সামগ্রী আপনার কম্পিউটার থেকে মুছে ফেলা হবে না। এটি সবেমাত্র ডাটাবেস ফোল্ডার থেকে সরানো হয়েছে এবং আপনি ডিরেক্টরিটিতে ফাইলটি দেখতে পাচ্ছেন না, তবে এটি এখনও আপনার হার্ড ড্রাইভের কোথাও থেকে যায়। মূলত সিস্টেমে স্টোরেজ ডিভাইসে ব্লকগুলির জন্য একটি তালিকা পয়েন্টার রয়েছে এখনও ডেটা থাকে। ব্লক স্টোরেজ ডিভাইস থেকে ডেটা মুছে ফেলা হয় না যতক্ষণ না আপনি কোনও নতুন ফাইল দিয়ে ওভাররাইট না করে। এই দৃষ্টিতে আমি প্রকাশ করেছি যে আমার মুছে ফেলা ফাইলটি এখনও হার্ড ডিস্কের একটি আনইনডেক্স অঞ্চলে কোথাও থাকতে পারে। তবে আপনি যে কোনও গুরুত্বপূর্ণ ফাইল মুছে ফেলেছেন তা বুঝতে পারার সাথে সাথেই কোনও ডিভাইস অবিলম্বে আনমাউন্ট করার পরামর্শ দেওয়া হচ্ছে। আনমাউন্ট আপনাকে আটকানো ফাইলগুলিকে নতুন ফাইলের সাথে ওভাররাইট করা রোধ করতে সহায়তা করে।

এই দৃশ্যে আমি সেই ডেটাটি বেশি লিখতে চাইনি, তাই আমি হার্ড ড্রাইভে মাউন্ট না করে অনুসন্ধান করতে পছন্দ করেছিলাম।

সাধারণত উইন্ডোজে আমরা হারিয়ে যাওয়া ডেটা পুনরুদ্ধারের জন্য প্রচুর তৃতীয় পক্ষের সরঞ্জাম পেয়েছি তবে লিনাক্সে খুব কম। তবে আমি উবুন্টুকে একটি অপারেটিং সিস্টেম হিসাবে ব্যবহার করি এবং হারিয়ে যাওয়া ফাইলটি পুনরুদ্ধার করে এমন একটি সরঞ্জাম পাওয়া খুব কঠিন। আমার গবেষণার সময় আমি ‘স্কাল্পেল’ এমন একটি সরঞ্জাম সম্পর্কে জানতে পারি যা পুরো হার্ড ড্রাইভের মধ্য দিয়ে চলে এবং একটি হারিয়ে যাওয়া ফাইল পুনরুদ্ধার করে। আমি স্ক্যাল্পেল সরঞ্জামের সাহায্যে আমার হারিয়ে যাওয়া ফাইলটি ইনস্টল করেছি এবং সফলভাবে পুনরুদ্ধার করেছি। এটি অবশ্যই বলার অপেক্ষা রাখে না।

এটি আপনার সাথেও ঘটতে পারে। তাই আমি আমার সাথে আপনার অভিজ্ঞতা ভাগ করে নেওয়ার কথা ভেবেছিলাম। এই নিবন্ধে আমি আপনাকে স্ক্যাল্পেল সরঞ্জামের সাহায্যে মুছে ফেলা ফাইলগুলি পুনরুদ্ধার করার উপায় দেখাব show সুতরাং এখানে আমরা যেতে।

স্ক্যাল্পেল সরঞ্জাম কী?

স্ক্যাল্পেল লিনাক্স এবং ম্যাক অপারেশন সিস্টেমের জন্য একটি ওপেন সোর্স ফাইল সিস্টেম পুনরুদ্ধার। সরঞ্জামটি ব্লক ডাটাবেস স্টোরেজটি পরিদর্শন করে এবং এটি থেকে মুছে ফেলা ফাইলগুলি সনাক্ত করে এবং তত্ক্ষণাত পুনরুদ্ধার করে। ফাইল পুনরুদ্ধার ছাড়াও এটি ডিজিটাল ফরেনসিক তদন্তের জন্যও দরকারী।

ডেবিয়ান/উবুন্টু এবং লিনাক্স মিন্টে স্ক্যাল্পেল কীভাবে ইনস্টল করবেন

স্ক্যাল্পেল ইনস্টল করতে, ডেস্কটপ থেকে "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) ...
[email :~$

RHEL/CentOS এবং ফেডোরায় স্ক্যাল্পেল ইনস্টল করা

স্কাল্পেল পুনরুদ্ধার সরঞ্জাম ইনস্টল করতে, আপনাকে প্রথমে এপেল সংগ্রহস্থল সক্ষম করতে হবে। এটি সক্ষম হয়ে গেলে আপনি প্রদর্শিত হিসাবে এটি ইনস্টল করতে ‘ইয়ম’ করতে পারেন।

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

‘-ও’ স্যুইচ একটি আউটপুট ডিরেক্টরি নির্দেশ করে, যেখানে আপনি নিজের মুছে ফেলা ফাইলগুলি পুনরুদ্ধার করতে চান। কোনও ডিরেক্টরি চালানোর আগে এই ডিরেক্টরিটি খালি আছে তা নিশ্চিত করুন নাহলে এটি আপনাকে একটি ত্রুটি দেয়। উপরের কমান্ডের আউটপুট হয়।

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

আপনি দেখতে পাচ্ছেন, স্ক্যাল্পেলটি এখন এটির প্রক্রিয়া করছে এবং আপনি যে ডিস্কের স্ক্যানটি চেষ্টা করতে চেষ্টা করছেন সেটি এবং মেশিনের গতির উপর নির্ভর করে আপনার মুছে ফেলা ফাইলটি পুনরুদ্ধারে সময় লাগবে।

আমি আপনারা সবাইকে "শিফট + মুছুন" এর পরিবর্তে কেবল মুছুন ব্যবহার করার অভ্যাস করার পরামর্শ দিচ্ছি। কারণ হিসাবে প্রতিরোধ নিরাময় চেয়ে সর্বদা ভাল।