আমি যদি জানতে পারি যে কীভাবে সম্ভব তবে টার্মিনালের মাধ্যমে কোনও ইউএসবি ফ্ল্যাশ ড্রাইভ কীভাবে মুছে ফেলা যায় যাতে ডেটা পুনরুদ্ধার করা যায় না।
আমি যদি জানতে পারি যে কীভাবে সম্ভব তবে টার্মিনালের মাধ্যমে কোনও ইউএসবি ফ্ল্যাশ ড্রাইভ কীভাবে মুছে ফেলা যায় যাতে ডেটা পুনরুদ্ধার করা যায় না।
উত্তর:
টিএল / ডিআর: নিশ্চিত হয়ে নিন যে আপনি সঠিক ডিভাইসের নাম পেয়েছেন, এটি মাউন্ট করা হয়নি তা নিশ্চিত করুন এবং যথাসম্ভব এলোমেলো ওভাররাইটগুলি যথাসাধ্য করুন। আপনি যদি সাম্প্রতিক পর্যায়ে বিতরণ করে থাকেন তবে আপনি ফ্ল্যাশ হার্ডওয়্যারের জন্য ডিজাইন করা একটি মুছা কমান্ডটি অনুসরণ করতে পারেন। এই চেকগুলিতে, সর্বদা ড্রাইভটি ব্যবহার করুন (যেমন / dev / sd এইচ ) এবং পার্টিশনের নামটি নয় (যা / dev / sd এইচ 1 হবে )
# dmesg|grep sdXX
[3600.000001] sd 6:0:0:0: [sdXX] 125106176 512-byte logical blocks: (64.0 GB/59.6 GiB)
# blkid|grep sdXX
/dev/sdXX1: PARTUUID="88a03bb2-ced8-4bb2-9883-0a51b4d460a8"
# df|grep /dev/sdXX
# shred -vzn8 /dev/sdXX
shred: /dev/sdXX: pass 1/9 (random)...
shred: /dev/sdXX: pass 1/9 (random)...46MiB/3.8GiB 1%
...
shred: /dev/sdXX: pass 9/9 (000000)...3.8GiB/3.8GiB 100%
# blkdiscard -s /dev/sdXX
blkdiscard: /dev/sdXX: BLKSECDISCARD ioctl failed: Operation not supported
# blkdiscard /dev/sdXX
blkdiscard: /dev/sdXX: BLKDISCARD ioctl failed: Operation not supported
#
তত্ত্বের ক্ষেত্রে শূন্য সহ ওভাররাইট dd
করা ঠিক আছে। তবে, ফ্ল্যাশ ড্রাইভের ইন্টার্নালগুলি কীভাবে তৈরি করা হয়েছে তার কারণে আপনি যদি একটি একক ওভাররাইট পাস ব্যবহার করেন তবে আসল ব্লকের পিছনে থাকা ডেটাগুলির কয়েকটি স্তর লুকিয়ে থাকতে পারে যা এখনও অবশেষে তথ্য সংরক্ষণ করে।
সাধারণত ফ্ল্যাশ স্টোরেজের একটি অংশ ত্রুটিযুক্ত, এবং উত্পাদনকালে এটি চিহ্নিত করা হয়। অন্য বিটগুলিও ভুল হতে পারে (অপরিবর্তনীয়, আনসেটেবল বা অপরিবর্তনীয় হয়ে উঠতে পারে), এই অংশগুলি অবশ্যই জীবদ্দশায় ত্রুটিযুক্ত হিসাবে চিহ্নিত করতে হবে। আপনার তথ্য হিসাবে একই তথ্য চিপগুলিতে এই তথ্য সংরক্ষিত জায়গায় সংরক্ষণ করা হয়। এটি 4 জিবি থাম্ব ড্রাইভ 2 ^ 32 বাইট ক্ষমতা না দেখানোর বিভিন্ন কারণগুলির মধ্যে একটি।
ফ্ল্যাশ স্টোরেজটি অভ্যন্তরীণভাবে বৃহত্তর ব্লকগুলিতেও সংগঠিত থাকে, কখনও কখনও ড্রাইভে কাজ করা ফাইল সিস্টেমগুলির চেয়ে অনেক বড়। একটি সাধারণ ফাইল সিস্টেম ব্লকের আকার 4KB এবং ফ্ল্যাশ বিভাগগুলি যা একবারে মুছে ফেলা যায় সেগুলি 64KB থেকে শুরু করে একাধিক মেগাবাইট পর্যন্ত হতে পারে। এই বৃহত ব্লকগুলি কেবলমাত্র পুরো মুছতে পারে, যা সমস্ত ব্লককে একটি পরিচিত অবস্থায় (সমস্ত 1s বা সমস্ত 0 গুলি) পুনরায় সেট করে। এরপরে একটি ডেটা রাইটিং যে কোনও বিটকে পরিবর্তন করতে পারে (যেখানে প্রয়োজন সেখানে ডিফল্ট 1 গুলি 0 সেটে পরিবর্তন করতে পারে বা ডিফল্ট 0s কে 1 সেটে পরিবর্তন করতে পারে) তবে কেবল একবার । বিটগুলির কোনওটি ডিফল্টরূপে ফিরে যেতে, সেগমেন্টের সমস্তটি আবার মুছতে হবে!
সুতরাং, যখন আপনি একটি 4KB ব্লক পরিবর্তন করতে চান (ফাইল সিস্টেমের মধ্যে একটি ফাইলের মাঝখানে একটি চরিত্র পরিবর্তন করতে বলা হয়), ফ্ল্যাশ নিয়ন্ত্রককে পুরানো ডেটা সমস্ত 64KB পড়তে এবং বাফার করতে হবে, এটি সমস্ত মুছে ফেলতে হবে, এবং নতুন বিষয়বস্তু ফিরে লিখুন। এটি খুব ধীর হবে, খণ্ডগুলি মুছে ফেলা হচ্ছে সবচেয়ে ধীর অভিযান। এছাড়াও, একটি বিভাগ কেবলমাত্র একটি সীমাবদ্ধ সময়ের দ্বারা মুছতে পারে (হাজার হাজার টি সাধারণ) তবে আপনি যদি একটি একক ফাইলে খুব বেশি পরিবর্তন করেন, যা দ্রুত ড্রাইভটি খারাপ করতে পারে।
তবে এটি এটি কিভাবে হয় না। বুদ্ধিমান ফ্ল্যাশ কন্ট্রোলাররা 4KB নতুন ডেটা অন্য কোথাও লেখেন এবং পুরাতন ব্লকের মাঝখানে এই 4KB ডেটাতে রিডিকেস ডাইরেক্ট করার জন্য একটি নোট তৈরি করুন। তাদের আরও কিছু জায়গা প্রয়োজন, যা আমরা পুনর্নির্দেশগুলি সম্পর্কে এই তথ্যটি সঞ্চয় করতে দেখতে পাই না। তারা ডেটা সঞ্চয় করার জন্য সমস্ত অ্যাক্সেসযোগ্য বিভাগের মধ্য দিয়ে যায় তা নিশ্চিত করার চেষ্টাও করে, এটিকে পরিধান সমতলকরণ বলা হয় ।
এর অর্থ হল সাধারণত পুরানো ডেটা এখনও কোথাও ড্রাইভে রয়েছে ! আপনি যদি স্রেফ সমস্ত অ্যাক্সেসযোগ্য ব্লকগুলি সাফ করে থাকেন তবে সমস্ত লুকানো ব্লক এখনও তথ্যের একটি সাম্প্রতিক সংস্করণ রাখে। এটি কোনও আক্রমণকারীটির কাছে অ্যাক্সেসযোগ্য কিনা আপনি নিজের ডেটা সুরক্ষিত রাখতে চান, এটি আলাদা প্রশ্ন।
আপনার যদি সাম্প্রতিক পর্যায়ে বিতরণ হয় এবং ইউএসবি ড্রাইভটি এটি ফ্ল্যাশ ড্রাইভ হিসাবে প্রকাশ করার জন্য প্রোগ্রাম করা হয় blkdiscard
তবে অন্তর্নিহিত TRIM
অপারেশনটি ব্যবহার করতে পারে যা আমরা উপরে উল্লিখিত অংশটি মুছে ফেলি। অদৃশ্য লুকানো ডেটা এমনকি হার্ডওয়্যার দ্বারা পুরোপুরি মুছে ফেলা হয়েছে তা নিশ্চিত করার জন্য এটির একটি অতিরিক্ত পতাকাও রয়েছে:
# blkdiscard -s /dev/myusbdevice
-s, - সুরক্ষিত একটি নিরাপদ বাতিল। একটি নিরাপদ বাতিল বাতিল নিয়মিত বাতিল হিসাবে একই যে বর্জ্য সংগ্রহের দ্বারা সম্ভবত তৈরি করা বাতিল করা ব্লকগুলির সমস্ত অনুলিপিও মুছতে হবে। এটির জন্য ডিভাইসটির সহায়তা প্রয়োজন।
এটি অগত্যা কার্যকর হবে না, যেমন আমি উপরে দেখিয়েছি। যদি আপনি পান তবে Operation not supported
হয় আপনার কার্নেল, আপনার ইউটিলিটিস, বা ইউএসবি গেটওয়ে চিপ (যা ফ্ল্যাশ নিয়ন্ত্রককে ইউএসবি মাধ্যমে ড্রাইভের মতো দেখতে দেয়) পাসিং TRIM
কমান্ড সমর্থন করে না । (ফ্ল্যাশ নিয়ন্ত্রক অবশ্যই তার নিজস্ব অংশগুলি মুছতে সক্ষম হবে)। যদি এটি আপনার ড্রাইভের বিক্রেতা দ্বারা সমর্থিত হয় তবে এটিই নিরাপদতম উপায়।
আরেকটি, আপনি যে কোনও জায়গায় পুরানো ডেটা কম রাখার অনুমতি দিচ্ছেন তা নিশ্চিত করার কম নিরাপদ উপায় হ'ল সম্ভব হলে এলোমেলো মান সহ এটি বেশ কয়েকবার ওভাররাইট করা।
কেন এলোমেলো, আপনি জিজ্ঞাসা? কেবলমাত্র কল্পনা করুন যে ইউএসবি ড্রাইভটি খুব বুদ্ধিমান হয়ে উঠেছে এবং আপনি সনাক্ত করেছেন যে আপনি কোনও সেক্টর সাফ করতে চেয়েছিলেন এবং একটি বিটম্যাপে পরিবর্তন করেছেন যে এই সেক্টরটি এখন ফ্রি, এবং পরে ক্লিয়ারিংয়ের প্রয়োজন হবে। এই উপায় হিসেবে এটা শূন্য লিখেছেন গতি বাড়াতে পারেন যাতে এটি একটি পেনড্রাইভ যে জন্য তোলে মনে হচ্ছে, আরও দক্ষ, ডান? আপনার ড্রাইভ এটি করছে কিনা তা বলা শক্ত।
সর্বাধিক চরমতম সময়ে, ড্রাইভটি কেবল আপনি যে ক্লিয়ার করেছেন সেখান থেকে কতটা স্মরণ করতে পারে এবং এটি করার জন্য আপনার প্রায় 4 বাইটের তথ্য সংরক্ষণ করা দরকার এবং আপনি যে ডেটা অদৃশ্য করতে চান তা থেকে কোনও কিছুই পরিষ্কার করা যায় না। এটি যাতে খুব দ্রুত দেখায় All
যদি আপনি এলোমেলো, অনির্দেশ্য মানের সাথে ডেটা ওভাররাইট করে থাকেন তবে এই অপটিমাইজেশন অসম্ভব। সুতরাং ড্রাইভটি নিশ্চিত করতে হবে যে ডেটা ফ্ল্যাশ চিপের ভিতরে সঞ্চিত রয়েছে। তবে আপনি এখনও এটি অস্বীকার করতে পারবেন না যে পূর্বে ব্যবহৃত কিছু সেক্টর এখনও রয়েছে আপনার কিছু পুরানো ডেটা সহ, তবে ড্রাইভটি এখনও এটি মুছতে গুরুত্বপূর্ণ মনে করেনি, কারণ এটি সাধারণত অ্যাক্সেসযোগ্য নয়। কেবল আসল TRIM
কমান্ডই তার গ্যারান্টি দিতে পারে।
এলোমেলোভাবে এলোমেলো মানগুলি স্বয়ংক্রিয় করতে, আপনি shred
যেমন:
# shred -vzn88 /dev/myusbdrive
ব্যবহৃত বিকল্পগুলি:
যদি সম্ভব হয় তবে উভয়ই ব্যবহার করুন blkdiscard
এবং shred
যদি blkdiscard -s
আপনার ড্রাইভ সমর্থন করে তবে এটি সর্বোত্তম সমাধান, তবে shred
ফার্মওয়্যারের ভুলগুলি বাতিল করার জন্য আগেই ক্ষতি করতে পারে না ।
ওহ, এবং সর্বদা আপনি যে ডিভাইসটি সাফ করার চেষ্টা করছেন তা ডাবল-ট্রিপল-চেক করুন! সর্বাধিক সন্নিবেশ করা ডিভাইসটি কী ছিল তা দেখতে dmesg সাহায্য করতে পারে এবং আপনি যে ডিভাইসটির নামটি সাফ করতে চান তা ls -al
এমনকি ডিভাইস নোড নম্বরগুলির জন্য এবং blkid
আউটপুটটি কী পার্টিশন উপলব্ধ হতে পারে তা যাচাই করে দেখার জন্য এটি মূল্যবান can পরিষ্কার করতে চান
কোনও অভ্যন্তরীণ ড্রাইভে আপনি কখনই এই আদেশগুলি ব্যবহার করতে চান তা ব্যবহার করবেন না - blkdiscard
কেবল শক্ত রাষ্ট্রের ড্রাইভে কাজ করবে, তবে ডেটা হারাতে চেষ্টা করার মতো নয়!
প্রযুক্তি অগ্রগতির সাথে সাথে নিরাপদে ডেটা সাফ করার অন্যান্য উপায়ও থাকতে পারে।
অন্য একটি উপায় উল্লেখ করা হ'ল এটিএ SECURITY ERASE
কমান্ড যা কমান্ডের মাধ্যমে জারি করা যায় hdparm
। আমার অভিজ্ঞতায় এটি ফ্ল্যাশ ড্রাইভে সত্যই সমর্থিত নয়। এটি এন্টারপ্রাইজ হার্ড ড্রাইভের জন্য ডিজাইন করা হয়েছিল এবং সর্বদা স্বল্প ব্যয় স্টোরেজ ডিভাইসে বৈশিষ্ট্যটি প্রয়োগ করা হয় না।
TRIM
/ DISCARD
অপারেশন তুলনায় অনেক নতুন হল SECURITY ERASE
কমান্ড এবং ফ্ল্যাশ বৈশিষ্ট্য প্রতিক্রিয়ায় তৈরি করা হয়েছে, তাই এটি প্রয়োগ করা হচ্ছে, সস্তা USB ড্রাইভ এমনকি একটি অনেক বেশী সুযোগ রয়েছে, কিন্তু এটি এখনও সর্বব্যাপী নয়। আপনি যদি কোনও ইউএসবি ডংলে কোনও এসডি / মাইক্রো এসডি কার্ডটি মুছতে চান এবং blkdiscard
এটি সমর্থিত নয় তবে প্রতিবেদন করতে পারেন, আপনি অন্য কোনও ডাঙ্গল / কার্ড রিডার চেষ্টা করতে পারেন, এবং / অথবা সরাসরি এসডি / এমএমসি স্লট সহ একটি মেশিনে এটি করতে পারেন ।
blkdiscard
ডেবিয়ান জেসি-তে রয়েছে এবং কেবলমাত্র উবুন্টুর সবচেয়ে সাম্প্রতিক দুটি প্রকাশে, তবে উবুন্টু এলটিএস 14.04 নয়। blkdiscard
প্যাকেজ util-linux
সংস্করণ ২.২৩ এ যুক্ত হয়েছিল ।
blkdiscard
সাথে কীভাবে তুলনা করা হয় (বিশেষত লিঙ্ক: ata.wiki.kernel.org/index.php/ATA_Secure_Erase )। hdparm
আমি বুঝতে পারি এটি সত্যই আপনার প্রশ্নের উত্তর নয়, তবে সবচেয়ে সহজ উপায় হ'ল ড্রাইভটি শারীরিকভাবে ধ্বংস করা (এটি বারবার ছোঁড়াছুঁকির সাথে সাধারণভাবে কৌতুক করে, তবে শিল্পক্রেডিং বা আগুন জ্বালানোও বিকল্প)। আপনি যদি সুরক্ষা সম্পর্কে যথেষ্ট উদ্বিগ্ন হয়ে থাকেন তা নিশ্চিত করে ডেটাটি অপ্রাপ্যযোগ্য তা নিশ্চিত করতে চান তবে সেই ডেটার মান সম্ভবত ড্রাইভের ব্যয়ের চেয়ে অনেক গুণ বেশি এবং শারীরিক পদ্ধতিটি সস্তা এবং নির্ভরযোগ্য।
প্রায় সমস্ত উপলব্ধ সুরক্ষিত-মোছা ফাংশনগুলি চৌম্বকীয় মিডিয়া স্পিনিংয়ের জন্য ডিজাইন করা হয়েছিল, যেখানে কম্পিউটার সাধারণত ফাইলের জন্য ব্যবহৃত ব্লকের শারীরিক অবস্থান [1] নির্ধারণ করতে পারে এবং সেই একই ব্লকগুলিতে লিখতে পারে। সলিড-স্টেট স্টোরেজ কন্ট্রোলার চিপগুলি সিস্টেম থেকে ডেটার দৈহিক অবস্থান বিমূর্ত করে এবং এটিকে চারপাশে স্থানান্তর করতে পছন্দ করে।
আপনার প্রশ্নটি সত্যই নির্ভর করে যে আপনার ডেটার পরে কে যাচ্ছে। যদি আপনি এলোমেলো ক্ষতি বা নৈমিত্তিক চুরি সম্পর্কে উদ্বিগ্ন হন তবে নিয়মিত ফর্ম্যাটটি ঠিক থাকবে। যদি আপনি কোনও উচ্চ অনুপ্রেরণাদায়ক, প্রযুক্তিগতভাবে সক্ষম ব্যবহারকারী তাদের নিষ্পত্তিযোগ্য পর্যাপ্ত সংস্থান সহ টার্গেট হওয়ার বিষয়ে উদ্বিগ্ন হন তবে [২] তারপরে কেবল ড্রাইভটি জ্বালিয়ে দিন এবং নতুনটির জন্য 10 ডলার ব্যয় করুন।
হ্যাঁ, লজিকাল ব্লক ম্যাপিং রয়েছে। তবে লজিক্যাল ব্লক এ সর্বদা শারীরিক ব্লক বি তে মানচিত্র করবে
এই ব্যক্তিটি ড্রাইভটি খুলবে, কার্ড থেকে মেমরি চিপটি টেনে আনবে এবং নিয়ামককে বাইপাস করে সরাসরি ফ্ল্যাশ মেমরি পড়ত
আমি জানি সবচেয়ে সহজ এবং দ্রুততম উপায়টি হ'ল পুরো ড্রাইভে জিরো (0) লিখুন:
dd if=/dev/zero of=/dev/sdX
/dev/sdX
আপনার থাম্বড্রাইভের ডিভাইস নোডটি কোথায় ?
কিছু আরও পুনরাবৃত্তি এবং অন্যান্য নিদর্শন সঙ্গে একটি আরও পুঙ্খানুপুঙ্খ প্রক্রিয়া প্রস্তাব। এটি করার জন্য নির্দিষ্ট ইউটিলিটি উপলব্ধ। GNU কোর্টিলস প্যাকেজটিতে shred
এই উদ্দেশ্যে বিশেষভাবে কমান্ড রয়েছে । অনেক লোকেরা এটিও ব্যবহার করে badblocks -w
যা e2fsprogs প্যাকেজের অংশ। ফ্রিবিএসডি-তে shred
ইউটিলিটিটি বলা gshred
হয় এবং সেগুলি /usr/ports/sysutils/coreutils
বা /usr/ports/sysutils/fileutils
বন্দরগুলির মধ্যে পাওয়া উচিত ।
আপনি যদি এটি পুনরায় ব্যবহার করার পরিকল্পনা করেন তবে এটি আপনার ফ্ল্যাশ ড্রাইভটি সুরক্ষিতভাবে মুছতে সক্ষম হবে: http://linux.die.net/man/1/scrub যদি না হয় তবে তা গলে ...